Image-to-Video Workflow for Beginners
Image-to-Video Workflow for Beginners
This tutorial shows you how to generate a video with synchronized audio from a source image and a supporting text prompt, using the built-in LTX-2.5 Image-to-Video template in ComfyUI. Starting from an image gives you more control over the result than a text prompt alone.
If you have both a start and end frame and want the model to generate the motion between them, skip to First and Last Frame below.
When to Use
Image-to-Video is the right choice when you have a specific starting image to guide the scene. It’s the right choice when you want to maintain a character’s appearance, control the composition, or animate an existing image with motion and audio. To generate a scene entirely from a text description, see the Text-to-Video guide instead.
Step-by-Step Guide
This guide assumes ComfyUI is already installed. If not, see the ComfyUI download page and our ComfyUI setup guide, and check the system requirements.
1. Load the Template and Download Models
- Open ComfyUI.
- Click the Templates button and search LTX-2.5.
- Select the Image-to-Video template (
video_ltx2_5_i2v). - Open the Workflow Overview panel and click Download all to fetch any missing model files.
The template uses these files (also on the LTX-2.5 HuggingFace repository):
2. Load Your Source Image
In the LoadImage node, select your image. The model generates motion and audio from this starting point. The image is resized to the configured resolution, so for best results use a source image that matches your target aspect ratio. PNG, JPG, and WebP are supported.
3. Write Your Prompt
In Image-to-Video, the prompt describes what should happen, as the model already knows what the scene looks like from your image. Focus on:
- Motion and action — how subjects move or change over time
- Camera movement — tracking, panning, zooming, or a static shot
- Audio — dialogue (in quotation marks), music, ambient sound
For example: “The woman turns to face the camera and smiles, a warm breeze moving through her hair. Soft piano music plays in the background.”
The template turns on Prompt Enhance by default, which expands a short prompt before it’s encoded. Turn it off to use your prompt exactly as written. See the Prompting Guide for additional prompting tips.
4. Set Resolution, Length, and Frame Rate
The pipeline generates at the base resolution, then upscales 2× — the final output is double the width and height you set.
Higher resolution and longer length need more VRAM. Start near the defaults and increase once you know your hardware handles it.
5. Generate
Click Run. The template runs a two-stage pipeline automatically:
- Stage 1 — generates video and audio at the base resolution; the source image is injected as conditioning at strength 0.7.
- Upscale — the video latent is upscaled 2× by the spatial upscaler.
- Stage 2 — refines at full resolution; the source image is re-injected at strength 1.0 to preserve detail.
Audio is generated jointly with the video in Stage 1 and carried through to the output.
6. Review and Iterate
The output saves as an MP4 with synchronized audio. To iterate:
- Adjust the prompt to change the motion, action, or audio.
- Try a different source image to see how the model interprets different starting frames.
- Adjust length to fit your content.
The Stage 1 seed randomizes by default. To reproduce a result, note its seed and switch the seed control from randomize to fixed.
How the Pipeline Works
Model loading: The template loads the distilled transformer directly (no separate base model or distilled LoRA), the Gemma 4 text encoder and prompt enhancer, and the video and audio VAEs. A negative prompt ("pc game, console game, video game, cartoon, childish, ugly") is applied automatically.
Image preprocessing: The source image is resized to the target resolution and prepared for conditioning in both stages.
Stage 1 (base resolution): The source image is injected into the video latent at strength 0.7 — establishing the starting point while leaving room for natural motion. An empty audio latent is concatenated with the video latent, and the two are sampled together with euler_ancestral and a dual-CFG guider (CFG 1 for video and audio) on a fixed distilled sigma schedule, keeping audio and video in sync.
Upscale: The video latent passes through the spatial upscaler, doubling its resolution.
Stage 2 (full resolution): The source image is re-injected at strength 1.0 to preserve detail, then the video is refined and recombined with the Stage 1 audio.
Decode: Video decodes through tiled VAE decoding, audio through the audio VAE, and the two are merged into the final file.
First and Last Frame
The First-Frame / Last-Frame template (video_ltx2_5_flf2v) generates the motion between a starting image and an ending image. This is useful for controlled transitions, morphs, or camera moves with a defined destination. It’s a single-stage template, unlike the vanilla image to video workflow.
Steps
- In the Templates browser, choose the First-Frame / Last-Frame template.
- Download models when prompted — the same files as Image-to-Video minus the spatial upscaler (FLF is single-stage).
- Load your first frame and last frame in the two LoadImage nodes.
- Write a prompt describing what happens between the two frames (motion, camera, audio). The prompt enhancer is on by default here too.
- Set length and frame rate as above, then click Run.
How It Works
The first image is added as a guide at the first frame and the last image as a guide at the final frame. The model generates a single distilled stage of joint audio-video that begins on your first frame and lands on your last, then decodes through the video and audio VAEs. Because it’s single-stage, there’s no 2× upscale, so the output resolution is the base resolution you set.
Advanced Techniques
Recommended Next Step
Once you’re comfortable with the template, the Two-Stage Generation workflow uses the same two-stage structure with the full-precision base model plus a higher-quality Full sampler path and more exposed controls. Everything you’ve learned here still applies.
Distilled vs. Full
The template uses the distilled model — optimized to produce good results in a few steps, which makes it fast and ideal for iteration. The full model (in the Two-Stage Generation workflow) takes more steps but can yield finer detail and more nuanced motion. Match the model and workflow to best meet your needs and available hardware.
Using LoRAs
Add a LoRALoader node to apply style, motion, or character LoRAs. See the LoRA guide.
Python
Image-to-Video is also available through the PyTorch API for programmatic use. See the PyTorch API documentation.