Ray 3.2 API

luma/ray-3.2
Ray 3.2 is Luma AI's most advanced video generation model, featuring multi-resolution support, HDR and HDR+EXR color modes, video editing, and reframe — built for professional cinematic workflows.
Output
$5.616 / gen
Released
Jun 9, 2026

Overview

Ray 3.2 API Overview

Ray 3.2 is Luma AI's most advanced video generation model. It introduces HDR and HDR+EXR color modes, multi-resolution output from 360p to 1080p, video editing, and reframe — all through a single API. Compared to Ray 2, Ray 3.2 delivers superior motion coherence, lighting accuracy, and cinematic-grade color grading.

Technical Specifications

  • Supported tasks: Text-to-video, image-to-video, video editing, video reframe
  • Resolution: 360p, 540p, 720p, 1080p
  • Duration: 5s or 10s (SDR); 5s only (HDR / HDR+EXR)
  • Color modes: SDR, HDR, HDR+EXR
  • Motion quality: Enhanced camera movement with advanced relighting and temporal consistency

Performance Benchmarks
[embed]

Ray 3.2 API Pricing

Generation (SDR):

  • 360p — 5s: $0.078 · 10s: $0.234
  • 540p — 5s: $0.195 · 10s: $0.585
  • 720p — 5s: $0.39 · 10s: $1.17
  • 1080p — 5s: $1.56 · 10s: $4.68

HDR / HDR+EXR (5s only):

  • 720p HDR: $0.78 · 720p HDR+EXR: $1.17
  • 1080p HDR: $3.12 · 1080p HDR+EXR: $4.68

Video Edit (SDR):

  • 360p — 5s: $0.702 · 10s: $1.404
  • 540p — 5s: $0.936 · 10s: $1.872
  • 720p — 5s: $1.404 · 10s: $2.808
  • 1080p — 5s: $2.808 · 10s: $5.616

Video Reframe (per second):

  • 360p: $0.039 · 540p: $0.078 · 720p: $0.156 · 1080p: $0.468

Code Sample
[embed]

Comparison with Other Models

  • vs Ray 2: Ray 3.2 adds HDR modes, multi-resolution tiers, video editing, and reframe. Choose Ray 3.2 for professional and cinematic workflows.
  • vs Ray Flash 2: Ray Flash 2 is faster and cheaper for high-volume generation. Choose Ray 3.2 when quality is the priority.

‍

Use cases

Cinematic key art and trailers are documented as a use case, including generating hero shots, testing alternate looks on the same blocking, and reframing for theatrical or social formats.

Game cinematics and capsule art are documented as a use case, including animating a hero still for in-game cutscenes or store capsule loops.

Restyling approved footage is documented as a use case, especially when the shot is already approved but needs a different palette or era while preserving the performance.

Aspect ratio variants for cross-platform delivery are documented as a use case, including cutting one master and reframing it for Reels, TikTok, feeds, and premium hero placements.

How to use Ray 3.2 API

Install any OpenAI-compatible SDK, point it at api.aimlapi.com/v1, and set the model to luma/ray-3.2.
import requests, time

headers = {"Authorization": "Bearer " + AIMLAPI_KEY}
job = requests.post(
    "https://api.aimlapi.com/v2/video/generations",
    headers=headers,
    json={
      "model": "luma/ray-3.2",
      "prompt": "A serene timelapse of clouds over a mountain range"
    },
).json()
gid = job["id"]

while True:
    res = requests.get(f"https://api.aimlapi.com/v2/video/generations?generation_id={gid}", headers=headers).json()
    if res.get("status") in ("completed", "error"):
        break
    time.sleep(5)
print(res["video"]["url"])
const headers = {
  Authorization: `Bearer ${process.env.AIMLAPI_KEY}`,
  "Content-Type": "application/json",
};
const job = await (await fetch("https://api.aimlapi.com/v2/video/generations", {
  method: "POST",
  headers,
  body: JSON.stringify({
    "model": "luma/ray-3.2",
    "prompt": "A serene timelapse of clouds over a mountain range"
  }),
})).json();

let res;
do {
  await new Promise((r) => setTimeout(r, 5000));
  res = await (await fetch(`https://api.aimlapi.com/v2/video/generations?generation_id=${job.id}`, { headers })).json();
} while (!["completed", "error"].includes(res.status));
console.log(res.video.url);
# submit the generation — the response contains the job "id"
curl -X POST https://api.aimlapi.com/v2/video/generations \
  -H "Authorization: Bearer $AIMLAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"luma/ray-3.2","prompt":"A serene timelapse of clouds over a mountain range"}'

# then poll until status is "completed" — video.url holds the result
curl "https://api.aimlapi.com/v2/video/generations?generation_id={id}" -H "Authorization: Bearer $AIMLAPI_KEY"

OpenAI-compatible — swap the base URL and it works with your existing SDK.

Ray 3.2 API Pricing

TypePrice
Output
$5.616 / gen

Ray 3.2 vs other models

ModelInputOutputContextBest for
Ray 3.2
This page
$5.616 / gen
Video generation
$0.78 / sec (variable)
Video generation
$1.95 / 1M tokens
$0.131768 / sec
Video generation
$1.014 / sec
Cinematic video + native audio

Frequently asked questions

Ray 3.2 takes image, text, video as input and returns video.

Ray 3.2 is priced at $0.06 / 1M px.

Ray 3.2 is billed per generation — a fixed charge per output rather than by prompt length.

Yes, Ray 3.2 accepts image input as well as a text prompt.

Ray 3.2 was built by Luma AI.

Use luma/ray-3.2 as the model id on AI/ML API.

Yes. Ray 3.2 is served through AI/ML API, so the same key and endpoint format used for other models applies.

Start building with Ray 3.2

Get API Key
1000+ models, one API.