Luma generation states and callback_url vs Sume statuses
Luma's Dream Machine API reports dreaming, completed and failed, with a callback_url POST. How that maps to Sume's queued, processing and completed.

Luma's video generation docs list the generation states as dreaming, completed and failed, and say you can pass a callback_url to receive POST updates with the status and the video URL when it finishes. Sume has five job states, queued, processing, completed, failed and canceled, and sends terminal events only.
The mapping
The three Luma states leave no name for a canceled job, and none for a job that has been accepted but not started. Sume's queued covers the second case, and for paid generation it is a normal accepted state while the job waits for a free concurrency slot.
| Luma | Sume `/v1/jobs` | Terminal |
|---|---|---|
dreaming | queued then processing | No |
completed | completed | Yes |
failed | failed | Yes |
| Not listed | canceled | Yes |
The callback
On the callback side, Luma's page says the POST carries status and the video URL. Sume's webhook sends one of job.completed, job.failed or job.canceled with a request_id, a job_id, a status of OK or ERROR, and the artifacts or an error. The delivery is signed, and the webhook page recommends keeping status_url polling as a fallback.
Progress UI
Do not build a UI around a progress state that only one side has. Luma's single in-flight word hides queue time, and Sume's two non-terminal states do not report a percentage. Show the user a spinner and an elapsed time, and rely on the terminal event.
- Treat anything non-terminal as waiting.
- Stop on
completed,failedand, on Sume,canceled. - Verify the signature on Sume callbacks before you trust them.
- Keep a polling sweep for jobs that never call back.
Sources
Related posts
More in Developers
- Luma modify video: ray-flash-2 15 seconds, ray-2 10, 100 MB
Luma's Modify Video allows 15 seconds on ray-flash-2 and 10 on ray-2, with a 100 MB source. Sume edits video with video_url on gemini-omni-flash-1.1.
- Luma failure_reason moderation messages vs Sume generation_rejected
Luma reports moderation and dispatch failures as strings in failure_reason. Sume returns a job error category and next action. A map for handling both.
- Luma Modify Video: adhere, flex and reimagine modes vs a Sume prompt
Luma's Modify Video has nine modes: adhere 1-3, flex 1-3 and reimagine 1-3. Sume's video edit has no mode field, so strictness comes from the prompt.
- MAI-Image-2.6 allows 6 requests a minute at tier 1; Sume queues
Foundry rates MAI-Image-2.6 at 6 RPM on tier 1 and 429s past it. Sume accepts valid image jobs as queued until a plan slot opens. Compare the two behaviours.
Written by Sume