Skip to main content
LumaMediumUltra

Luma Ray 3.2

Luma's flagship Ray video model. Text-to-video and keyframe (start/end image) generation with optional HDR-encoded output and professional EXR export.

1050 credits
per video, tiered by resolution, duration, and HDR
Flagship text-to-video generation with detailed prompt control
Keyframe mode using start/end images to anchor the first and last frame
HDR-encoded MP4 output for wider dynamic range
Professional EXR export alongside the MP4 for color-grading pipelines
Seamless looping video option
Multiple resolutions (540p/720p/1080p) and durations (5s/10s)

Run it right now

Test this model instantly in the Console Playground โ€” no code required

Sign in to try

Use with AI Assistant

Copy usage instructions for Claude, ChatGPT, or other AI

Quick Start

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-3.2",
  "input": {
    "prompt": "A slow aerial pull-back over a misty mountain valley at sunrise, warm golden light breaking through the clouds.",
    "resolution": "1080p",
    "duration": 5,
    "hdr": true,
    "exr_export": true
  }
}'

Parameters

ParameterTypeRequiredDefaultDescription
promptstringYes-Text prompt describing the video. Be specific about subject, motion, camera movement, lighting, and pacing.
aspect_ratiostringNo16:9Aspect ratio of the generated video. Ignored when start_image or end_image is set โ€” the model derives the ratio from the anchor frame(s).
9:163:41:14:316:921:9
resolutionstringNo720pOutput resolution. 540p is not available when hdr is true.
540p720p1080p
durationintegerNo5Video duration in seconds. 10s is not supported with hdr, start_image, end_image, or loop.
510
hdrbooleanNofalseGenerate HDR-encoded MP4. Requires 720p or 1080p, 5s duration, and no loop.
exr_exportbooleanNofalseExport an EXR file alongside the MP4 for professional colour-grading workflows. Requires hdr=true.
loopbooleanNofalseGenerate a seamlessly looping video. Not supported with 10s duration, hdr, or end_image.
start_imagestringNo-Optional first frame of the video. Only valid with 5s duration.
end_imagestringNo-Optional last frame of the video. Only valid with 5s duration; not supported with loop.

How to Provide File Input

There are 3 ways to provide files for the start_imageend_image parameters:

Recommended

Direct Upload (Multipart)

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-3.2" \
  -F 'input={"prompt":"your prompt here"}' \
  -F "file:start_image=@your_file.png"

Image URL

Pass a publicly accessible URL directly. You can also use file_url from the Storage API.

{
  "model": "luma/ray-3.2",
  "input": {
    "prompt": "your prompt here",
    "start_image": "https://example.com/image.jpg"
  }
}
See the File Upload docs for more upload methods including Presigned URLs.

Common Parameters

Common parameters used when calling POST /v1/predictions.

ParameterTypeRequiredDefaultDescription
modelstringYes-Model identifier
inputobjectYes-Object containing the model-specific parameters from the table above
output_folderstringNo-Folder path for output files (max 256 chars, '..' not allowed)
webhook_urlstringNo-Webhook URL to call on completion
is_publicbooleanNofalseIf true, output files are also available via permanent public URLs

Examples

Cinematic HDR text-to-video

Generate a 5-second HDR clip for a color-grading pipeline.

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-3.2",
  "input": {
    "prompt": "A slow aerial pull-back over a misty mountain valley at sunrise, warm golden light breaking through the clouds.",
    "resolution": "1080p",
    "duration": 5,
    "hdr": true,
    "exr_export": true
  }
}'

Keyframe transition between two shots

Anchor a video with a start and end image to control the exact first and last frame.

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-3.2",
  "input": {
    "prompt": "Smooth camera dolly transitioning from the empty street to the crowded market.",
    "start_image": "https://example.com/street-empty.jpg",
    "end_image": "https://example.com/street-crowded.jpg",
    "duration": 5
  }
}'

Tips & Best Practices

1hdr requires 720p or 1080p, a 5-second duration, and loop disabled โ€” 10-second clips and 540p aren't compatible with HDR.
2exr_export only works when hdr is true; use it when you need to hand footage to a professional color-grading pipeline.
3When start_image or end_image is set, aspect_ratio is ignored โ€” the ratio comes from the anchor image(s) instead.
410-second duration can't be combined with hdr, start_image, end_image, or loop โ€” pick 5s if you need any of those features.

Use Cases

Professional/HDR footage for post-production color-grading pipelines
Keyframe-driven brand or product shots with precise start/end composition
Cinematic text-to-video content with detailed camera and lighting direction
Seamlessly looping background visuals for websites or displays