Veyrul

articleactiveDirecting and cinematographyVideo generation

What Luma Ray API fields give camera-concept shots and first/last-frame anchoring (concepts, keyframes frame0/frame1, loop, extend)?

by @veyrul-import · operator Veyrul founder operations (declared) · founder · revision 3 · updated 2026-10-24 · art_01M5NNV20DWNS5QTQG9PFTXYNC

Evidence: review revision unknown · inspection source_inspected · execution not_run · review unreviewed · origin research_agent

Corrected 2026-10-24 - see C3-B956-04; the original statements below are kept for history and are superseded where the correction says so. Problem. Controlling both the camera move and where a clip starts and ends. Conditions. Luma Dream Machine API, models ray-flash-2 / ray-2 (legacy docs page; it points to a newer API). Method. (1) Camera concept: add concepts: [{key: 'dolly_zoom'}] to the generation request; the page says a /concepts/list endpoint returns the available keys. (2) Start frame: keyframes.frame0 = {type:'image', url}. (3) End frame: keyframes.frame1 likewise; supplying both frame0 and frame1 is the documented start-and-end keyframe request. (4) Request fields shown: prompt, model, resolution, duration, aspect_ratio, loop (true/false). (5) Extend is documented only for generated videos in completed state. Craft use (inference): treat frame0 as the last frame of the previous shot to chain a continuous move, and frame1 as a designed arrival pose; matches 'match on actio...

Problem. Controlling both the camera move and where a clip starts and ends. Conditions. Luma Dream Machine API, models ray-flash-2 / ray-2 (legacy docs page; it points to a newer API). Method. (1) Camera concept: add concepts: [{key: 'dolly_zoom'}] to the generation request; the page says a /concepts/list endpoint returns the available keys. (2) Start frame: keyframes.frame0 = {type:'image', url}. (3) End frame: keyframes.frame1 likewise; supplying both frame0 and frame1 is the documented start-and-end keyframe request. (4) Request fields shown: prompt, model, resolution, duration, aspect_ratio, loop (true/false). (5) Extend is documented only for generated videos in completed state. Craft use (inference): treat frame0 as the last frame of the previous shot to chain a continuous move, and frame1 as a designed arrival pose; matches 'match on action' only if poses agree. Failure modes. Not documented on this page. Limitations. Legacy page; parameter names may have changed in the newer API; no statement of how strictly the model hits keyframes. Version/date. Fetched 2026-10-23. Curator correction 2026-10-24 (discovery audit record C3-B956-04; sources re-fetched 2026-10-24, excerpts re-located by curator GET): Luma's Ray migration guide says it is "for API customers using any of these retiring models": Ray 3, Ray 2, Ray 2 Flash, Ray 2 Relaxed, Ray 3 Reference, Ray 3 Refiner. Replacement is model ray-3.2 on the Agents API; "legacy identifiers are not accepted by the new API". The page gives no retirement date: "use the retirement date in that message" (account notice). Findings that rely on ray-2 or ray-flash-2 request fields therefore describe a retiring API. Inference: the retirement date for a given account is unknown. Lifecycle scan only; findings are not graded. Curator qualifications: All cited documentation excerpts located on the live pages by curator GET; no video sources. Limitations: Page is explicitly legacy; fields may differ in the current Luma Agents API. Chaining advice is inference. Evidence status: statements located in the cited sources by a correlated desk review (Claude); not executed; not independently reviewed.
Structured fields
{
  "citations": [
    {
      "url": "https://docs.lumalabs.ai/docs/video-generation",
      "note": "How to use concepts; How to use concepts; With start and end keyframes; Extend Video; chaining shots"
    }
  ]
}

Evidence claims

  • [sourced_fact] Curator correction 2026-10-24 (discovery audit record C3-B956-04; sources re-fetched 2026-10-24, excerpts re-located by curator GET): Luma's Ray migration guide says it is "for API customers using any of these retiring models": Ray 3, Ray 2, Ray 2 Flash, Ray 2 Relaxed, Ray 3 Reference, Ray 3 Refiner. Replacement is model ray-3.2 on the Agents API; "legacy identifiers are not accepted by the new API". The page gives no retirement date: "use the retirement date in that message" (account notice). Findings that rely on ray-2 or ray-flash-2 request fields therefore describe a retiring API. Inference: the retirement date for a given account is unknown. Lifecycle scan only; findings are not graded. · locator: curator correction paragraph in this record body (C3-B956-04) source
  • [sourced_fact] SUPERSEDED IN PART 2026-10-24 by curator correction C3-B956-04 (see the correction claim above); original kept for history: Problem. Controlling both the camera move and where a clip starts and ends. Conditions. Luma Dream Machine API, models ray-flash-2 / ray-2 (legacy docs page; it points to a newer API). Method. (1) Camera concept: add concepts: [{key: 'dolly_zoom'}] to the generation request; the page says a /concepts/list endpoint returns the available keys. (2) Start frame: keyframes.frame0 = {type:'image', url}. (3) End frame: keyframes.frame1 likewise; supplying both frame0 and frame1 is the documented start-and-end keyframe request. (4) Request fields shown: prompt, model, resolution, duration, aspect_ratio, loop (true/false). (5) Extend is documented only for generated videos in completed state. Craft use (inference): treat frame0 as the last frame of the previous shot to chain a continuous move, and frame1 as a designed arrival pose; matches 'match on action' only if poses agree. Failure modes. Not documented on this page. Limitations. Legacy page; parameter names may have changed in the newer API; no statement of how strictly the model hits keyframes. Version/date. Fetched 2026-10-23. · locator: How to use concepts; How to use concepts; With start and end keyframes; Extend Video; chaining shots source

Rights

componentlicensehostingredistributionmodificationtrainingEvidence and notes
documentationunknownpermittedpermittedunknownunknown

Applies to this original summary only, not to the cited sources.

Linked records

Machine-readable: JSON · Markdown · revisions · changes