> ## Documentation Index
> Fetch the complete documentation index at: https://docs.comfy.org/llms.txt
> Use this file to discover all available pages before exploring further.

# LTX-2.5 DFR in ComfyUI: Image to Video with Audio

> Run the LTX-2.5 DFR workflow in ComfyUI: a three-stage Diffusion Fidelity Rendering pipeline that generates video with synchronized audio from one image.

Generate a video with synchronized audio from a single image through LTX-2.5's Diffusion Fidelity Rendering path. DFR is the production-quality recipe: a distilled transformer paired with a detailing IC-LoRA, with keyframes generated inside the clip and reused as guides by the later passes. Turn on `Switch to T2V` to run the same pipeline from text alone.

For the other LTX-2.5 workflows, see the [LTX-2.5 overview](/tutorials/video/ltx/ltx-2-5).

<video controls className="w-full aspect-video" src="https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/output/video_ltx2_5_dfr_i2v.mp4" />

<CardGroup cols={2}>
  <Card title="Run on Comfy Cloud" icon="cloud" href="https://cloud.comfy.org/?template=video_ltx2_5_dfr_i2v&utm_source=docs&utm_medium=referral&utm_campaign=ltx-2-5">
    Open in Comfy Cloud
  </Card>

  <Card title="Download Workflow" icon="download" href="https://github.com/Comfy-Org/workflow_templates/blob/main/templates/video_ltx2_5_dfr_i2v.json">
    Download JSON or search "LTX-2.5 DFR" in Template Library
  </Card>
</CardGroup>

<CardGroup cols={1}>
  <Card title="Input Image: office_garden_169_outpaint.png" icon="image" href="https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/input/office_garden_169_outpaint.png">
    Download the default input image, or use your own image.
  </Card>
</CardGroup>

## The three stages

| Stage | Runs at | Steps | What it does |
| :- | :- | :- | :- |
| 1. Generate | Half the output size | 8 | Denoises the video, one detailing keyframe per second, and the audio together in one pass |
| 2. Spatial x2 | The output size | 3 | Upsamples the stage-1 latent and re-samples it with the pixel-spatial detailing IC-LoRA, using the half-resolution latent as reference |
| 3. Temporal x2 | 241 frames at 48 fps | 4 | Doubles the frame rate over the same duration, with the stage-2 keyframes pinned as guides |

Every stage samples with the `euler` sampler, `cfg` 1.0, and a fixed `ManualSigmas` schedule. The checkpoint is distilled, so the step counts and the schedules are part of the recipe: changing them changes the look of the result.

The third stage is optional. Turn off `Run 3rd stage - Temporal Upscale` to skip it and get a clip at the stage-2 frame rate instead. Audio is carried from stage 1 through the whole pipeline, so the sound does not change when the temporal pass runs.

## Model downloads

The DFR workflow loads the full-precision text encoder and adds the detailing IC-LoRA plus the temporal upscaler, so its model set differs from the other LTX-2.5 workflows.

<CardGroup cols={2}>
  <Card title="Diffusion Model: ltx-2.5-22b-distilled-transformer-comfy-int8-convrot" icon="download" href="https://huggingface.co/Lightricks/LTX-2.5/blob/main/diffusion_models/ltx-2.5-22b-distilled-transformer-comfy-int8-convrot.safetensors">
    Place in <code>ComfyUI/models/diffusion\_models/</code>
  </Card>

  <Card title="Text Encoder: gemma4-12b-with-proj-ltx-2.5-bf16" icon="download" href="https://huggingface.co/Lightricks/LTX-2.5/blob/main/text_encoders/gemma4-12b-with-proj-ltx-2.5-bf16.safetensors">
    Place in <code>ComfyUI/models/text\_encoders/</code>
  </Card>

  <Card title="Text Encoder: gemma4_e2b_it_bf16" icon="download" href="https://huggingface.co/Comfy-Org/gemma-4/blob/main/text_encoders/gemma4_e2b_it_bf16.safetensors">
    Optional: only needed when the prompt enhancer is enabled. Place in <code>ComfyUI/models/text\_encoders/</code>
  </Card>

  <Card title="LoRA: ltx-2.5-22b-ic-lora-pixel-spatial-upscaler-x2-1.0" icon="download" href="https://huggingface.co/Lightricks/LTX-2.5-22b-IC-LoRA-Pixel-Spatial-Upscaler/blob/main/ltx-2.5-22b-ic-lora-pixel-spatial-upscaler-x2-1.0.safetensors">
    Place in <code>ComfyUI/models/loras/</code>
  </Card>

  <Card title="Upscaler: ltx-2.5-latent-spatial-upscaler-x2-bf16-1.0" icon="download" href="https://huggingface.co/Lightricks/LTX-2.5/blob/main/latent_upscale_models/ltx-2.5-latent-spatial-upscaler-x2-bf16-1.0.safetensors">
    Place in <code>ComfyUI/models/latent\_upscale\_models/</code>
  </Card>

  <Card title="Upscaler: ltx-2.5-latent-temporal-upscaler-x2-bf16-1.0" icon="download" href="https://huggingface.co/Lightricks/LTX-2.5/blob/main/latent_upscale_models/ltx-2.5-latent-temporal-upscaler-x2-bf16-1.0.safetensors">
    Place in <code>ComfyUI/models/latent\_upscale\_models/</code>
  </Card>

  <Card title="VAE: ltx-2.5-video-vae-bf16" icon="download" href="https://huggingface.co/Lightricks/LTX-2.5/blob/main/vae/ltx-2.5-video-vae-bf16.safetensors">
    Place in <code>ComfyUI/models/vae/</code>
  </Card>

  <Card title="VAE: ltx-2.5-audio-vae-bf16" icon="download" href="https://huggingface.co/Lightricks/LTX-2.5/blob/main/vae/ltx-2.5-audio-vae-bf16.safetensors">
    Place in <code>ComfyUI/models/vae/</code>
  </Card>
</CardGroup>

## Model storage

```
ComfyUI/
├── 📂 models/
│   ├── 📂 diffusion_models/
│   │   └── ltx-2.5-22b-distilled-transformer-comfy-int8-convrot.safetensors
│   ├── 📂 text_encoders/
│   │   ├── gemma4-12b-with-proj-ltx-2.5-bf16.safetensors
│   │   └── gemma4_e2b_it_bf16.safetensors (optional)
│   ├── 📂 loras/
│   │   └── ltx-2.5-22b-ic-lora-pixel-spatial-upscaler-x2-1.0.safetensors
│   ├── 📂 vae/
│   │   ├── ltx-2.5-video-vae-bf16.safetensors
│   │   └── ltx-2.5-audio-vae-bf16.safetensors
│   └── 📂 latent_upscale_models/
│       ├── ltx-2.5-latent-spatial-upscaler-x2-bf16-1.0.safetensors
│       └── ltx-2.5-latent-temporal-upscaler-x2-bf16-1.0.safetensors
```

## Workflow controls

* `Start image (I2V)`: the first frame. It is ignored while `Switch to T2V` is on
* `Output size (aspect / megapixels)`: the target aspect ratio and pixel budget, rounded to multiples of 32. Stage 1 runs at half of this size
* `Switch to T2V`: run the pipeline from text only, without a start image
* `Float (fps)` and `Float (Duration)`: 24 fps for 5 seconds by default, which is 121 frames
* `Enable Prompt Enhancer`: rewrite and extend the prompt with the small Gemma 4 encoder before sampling
* `Enable Tiled Decode`: decode the VAE in tiles to lower VRAM use, at a small cost in fine detail

## Prompting tips

1. **Write for one continuous shot**: DFR builds the clip around generated keyframes, so describe a scene that unfolds in a single take rather than a sequence of cuts
2. **Audio in the same pass**: put spoken lines in quotes and describe ambience and effects; the model generates the audio together with the video
3. **Keep camera moves gentle**: fast moves across noisy textures and smooth gradients are where the pipeline is most likely to show boiling or banding


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.