LTX 2.5 / firstLastFrameToVideo
Pin the ending, not just the start
- loras
- diffusion_model
- api_config
- video
- draft_cache_audio
- draft_cache_video
- workflow_id
- raw_json
Image-to-video usually means "start here, then improvise." This node is the version that won't improvise the landing: you give it a first_frame and/or a last_frame, and the model has to hit both. That's how you make loops, transitions, or a shot that ends exactly where the next scene begins - the bookends are fixed, everything between is the model's problem. The required input list is deceptive here: the schema only requires prompt, but the tooltip on last_frame is explicit - at least one of FirstFrame or LastFrame must be provided or the job isn't going to do what you think. The frames are STRING fields taking a URL, data URL, or base64, not IMAGE sockets.
Part of civitai-comfy-nodes, Civitai's official ~160-node pack generated from its Orchestration API spec. Cloud job: LTX 2.5 runs on Civitai's fleet through Comfy workflows, billed in Buzz. Submit, long-poll, get a native VIDEO tensor.
Inputs that matter
- prompt (required) - what happens between the bookends.
- first_frame / last_frame (STRING) - one or both required in practice. A URL, data URL, or base64 image. Provide both for a hard loop or transition; just one to anchor only that end.
- frame_guide_strength - default 0.7, 0.0–1.0. How hard the model clings to the guide frames. Lower it if the output's trying too hard to freeze at the bookends.
- duration (3–20s, default 5), width/height (1280×720), fps (24), seed, guidance_scale (4), steps (20), generate_audio (on) - the usual LTX 2.5 surface.
- model (
22b-dev), loras, diffusion_model (fine-tune override), quantity.
Outputs: video (VIDEO), draft_cache_audio (AUDIO), draft_cache_video (VIDEO), workflow_id and raw_json (STRING).
Install and auth
Standard for the pack - official, Comfy Registry:
# ComfyUI Manager: search "Civitai Comfy Nodes"
cd ComfyUI/custom_nodes
git clone https://github.com/civitai/civitai-comfy-nodes.git
pip install -r civitai-comfy-nodes/requirements.txt
Restart, authenticate via a Civitai Auth node, CIVITAI_API_TOKEN, or sidebar OAuth.
Common issues
The STRING-vs-socket trap is the big one. first_frame and last_frame are text fields for URLs/base64, not IMAGE sockets - people wire a Load Image in expecting it to connect, and it won't. Either paste a URL or convert your image to a data URL first. Forgetting both frames leaves you with a prompt-only generation despite the node's name; one frame at minimum. Loop stitching is finicky - perfect loops need the two frames to be visually consistent (same camera, same lighting) or the seam shows. frame_guide_strength at 1.0 can stall the motion near the bookends; 0.7 is the sane default. Your frames leave your machine, and the pack is early preview - behavior can change without notice.
Inputs (18)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| negative_promptopt | STRING | — | |
| seedopt | INT | 00–4294967295 | — |
| durationopt | INT | 53–20 | Duration in seconds (3 through 20) |
| widthopt | INT | 12800–2147483647 | — |
| heightopt | INT | 7200–2147483647 | — |
| fpsopt | FLOAT | 24.001–60 | — |
| generate_audioopt | BOOLEAN | true | — |
| guidance_scaleopt | FLOAT | 4.001–10 | — |
| stepsopt | INT | 208–50 | — |
| modelopt | COMBO | 22b-dev | 2 options: 22b-dev, 22b-distilled |
| lorasopt | CIVITAI_LORAS | — | |
| diffusion_modelopt | CIVITAI_AIR | Optional override for the LTX 2.5 diffusion-model checkpoint. When set, replaces the transformer file selected by Civitai.Orchestration.Grains.Workflows.Steps.VideoGen.ComfyLtx25VideoGenInput.Model while leaving the text encoder, VAEs, and upscale-LoRA behavior unchanged. Use to point at a community fine-tune (e.g. SulphurAI/Sulphur-2-base). | |
| quantityopt | INT | 11–10 | Number of videos to generate in this single job. Each video uses a distinct seed (Seed + slotIndex) and is produced by re-running the Comfy workflow. |
| first_frameopt | STRING | First frame guide image. At least one of FirstFrame or LastFrame must be provided. | |
| last_frameopt | STRING | Last frame guide image. At least one of FirstFrame or LastFrame must be provided. | |
| frame_guide_strengthopt | FLOAT | 0.700–1 | Strength of the frame guide conditioning (0.0 to 1.0). |
| api_configopt | CIVITAI_CONFIG | Optional Civitai Auth connection; defaults to CIVITAI_API_TOKEN or stored OAuth login. |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| draft_cache_audio | AUDIO | — |
| draft_cache_video | VIDEO | — |
| workflow_id | STRING | — |
| raw_json | STRING | — |