Luma Image to Video
First frame, last frame, or both — you choose
- first_image
- last_image
- luma_concepts
- VIDEO
The Luma Image to Video node is the most flexible member of the Luma trio in ComfyUI core: give it a starting frame, an ending frame, or both, and it animates between them. That last-frame input is the differentiator - most image-to-video nodes only take a start image, so being able to pin the ending too is how you get transitions that actually land where you want instead of wandering off.
Like its sibling LumaVideoNode, this is an API node. The node posts your prompt and images to Luma's servers through your Comfy account, polls until the generation finishes, and returns the finished VIDEO. It's billed to Comfy account credits per generation, nothing renders locally, and there are no model files to manage.
The inputs that matter:
- prompt - describes the motion and scene. This drives what happens between the frames.
- model -
ray-2,ray-flash-2, or the olderray-1-6. Ray 2 is the current line; flash is the speed tier. - first_image / last_image - optional
IMAGEinputs. First frame pins the start, last frame pins the end. You can use either or both; with neither connected this behaves like a text-to-video call. - resolution - 540p (default), 720p, 1080p, or 4k.
- duration - 5s or 9s.
- loop - off by default. Flip it on to request a seamless looping clip.
- seed - the Luma stub: it only decides whether the node re-runs; actual results are nondeterministic either way.
- luma_concepts - optional
LUMA_CONCEPTSinput from the Luma Concepts node, for explicit camera direction.
Single VIDEO output into Save Video or Preview Video.
The common mistakes: expecting last-frame to be honored as a hard constraint (it's a strong guide, not a cut - the model does its best to reach it), and leaving both images at mismatched aspect ratios, which confuses the composition. Also, "synchronous" here means slow-ish: Luma i2v averages around 100 seconds of wall time before the clip lands, so don't panic when the node sits on "polling" - that's normal. Same account house rules as every partner node: be logged into your Comfy account, and --disable-api-nodes hides the whole family if it clutters your search.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Prompt for the video generation | |
| model | COMBO | 3 options: ray-2, ray-flash-2, ray-1-6 | |
| resolution | COMBO | 540p | 4 options: 540p, 720p, 1080p, 4k |
| duration | COMBO | 2 options: 5s, 9s | |
| loop | BOOLEAN | false | — |
| seed | INT | 00–18446744073709550000 | Seed to determine if node should re-run; actual results are nondeterministic regardless of seed. |
| first_imageopt | IMAGE | First frame of generated video. | |
| last_imageopt | IMAGE | Last frame of generated video. | |
| luma_conceptsopt | LUMA_CONCEPTS | Optional Camera Concepts to dictate camera motion via the Luma Concepts node. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| VIDEO | VIDEO | — |