Pricing
Pay-as-you-go and Provisioned Throughput pricing for the Luma Agents API — image (uni-1, uni-1-max) and video (Ray 3.2).
The Luma Agents API has two pricing options. Pick the one that matches how you’ll use the API.
- Pay-as-you-go — pay per generation. Images are priced per image; videos are priced by request type, resolution, dynamic range, and duration. No minimum spend, no contract. Best for prototypes and lower-volume workloads.
- Provisioned Throughput — guaranteed capacity and a latency SLA, billed monthly. Best for production workloads at scale.
You can switch tiers as you scale.
Pay-as-you-go
Section titled “Pay-as-you-go”For developers, startups, and smaller teams who want to experiment, prototype, or run lower-volume workloads. You pay per image, with no minimum spend and no contract.
Capacity is shared, so during peak periods you may hit rate limits and there is no latency SLA. If you need guaranteed capacity or consistent latency, use Provisioned Throughput instead.
uni-1 — per-image pricing
Section titled “uni-1 — per-image pricing”All requests output at 2048-pixel (2K) resolution.
| Task | Price per image |
|---|---|
| Text to image | $0.0404 |
| Image edit (image to image) | $0.0434 |
| Image reference (1 image) | $0.0434 |
| Image reference (2 images) | $0.0464 |
| Image reference (3 images) | $0.0494 |
| Image reference (4 images) | $0.0524 |
| Image reference (5 images) | $0.0554 |
| Image reference (6 images) | $0.0584 |
| Image reference (7 images) | $0.0614 |
| Image reference (8 images) | $0.0644 |
| Image reference (9 images) | $0.0674 |
Each extra reference image adds $0.0030 on top of the 1-image price. Note: image_edit requests support up to 8 reference images (the source occupies one slot); image requests support up to 9.
uni-1-max — per-image pricing
Section titled “uni-1-max — per-image pricing”uni-1-max produces higher-quality output than uni-1. Same prompts, same parameters, same wire format — uni-1-max is a drop-in replacement for uni-1 when you want better images. All requests output at 2048-pixel (2K) resolution.
| Task | Price per image |
|---|---|
| Text to image | $0.1000 |
| Image edit (image to image) | $0.1030 |
| Image reference (1 image) | $0.1030 |
| Image reference (2 images) | $0.1060 |
| Image reference (3 images) | $0.1090 |
| Image reference (4 images) | $0.1120 |
| Image reference (5 images) | $0.1150 |
| Image reference (6 images) | $0.1180 |
| Image reference (7 images) | $0.1210 |
| Image reference (8 images) | $0.1240 |
| Image reference (9 images) | $0.1270 |
Each extra reference image adds $0.0030 on top of the 1-image price. uni-1-max is available to all accounts — pass "model": "uni-1-max" on POST /v1/generations.
ray-3.2 — per-video pricing
Section titled “ray-3.2 — per-video pricing”Ray 3.2 video is priced by duration at a rate that depends on request type, resolution, and dynamic range. Text-to-video / image-to-video, video edits, single-keyframe extend, and reframe each have distinct billing rules.
type: "video" uses the video-generation tier; type: "video_edit" uses the video-edit tier. Single-keyframe extend and type: "video_reframe" each price on their own standard-only tier — HDR and EXR never apply to them.
Video generation
Section titled “Video generation”This tier covers text-to-video, image-to-video, and image-frame interpolation with type: "video". Standard dynamic range has separate 5-second and 10-second totals.
Standard dynamic range — the default. Applies when video.hdr is omitted or false.
| Resolution | Price per 5s | Price per 10s (type: "video") |
|---|---|---|
360p (draft) | $0.0600 | $0.1800 |
540p | $0.1500 | $0.4500 |
720p | $0.3000 | $0.9000 |
1080p | $1.2000 | $3.6000 |
HDR (type: "video" only) — set video.hdr: true. HDR is restricted to 720p/1080p and 5-second duration — 540p and 10s are both rejected, so HDR clips are always priced at the 5-second rate.
| Resolution | Price per 5s |
|---|---|
720p | $0.6000 |
1080p | $2.4000 |
HDR + EXR export (type: "video" only) — set video.hdr: true and video.exr_export: true. Produces an EXR file alongside the MP4. Same 720p/1080p and 5s-only constraints as HDR.
| Resolution | Price per 5s |
|---|---|
720p | $0.9000 |
1080p | $3.6000 |
Single-keyframe extend
Section titled “Single-keyframe extend”Extend is standard dynamic range only. It always bills as one 5-second block, even if video.duration is present on the request.
| Resolution | Price per extend |
|---|---|
540p | $0.1500 |
720p | $0.3000 |
1080p | $1.2000 |
Video reframe
Section titled “Video reframe”Reframe is standard dynamic range only and bills per second.
| Resolution | Price per second |
|---|---|
360p (draft) | $0.0300 |
540p | $0.0600 |
720p | $0.1200 |
1080p | $0.3600 |
Video edit
Section titled “Video edit”Video edits use their own rate table. Standard, HDR, and HDR + EXR edits each have separate 5-second and 10-second totals.
Standard dynamic range:
| Resolution | Price per 5s | Price per 10s |
|---|---|---|
360p (draft) | $0.5400 | $1.0800 |
540p | $0.7200 | $1.4400 |
720p | $1.0800 | $2.1600 |
1080p | $2.1600 | $4.3200 |
HDR — set video.hdr: true.
| Resolution | Price per 5s | Price per 10s |
|---|---|---|
360p (draft) | $1.0800 | $2.1600 |
540p | $1.4400 | $2.8800 |
720p | $2.1600 | $4.3200 |
1080p | $4.3200 | $8.6400 |
HDR + EXR export — set video.hdr: true and video.exr_export: true.
| Resolution | Price per 5s | Price per 10s |
|---|---|---|
360p (draft) | $1.6200 | $3.2400 |
540p | $2.1600 | $4.3200 |
720p | $3.2400 | $6.4800 |
1080p | $6.4800 | $12.9600 |
Provisioned Throughput
Section titled “Provisioned Throughput”For production workloads where you need guaranteed capacity, predictable latency, and no contention with other users. Pricing is based on requests per minute (RPM).
- 1 unit = 1 RPM on
uni-1 - 1 unit = 0.4 RPM on
uni-1-max - Video (
ray-3.2) bills against a separate capacity class — contact sales for video Provisioned Throughput pricing
So 10 units gives you 10 concurrent requests per minute on uni-1, or 4 on uni-1-max. Minimum commitment is 8 units. Longer commitments unlock larger discounts.
| Commitment | $ / unit / month | Effective per-image cost (uni-1 / uni-1-max) |
|---|---|---|
| 1 month | $3,800 | $0.088 / $0.220 |
| 3 months | $2,800 | $0.065 / $0.163 |
| 1 year | $2,100 | $0.049 / $0.123 |
Provisioned Throughput plans include a no-train guarantee — data processed through Provisioned Throughput is never used to train Luma models.
Annual commitments at higher volumes unlock additional discounts. Contact sales for a custom quote.
Which one should I pick?
Section titled “Which one should I pick?”Start with Pay-as-you-go if you’re prototyping or running variable workloads. Move to Provisioned Throughput when you need guaranteed capacity and consistent latency. You can switch tiers as you scale.
| Pay-as-you-go | Provisioned Throughput | |
|---|---|---|
| Billing | Per image | Monthly, per unit |
| Minimum spend | None | 8 units |
| Contract | None | 1 month, 3 months, or 1 year |
| Capacity | Shared | Dedicated |
| Rate limits | Yes — see Rate limits | None up to your purchased RPM |
| Latency SLA | No | Yes |
| No-train guarantee | No | Yes |
Failed generations
Section titled “Failed generations”Synchronous errors are never charged; the reserve is released the moment the request is rejected. For asynchronous failures, the charge depends on the failure_code:
failure_code | Charge |
|---|---|
content_moderated | Refunded |
generation_failed | Refunded |
output_not_found | Refunded |
budget_exhausted | Partial charge possible |
See Error handling for the full list.
Next steps
Section titled “Next steps”- Quickstart — Submit your first generation
- Models — Capabilities and per-model pricing for
uni-1,uni-1-max,ray-3.2 - Video generation — Ray 3.2 text-to-video and image-to-video
- Video editing — Ray 3.2 video editing
- Rate limits — Default limits and request behavior
- FAQ — Common questions
- Error handling — Every error code with troubleshooting