Generate videosVisual EffectsEdit videos

Luma API Pricing: Ray 3.2 API Docs and Cost Per Clip

Ray 3.2 costs $0.30 for a 5-second 720p clip on the Luma API and $1.20 at 1080p. See every SDR, HDR and EXR rate, the request format, rate limits, 429 errors and ways to cut the bill, plus a no-code route on PicassoIA.

Luma API Pricing: Ray 3.2 API Docs and Cost Per Clip
Cristian Da Conceicao
Founder of Picasso IA

A single 5-second 720p clip from Ray 3.2 costs $0.30 on the Luma API. Push the same clip to 1080p and the price jumps to $1.20. Add HDR and EXR export at 1080p and one five-second shot costs $3.60. Those numbers come straight from Luma's own Pricing page, and they decide whether a 200-clip project costs the price of a lunch or the price of a laptop. This article lays out every Ray 3.2 rate, walks through the API docs so you can send a first request, flags the parameter combinations the API rejects, and shows how to keep the invoice small. If you would rather skip the code entirely, there is also a section on running Ray 3.2 on PicassoIA from a browser.

💡 Luma states that video rates are subject to change ahead of general availability. Re-check the Pricing page at docs.agents.lumalabs.ai before you lock a budget.

Ray 3.2 API Pricing at a Glance

Luma bills Ray 3.2 by clip length and output quality, not by token count. Every generation lands in a fixed 5-second or 10-second block, and the price climbs with resolution and dynamic range. Text-to-video and image-to-video share one rate card, so a clip animated from a photo costs the same as one written from a prompt.

Producer comparing printed Ray 3.2 price numbers beside a laptop

Standard Dynamic Range Rates

Standard dynamic range (SDR) is the default output, and it is the rate most projects pay.

Resolution5-second clip10-second clipBest for
360p (draft)$0.06$0.18Testing prompts
540p$0.15$0.45Quick previews
720p$0.30$0.90Social posts and web
1080p$1.20$3.60Final delivery

The jump from 720p to 1080p deserves a second look. A 1080p frame holds 2.25 times the pixels of a 720p frame, yet the price rises 4 times. Unless the destination really shows 1080p, the cheaper tier is the smarter default.

HDR and EXR Export Rates

HDR is limited to 5-second clips at 720p or 1080p. EXR export, the raw colour file for professional grading, sits on top of HDR.

Mode720p1080p
SDR$0.30$1.20
HDR$0.60$2.40
HDR + EXR export$0.90$3.60

HDR doubles the SDR price, and adding EXR triples it. If the clip is headed to Instagram or a landing page, nothing in the viewing chain will show the extra range, so skip HDR and EXR and pay a third.

Reframe and Extend Rates

Two other operations have their own rates, both for standard dynamic range only.

  • Reframe (change the aspect ratio of an existing video) is billed per second: $0.03 at 360p, $0.06 at 540p, $0.12 at 720p and $0.36 at 1080p.
  • Extend from a single anchor frame bills as one 5-second block: $0.15 at 540p, $0.30 at 720p and $1.20 at 1080p.
  • Video edit has separate SDR, HDR and HDR + EXR rates with 5-second and 10-second tiers, all with higher base rates than plain generation. Read the exact edit numbers on the Pricing page.

Here is a number worth remembering. Reframing a 5-second 720p clip costs 5 × $0.12 = $0.60. Generating a fresh clip natively in 9:16 costs $0.30. If you only need the vertical version and not the exact original shot, generate it at the right ratio from the start.

What One Clip Really Costs

Brass stopwatch on film slates and a calculator

Cost Per Second by Tier

Dividing each block by its length gives a number that is easier to compare against other video tools.

TierBlock pricePer second
360p draft$0.06$0.012
540p$0.15$0.030
720p$0.30$0.060
1080p$1.20$0.240
720p HDR$0.60$0.120
1080p HDR$2.40$0.480
1080p HDR + EXR$3.60$0.720

One minute of finished footage built from twelve 5-second clips costs $3.60 at 720p and $14.40 at 1080p. That assumes you keep every take, which nobody does.

Two 5-Second Clips Beat One 10

A 10-second clip at 720p costs $0.90. Two 5-second clips cost $0.60. That makes the longer block 50% more expensive per second, and the same pattern holds at every resolution. At 1080p the gap is $3.60 against $2.40.

The 10-second option also comes with restrictions. The API rejects 10s together with HDR, a start frame, an end frame or loop. So the cheaper route is often the more flexible one too. Generate the first clip, grab its last frame, and pass that image as the start frame of the second clip so the motion continues without a visible jump.

Budget Examples

Cinema camera with an anamorphic lens on a soundstage

ProjectClipsSettingsCost
Social test batch40540p, 5s$6.00
Weekly channel100720p, 5s$30.00
Product launch reel601080p, 5s$72.00
Grading pipeline251080p HDR + EXR, 5s$90.00

Now add the part most budgets forget. If you keep one take in three, multiply by three. The weekly channel with 100 keepers becomes 300 generations, or $90 instead of $30.

Build that multiplier into every estimate you send to a client. A flat per-clip price looks cheap until a director asks for the fourth variation of the same shot. Track accepted clips against generated clips for the first week, and you get a real retry rate. That one figure makes every later forecast more honest.

Ray 3.2 API Docs Walkthrough

Luma publishes Ray 3.2 through its Agents API documentation. Three things matter before your first call: the base URL, the authentication header and the shape of the request.

Developer typing at a standing desk with code on two monitors

Base URL and Authentication

The base URL is https://agents.lumalabs.ai/v1. Authentication uses a bearer token in the Authorization header. Store the token in an environment variable and never commit it to a repository. Official SDKs exist for Python and TypeScript (both named luma-agents) and for Go (luma-agents-go), plus a command-line tool.

The Generation Request

Everything starts with POST /v1/generations. Three fields are required:

  • model: set to "ray-3.2"
  • type: set to "video"
  • prompt: 1 to 6,000 characters describing subject, motion, camera movement, lighting and pacing

Optional fields tune the output. aspect_ratio accepts 9:16, 3:4, 1:1, 4:3, 16:9 or 21:9. The video object takes resolution (360p, 540p, 720p by default, or 1080p), duration ("5s" by default or "10s"), plus hdr and loop booleans.

curl https://agents.lumalabs.ai/v1/generations \
  -H "Authorization: Bearer $LUMA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "ray-3.2",
    "type": "video",
    "prompt": "Slow dolly shot through a misty greenhouse at sunrise",
    "aspect_ratio": "16:9",
    "video": { "resolution": "720p", "duration": "5s" }
  }'

That request bills at $0.30: 720p, 5 seconds, standard dynamic range.

Polling the Job Status

A successful submit returns HTTP 201 with the state queued. Poll GET /v1/generations/{id} until the job reaches a final state, either success or failed. On success the output includes a presigned URL to the MP4. Presigned links are temporary by design, so copy the file to your own storage right away.

Plan for roughly 80 to 200 seconds per clip. The example runs on PicassoIA's Ray 3.2 page took between 79 and 204 seconds, so polling every 5 to 10 seconds is plenty.

Parameter Rules That Trigger Errors

A rejected request wastes a round trip, and a misunderstood rule wastes an afternoon. Luma's docs spell out which options cannot be combined.

HDR, Loop and 10s Conflicts

OptionRejected together with
10s durationHDR, start frame, end frame, loop
HDR360p, 540p, 10s, loop
Loop10s, HDR, end frame, multi-frame control
360p or 540pHDR

Validate these rules in your own code before calling the API. A small function that checks the combination takes ten minutes to write and removes a whole class of failed jobs.

Rate Limits and 429 Errors

Quiet server room aisle lined with black racks

Two independent limits apply to POST /v1/generations:

  1. Requests per minute (RPM): the maximum number of requests in a 60-second sliding window.
  2. Concurrent jobs: the maximum number of active generations at any moment.

Luma does not publish exact numbers. Your limits depend on your plan and appear in the Luma platform dashboard. Both limits return HTTP 429, and the response body tells them apart.

SituationBody detailHeaders
RPM exceeded"Rate limit exceeded"Retry-After, X-RateLimit-Limit, X-RateLimit-Remaining: 0
Concurrent jobs exceeded"Too many concurrent jobs"Retry-After: 60, no X-RateLimit-* headers
Accepted (201)n/aX-RateLimit-Remaining, X-RateLimit-Reset

Size a semaphore in your worker to the concurrency limit shown in your dashboard, and honour Retry-After instead of retrying on a fixed timer. Spread a large batch across the minute instead of firing every request at once, and the RPM window stops being a problem.

Ways to Keep the Bill Low

Draft at 360p First

The 360p draft tier costs $0.06, one fifth of a 720p clip and one twentieth of a 1080p clip. Test every prompt there, then promote only the winners.

Filmmaker sorting storyboard frames marked with red pen

Take 25 shots you need at 1080p. Rendering all 25 straight at 1080p costs $30.00. Rendering 20 drafts ($1.20) and promoting 5 winners to 1080p ($6.00) costs $7.20, a saving of 76%.

One caution: a draft is a separate generation, so treat it as a test of the prompt and the motion idea, not as a pixel-exact preview. Check whether a re-render keeps the same shot before you plan a pipeline around it.

💡 Put a hard retry limit in your worker: three attempts, then stop and log the prompt. A loop that resubmits on every failure turns a $0.30 mistake into a real invoice.

Match Resolution to Destination

DestinationSettingCost per 5s
Vertical social story720p, 9:16$0.30
Website hero background720p, loop$0.30
YouTube B-roll1080p, 16:9$1.20
Colour grading pipeline1080p HDR + EXR$3.60

Set aspect_ratio at generation time instead of reframing later, and use the loop flag for background clips instead of stitching a loop by hand.

Aerial view of a film crew on a coastal cliff at golden hour

Ray 3.2 Without Writing Code

The API suits a product or a scheduled pipeline. For a one-off project, a browser interface removes the token handling, the polling loop and the rate-limit code. PicassoIA hosts Ray 3.2, so you pick settings from a form and download the MP4.

PicassoIA also has its own Replicate-style API. At the time of writing it exposes four PicassoIA models, including PicassoIA Video and Seedance 2.5 Lite. Ray 3.2 is not on that list, so it stays in the web interface.

Content creator smiling at a laptop in a bright home studio

What PicassoIA Gives You

ControlOptions
Resolution540p, 720p, 1080p
Duration5s or 10s
Aspect ratio9:16, 3:4, 1:1, 4:3, 16:9, 21:9
HDR720p or 1080p, 5s only
EXR exportRequires HDR
LoopNot with 10s, HDR or an end image
Start image and end image5s only

The same combination rules as Luma's API apply. One difference: the PicassoIA form does not list the 360p draft tier. Check your plan on PicassoIA for how Ray 3.2 generations are counted.

How to Use Ray 3.2 on PicassoIA

  1. Open the Ray 3.2 model page.
  2. Write a prompt that names the subject, the motion, the camera movement, the lighting and the pacing.
  3. Start at 720p and 5 seconds while you test.
  4. Choose an aspect ratio, or upload a start image to animate a photo.
  5. Switch on HDR or loop only if the rules above allow it.
  6. Generate, review the clip, adjust the prompt and run again. Once the motion looks right, re-render at 1080p.

A prompt that works well on the model page: "Slow cinematic dolly shot through a misty greenhouse at sunrise, golden sun rays filtering through condensation on vintage glass panels, lush ferns and orchids, anamorphic lens flares."

Cheaper and Free Alternatives

Colourist's hands on a grading console in front of a reference monitor

Ray 3.2 is not the only way to get cinematic motion, and at $1.20 per 1080p shot it is not always the cheapest. These PicassoIA models handle the same text-to-video and image-to-video jobs:

ModelWhat the listing says
Ray Flash 2 720pFree text-to-video generator from the same Luma family
Ray 2 720p720p AI videos from text
Seedance 2.5 LiteFree and unlimited, up to 10 seconds
PicassoIA VideoFree unlimited video from text or image
Veo 3.1 Fast1080p video from text
Kling v3 VideoCinematic video generation
Sora 2Text-to-video with synced audio

A practical split: prototype on a free model, then spend Ray 3.2 credits on the shots that need HDR, EXR or the 21:9 frame. PicassoIA also lists video upscaling and super resolution categories on its all models page. It is worth testing whether a 720p Ray 3.2 clip, upscaled, meets your quality bar before paying the 4× rate for native 1080p.

Run Your First Clip Today

The numbers are simple once they sit side by side. 720p costs $0.30, 1080p costs $1.20, HDR doubles the price, EXR triples it, and two 5-second clips beat one 10-second clip. Draft at 360p, generate at the aspect ratio you need and cap your retries.

Open Ray 3.2 on PicassoIA, run one 720p prompt, then feed the exact same prompt to Ray Flash 2 720p and Seedance 2.5 Lite. Three clips side by side will tell you more about price versus quality than any rate card. Create your own now at picassoia.com.

Share this article