Luma's Ray Flash 2 generates 5 or 9 second 720p videos faster and cheaper than Ray 2. Supports keyframe control via start and end images, seamless loops, and a rich library of camera motion concepts โ the first Luma model on the platform.
Test this model instantly in the Console Playground โ no code required
Copy usage instructions for Claude, ChatGPT, or other AI
curl -X POST "https://api.core.today/v1/predictions" \
-H "Content-Type: application/json" \
-H "X-API-Key: cdt_your_api_key" \
-d '{
"model": "luma/ray-flash-2-720p",
"input": {
"loop": false,
"prompt": "A cinematic anime character intimate closeup, she is sitting at a cafe on a busy city street in the morning, it is cold",
"duration": 5,
"aspect_ratio": "16:9"
}
}'| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
prompt | string | Yes | - | Text prompt for video generation |
loop | boolean | No | false | Whether the video should loop, with the last frame matching the first frame for smooth, continuous playback |
concepts | array | No | - | List of camera concepts to apply, e.g. orbit_left, dolly_zoom, aerial_drone, crane_up, push_in, handheld, tiny_planet (34 total) |
duration | integer | No | 5 | Duration of the video in seconds 59 |
end_image | string | No | - | An optional last frame of the video to use as the ending frame |
start_image | string | No | - | An optional first frame of the video to use as the starting frame |
aspect_ratio | string | No | 16:9 | Aspect ratio of the generated video 1:13:44:39:1616:99:2121:9 |
end_image_url | string | No | - | Deprecated: Use end_image instead |
start_image_url | string | No | - | Deprecated: Use start_image instead |
There are 3 ways to provide files for the end_imagestart_image parameters:
Attach files directly to POST /v1/predictions/upload. No separate upload step needed.
curl -X POST "https://api.core.today/v1/predictions/upload" \
-H "X-API-Key: cdt_your_api_key" \
-F "model=luma/ray-flash-2-720p" \
-F 'input={"prompt":"your prompt here"}' \
-F "file:end_image=@your_file.png"Pass a publicly accessible URL directly. You can also use file_url from the Storage API.
{
"model": "luma/ray-flash-2-720p",
"input": {
"prompt": "your prompt here",
"end_image": "https://example.com/image.jpg"
}
}Common parameters used when calling POST /v1/predictions.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
model | string | Yes | - | Model identifier |
input | object | Yes | - | Object containing the model-specific parameters from the table above |
output_folder | string | No | - | Folder path for output files (max 256 chars, '..' not allowed) |
webhook_url | string | No | - | Webhook URL to call on completion |
is_public | boolean | No | false | If true, output files are also available via permanent public URLs |
Text-to-video at the default 5 second duration โ 450 credits
curl -X POST "https://api.core.today/v1/predictions" \
-H "Content-Type: application/json" \
-H "X-API-Key: cdt_your_api_key" \
-d '{
"model": "luma/ray-flash-2-720p",
"input": {
"loop": false,
"prompt": "A cinematic anime character intimate closeup, she is sitting at a cafe on a busy city street in the morning, it is cold",
"duration": 5,
"aspect_ratio": "16:9"
}
}'A looping clip with an orbiting camera concept, ideal for background video
curl -X POST "https://api.core.today/v1/predictions" \
-H "Content-Type: application/json" \
-H "X-API-Key: cdt_your_api_key" \
-d '{
"model": "luma/ray-flash-2-720p",
"input": {
"prompt": "A glass terrarium with a miniature rainforest inside, soft mist drifting between tiny trees",
"loop": true,
"duration": 5,
"aspect_ratio": "1:1",
"concepts": [
"orbit_left"
]
}
}'POST /v1/predictions