API Free WeekHundreds of APIs are free to call this week.Browse free APIs

Luma Ray 3.2 Text to Video

luma/agent/ray/3.2/text-to-video

Agent Ray 3.2 is Luma's text-to-video AI model. Turn written scripts and prompts into professional-quality video clips with realistic motion, lighting, and scene composition.

Base price
$0.50USD / run
Execution
async
Model type
video
Input fields
7

Try the model

Playground

Open playground
Input
Text prompt describing the video to generate.
The aspect ratio of the generated image. Allowed values: 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16.
Resolution of the generated video. Higher resolutions cost more. Allowed values: 540p, 720p, 1080p.
Duration of the generated video.
Generate a seamless loop. Only valid for 5s, standard-dynamic-range generations without an end frame.
Generate an HDR-encoded MP4. Requires HDR access on the account and a resolution of 720p or 1080p; not supported with 10s or loop.
Also export an EXR file alongside the MP4. Requires hdr=true and HDR access.
OutputReady

Your output will appear here

Complete the inputs, then click Run.

Specifications

Pricing

Base price
$0.50 / run
Billing formula
((params.duration ?? "5s") == "10s" ? 2 : 1) * ((params.resolution ?? "540p") == "1080p" ? 2.0 : (params.resolution ?? "540p") == "720p" ? 1.0 : 0.5)

Context & modalities

Input
Schema-defined
Output
video

Capabilities

Chat
Not supported
Vision
Not supported
Reasoning
Not supported
Structured output
Not supported
Function calling
Not supported
Audio input
Not supported

Access

Provider
Luma
Model ID
luma/agent/ray/3.2/text-to-video
Execution
async
API
Unified Run API
Endpoint
/v1/run

API README

PRICED DRAFT — MANUAL REVIEW REQUIRED exact_model_mode: luma/agent/ray/v3.2/text-to-video original_unit: For 5s video your request will cost $0.50 for 540p, $1 for 720p and $2 for 1080p. For 10s, $1 at 540p, $2 at 720p and $4 at 1080p. For $1 you can run this model approximately 2 times (540p/5s). method: complete duration/resolution tiers result_base_price: 0.5 result_price_formula: ((params.duration ?? "5s") == "10s" ? 2 : 1) * ((params.resolution ?? "540p") == "1080p" ? 2.0 : (params.resolution ?? "540p") == "720p" ? 1.0 : 0.5) review_status: pending; model remains disabled checked_at: 2026-08-16

Start building

Send your first request

OpenAI-compatible endpoint with unified authentication and usage tracking.

Production API
Unified Run API endpoint
https://api.sandbase.ai/v1/run
Model ID
luma/agent/ray/3.2/text-to-video
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
  -X POST "https://api.sandbase.ai/v1/run" \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'SANDBASE_JSON'
{
  "model": "luma/agent/ray/3.2/text-to-video",
  "hdr": false,
  "loop": false,
  "prompt": "A herd of wild horses galloping across a dusty desert plain under a blazing midday sun, their manes flying in the wind; wide tracking shot.",
  "duration": "5s",
  "exr_export": false,
  "resolution": "540p"
}
SANDBASE_JSON
)
run_id=$(printf '%s' "$result" | jq -r .id)
for attempt in $(seq 1 120); do
  status=$(printf '%s' "$result" | jq -r .status)
  case "$status" in completed|failed|timeout) break ;; esac
  sleep 2
  result=$(curl --fail-with-body --silent \
    -H "Authorization: Bearer $SANDBASE_API_KEY" \
    "https://api.sandbase.ai/v1/run/$run_id")
done
status=$(printf '%s' "$result" | jq -r .status)
[ "$status" = completed ] || { echo "Generation ended: $status" >&2; exit 1; }
printf '%s\n' "$result"

Choose your model

Compare models

All language models
ModelContextInput / 1MOutput / 1MReleased
Luma———Jun 9, 2026
Luma———Jun 9, 2026