{
  "hf_id": "Lightricks/LTX-2.5-Diffusers",
  "meta": {
    "title": "LTX-2.5",
    "slug": "ltx-2.5",
    "provider": "Lightricks",
    "description": "19B diffusion transformer for joint video and synchronized audio generation, served via vLLM-Omni",
    "date_added": "2026-08-11",
    "date_updated": "2026-08-15",
    "tasks": [
      "omni"
    ],
    "related_recipes": [
      "Wan-AI/Wan2.2-T2V-A14B-Diffusers"
    ],
    "default_hardware": "b300",
    "hardware": {
      "h200": "verified",
      "b300": "verified",
      "dgx_spark_gb10": "supported",
      "rtx_pro_5000": "supported",
      "rtx_pro_6000": "supported"
    }
  },
  "model": {
    "model_id": "Lightricks/LTX-2.5-Diffusers",
    "min_vllm_version": "0.27.0",
    "architecture": "dense",
    "parameter_count": "19B",
    "active_parameters": "19B",
    "context_length": 0,
    "base_args": [],
    "base_env": {},
    "install": {
      "pip": {
        "command": "uv venv\nsource .venv/bin/activate\nuv pip install -U vllm --torch-backend auto"
      },
      "extras": [
        {
          "note": "LTX-2.5 support is provided by current vLLM-Omni main.",
          "command": "uv pip install git+https://github.com/vllm-project/vllm-omni.git"
        }
      ]
    }
  },
  "features": {},
  "opt_in_features": [],
  "variants": {
    "default": {
      "label": "BF16",
      "precision": "bf16",
      "vram_minimum_gb": 80,
      "description": "Original BF16 weights with Full/SFT and distilled one-stage/two-stage generation paths",
      "supported_hardware": [
        "h100",
        "h200",
        "b200",
        "gb200",
        "b300",
        "gb300",
        "rtx_pro_6000",
        "mi300x",
        "mi325x",
        "mi355x"
      ],
      "hardware_overrides": {
        "b200": {
          "extra_args": [
            "--diffusion-attention-backend",
            "CUDNN_ATTN"
          ]
        },
        "gb200": {
          "extra_args": [
            "--diffusion-attention-backend",
            "CUDNN_ATTN"
          ]
        },
        "b300": {
          "extra_args": [
            "--diffusion-attention-backend",
            "CUDNN_ATTN"
          ]
        },
        "gb300": {
          "extra_args": [
            "--diffusion-attention-backend",
            "CUDNN_ATTN"
          ]
        }
      }
    },
    "fp8": {
      "label": "FP8",
      "precision": "fp8",
      "precision_hardware": {
        "brand": "NVIDIA"
      },
      "vram_minimum_gb": 61,
      "description": "Online FP8 quantization for lower memory use",
      "supported_hardware": [
        "h100",
        "h200",
        "b200",
        "gb200",
        "b300",
        "gb300",
        "dgx_spark_gb10",
        "rtx_pro_5000",
        "rtx_pro_6000"
      ],
      "extra_args": [
        "--quantization",
        "fp8"
      ],
      "hardware_overrides": {
        "b200": {
          "extra_args": [
            "--diffusion-attention-backend",
            "CUDNN_ATTN"
          ]
        },
        "gb200": {
          "extra_args": [
            "--diffusion-attention-backend",
            "CUDNN_ATTN"
          ]
        },
        "b300": {
          "extra_args": [
            "--diffusion-attention-backend",
            "CUDNN_ATTN"
          ]
        },
        "gb300": {
          "extra_args": [
            "--diffusion-attention-backend",
            "CUDNN_ATTN"
          ]
        }
      }
    }
  },
  "hardware_overrides": {},
  "omni": {
    "port": 8000,
    "variant_label": "Quantization",
    "variant_hint": "Choose BF16 for original weights or FP8 to reduce memory. Unavailable options are disabled for the selected hardware.",
    "task_label": "Generation Mode",
    "task_hint": "Choose Full/SFT or distilled weights, then one-stage or two-stage T2V/I2V execution.",
    "task_axes": [
      {
        "id": "stage",
        "label": "Stage",
        "options": [
          {
            "id": "one_stage",
            "label": "One-stage"
          },
          {
            "id": "two_stage",
            "label": "Two-stage"
          }
        ]
      },
      {
        "id": "weights",
        "label": "Weights",
        "options": [
          {
            "id": "full",
            "label": "Full"
          },
          {
            "id": "distilled",
            "label": "Distilled"
          }
        ]
      },
      {
        "id": "x2v",
        "label": "X2V",
        "options": [
          {
            "id": "t2v",
            "label": "T2V"
          },
          {
            "id": "i2v",
            "label": "I2V"
          }
        ]
      }
    ],
    "tasks": [
      {
        "id": "t2v",
        "key": "full_one_stage_t2v",
        "label": "Full one-stage T2V",
        "axes": {
          "stage": "one_stage",
          "weights": "full",
          "x2v": "t2v"
        },
        "vram_minimum_gb": 80,
        "endpoint": "/v1/videos/sync",
        "description": "Full/SFT text-to-video generation with 30 denoising steps and synchronized audio.",
        "extra_args": [
          "--model-class-name",
          "LTX2Pipeline"
        ],
        "curl": "curl -sS --fail-with-body \\\n  -X POST http://localhost:8000/v1/videos/sync \\\n  -F 'prompt=A cinematic shot of a red fox walking through a snowy forest at dawn, the camera tracking alongside, snow crunching underfoot.' \\\n  -o ltx25-one-stage-t2v.mp4\n"
      },
      {
        "id": "i2v",
        "key": "full_one_stage_i2v",
        "label": "Full one-stage I2V",
        "axes": {
          "stage": "one_stage",
          "weights": "full",
          "x2v": "i2v"
        },
        "vram_minimum_gb": 80,
        "endpoint": "/v1/videos/sync",
        "description": "Full/SFT first-frame image-to-video generation with 30 denoising steps and synchronized audio.",
        "extra_args": [
          "--model-class-name",
          "LTX2Pipeline"
        ],
        "curl": "export FIRST_FRAME=/absolute/path/to/first-frame.png\n\ncurl -sS --fail-with-body \\\n  -X POST http://localhost:8000/v1/videos/sync \\\n  -F \"input_reference=@${FIRST_FRAME};type=image/png\" \\\n  -F 'prompt=The red fox walks forward while the camera tracks alongside.' \\\n  -o ltx25-one-stage-i2v.mp4\n"
      },
      {
        "id": "t2v",
        "key": "distilled_one_stage_t2v",
        "label": "Distilled one-stage T2V",
        "axes": {
          "stage": "one_stage",
          "weights": "distilled",
          "x2v": "t2v"
        },
        "vram_minimum_gb": 79,
        "endpoint": "/v1/videos/sync",
        "description": "Positive-only text-to-video generation with the fixed eight-step distilled schedule.",
        "extra_args": [
          "--model-class-name",
          "LTX2DistilledOneStagePipeline"
        ],
        "curl": "curl -sS --fail-with-body \\\n  -X POST http://localhost:8000/v1/videos/sync \\\n  -F 'prompt=A cinematic shot of a red fox walking through a snowy forest at dawn, the camera tracking alongside, snow crunching underfoot.' \\\n  -o ltx25-distilled-one-stage-t2v.mp4\n"
      },
      {
        "id": "i2v",
        "key": "distilled_one_stage_i2v",
        "label": "Distilled one-stage I2V",
        "axes": {
          "stage": "one_stage",
          "weights": "distilled",
          "x2v": "i2v"
        },
        "vram_minimum_gb": 79,
        "endpoint": "/v1/videos/sync",
        "description": "Positive-only first-frame I2V with CRF-18 conditioning and the fixed eight-step schedule.",
        "extra_args": [
          "--model-class-name",
          "LTX2DistilledOneStagePipeline"
        ],
        "curl": "export FIRST_FRAME=/absolute/path/to/first-frame.png\n\ncurl -sS --fail-with-body \\\n  -X POST http://localhost:8000/v1/videos/sync \\\n  -F \"input_reference=@${FIRST_FRAME};type=image/png\" \\\n  -F 'prompt=The red fox walks forward while the camera tracks alongside.' \\\n  -o ltx25-distilled-one-stage-i2v.mp4\n"
      },
      {
        "id": "t2v",
        "key": "distilled_two_stage_t2v",
        "label": "Distilled two-stage T2V",
        "axes": {
          "stage": "two_stage",
          "weights": "distilled",
          "x2v": "t2v"
        },
        "vram_minimum_gb": 114,
        "endpoint": "/v1/videos/sync",
        "description": "Eight-step low-resolution generation, x2 latent upsampling, and three-step full-resolution refinement.",
        "extra_args": [
          "--model-class-name",
          "LTX2DistilledTwoStagePipeline"
        ],
        "curl": "curl -sS --fail-with-body \\\n  -X POST http://localhost:8000/v1/videos/sync \\\n  -F 'prompt=A cinematic shot of a red fox walking through a snowy forest at dawn, the camera tracking alongside, snow crunching underfoot.' \\\n  -o ltx25-distilled-two-stage-t2v.mp4\n"
      },
      {
        "id": "i2v",
        "key": "distilled_two_stage_i2v",
        "label": "Distilled two-stage I2V",
        "axes": {
          "stage": "two_stage",
          "weights": "distilled",
          "x2v": "i2v"
        },
        "vram_minimum_gb": 114,
        "endpoint": "/v1/videos/sync",
        "description": "First-frame I2V with an eight-step first stage and three-step full-resolution refinement.",
        "extra_args": [
          "--model-class-name",
          "LTX2DistilledTwoStagePipeline"
        ],
        "curl": "export FIRST_FRAME=/absolute/path/to/first-frame.png\n\ncurl -sS --fail-with-body \\\n  -X POST http://localhost:8000/v1/videos/sync \\\n  -F \"input_reference=@${FIRST_FRAME};type=image/png\" \\\n  -F 'prompt=The red fox walks forward while the camera tracks alongside.' \\\n  -o ltx25-distilled-two-stage-i2v.mp4\n"
      },
      {
        "id": "t2v",
        "key": "full_two_stage_t2v",
        "label": "Full two-stage T2V",
        "axes": {
          "stage": "two_stage",
          "weights": "full",
          "x2v": "t2v"
        },
        "vram_minimum_gb": 114,
        "endpoint": "/v1/videos/sync",
        "description": "Full/SFT Stage 1, x2 latent upsampling, and LoRA-450 three-step refinement.",
        "extra_args": [
          "--model-class-name",
          "LTX2TwoStagePipeline"
        ],
        "curl": "curl -sS --fail-with-body \\\n  -X POST http://localhost:8000/v1/videos/sync \\\n  -F 'prompt=A cinematic shot of a red fox walking through a snowy forest at dawn, the camera tracking alongside, snow crunching underfoot.' \\\n  -o ltx25-full-two-stage-t2v.mp4\n"
      },
      {
        "id": "i2v",
        "key": "full_two_stage_i2v",
        "label": "Full two-stage I2V",
        "axes": {
          "stage": "two_stage",
          "weights": "full",
          "x2v": "i2v"
        },
        "vram_minimum_gb": 114,
        "endpoint": "/v1/videos/sync",
        "description": "Full/SFT first-frame I2V followed by x2 latent upsampling and LoRA-450 refinement.",
        "extra_args": [
          "--model-class-name",
          "LTX2TwoStagePipeline"
        ],
        "curl": "export FIRST_FRAME=/absolute/path/to/first-frame.png\n\ncurl -sS --fail-with-body \\\n  -X POST http://localhost:8000/v1/videos/sync \\\n  -F \"input_reference=@${FIRST_FRAME};type=image/png\" \\\n  -F 'prompt=The red fox walks forward while the camera tracks alongside.' \\\n  -o ltx25-full-two-stage-i2v.mp4\n"
      }
    ]
  },
  "guide": "## Overview\n\n[LTX-2.5-Diffusers](https://huggingface.co/Lightricks/LTX-2.5-Diffusers)\nis a dense 19B diffusion transformer for video with synchronized 48 kHz\nstereo audio. vLLM-Omni supports T2V and first-frame I2V through four\npipeline classes:\n\n| Pipeline | Mode | Default size | Schedule |\n|----------|------|------------|----------|\n| `LTX2Pipeline` | Full/SFT one-stage | 960x544 | 30 steps |\n| `LTX2TwoStagePipeline` | Full/SFT two-stage | 1920x1088 | 30 + 3 steps |\n| `LTX2DistilledOneStagePipeline` | Distilled one-stage | 960x544 | 8 steps |\n| `LTX2DistilledTwoStagePipeline` | Distilled two-stage | 1920x1088 | 8 + 3 steps |\n\nSelect the class with `--model-class-name`; no `--task-type` flag is needed.\nThe supported model ID is `Lightricks/LTX-2.5-Diffusers`. The gated raw\n`Lightricks/LTX-2.5` repository only supplies official two-stage sidecars and\nis not directly loadable with `--model`.\n\n## Quantization\n\nChoose **BF16** to keep the original weights, or **FP8** to add online\n`--quantization fp8` and reduce memory use. The command builder disables a\nquantization option when it is not available on the selected hardware. FP8\nis available on the listed NVIDIA Hopper and Blackwell profiles; AMD uses\nBF16. B200, GB200, B300, and GB300 use cuDNN attention for both options.\n\n## Prerequisites\n\n- Accept both Lightricks model licenses and run `hf auth login`.\n- Use current vLLM-Omni main, targeting vLLM 0.27+.\n- Ensure `ffmpeg` and `ffprobe` are on `PATH`.\n- I2V requires PyAV with the `libx264` encoder.\n\n## Installation\n\n```bash\nuv venv && source .venv/bin/activate\nuv pip install git+https://github.com/vllm-project/vllm-omni.git\nhf auth login\n```\n\n## Offline inference\n\nChoose `PIPELINE`, `WIDTH`, `HEIGHT`, and `STEPS` from the table. This example\nselects the distilled two-stage path:\n\n```bash\nexport MODEL=Lightricks/LTX-2.5-Diffusers\nexport PIPELINE=LTX2DistilledTwoStagePipeline\nexport WIDTH=1920 HEIGHT=1088 STEPS=8\n\npython examples/offline_inference/text_to_video/text_to_video.py \\\n  --model \"${MODEL}\" --model-class-name \"${PIPELINE}\" \\\n  --prompt \"A cinematic red fox walking through a snowy forest at dawn.\" \\\n  --width \"${WIDTH}\" --height \"${HEIGHT}\" --num-frames 121 \\\n  --num-inference-steps \"${STEPS}\" --frame-rate 24 --fps 24 --seed 42 \\\n  --output ltx25-t2v.mp4\n```\n\nFor first-frame I2V, use the generic image-to-video example with the same\npipeline values and one image:\n\n```bash\npython examples/offline_inference/image_to_video/image_to_video.py \\\n  --model \"${MODEL}\" --model-class-name \"${PIPELINE}\" \\\n  --image /absolute/path/to/first-frame.png \\\n  --prompt \"The red fox walks forward while the camera tracks alongside.\" \\\n  --width \"${WIDTH}\" --height \"${HEIGHT}\" --num-frames 121 \\\n  --num-inference-steps \"${STEPS}\" --frame-rate 24 --fps 24 --seed 42 \\\n  --output ltx25-i2v.mp4\n```\n\n## Online serving\n\n```bash\nvllm serve \"${MODEL}\" \\\n  --omni \\\n  --model-class-name \"${PIPELINE}\"\n```\n\nUse the task presets on this page for complete T2V and I2V requests. Restart\nthe server after changing `PIPELINE`.\n\n## Constraints\n\n- Online `width`, `height`, `num_frames`, `fps`, and\n  `num_inference_steps` are optional and use the selected pipeline defaults\n  when omitted. `seed` is optional and random when omitted.\n- `num_frames` must be `8k+1` when overridden.\n- One-stage dimensions must be divisible by 32; two-stage final dimensions\n  must be divisible by 64.\n- Distilled pipelines are positive-only and reject negative prompts.\n- I2V accepts exactly one initial RGB image per prompt and uses the official\n  CRF-18 conditioning path by default.\n\n## References\n\n- [LTX-2.5 Diffusers model card](https://huggingface.co/Lightricks/LTX-2.5-Diffusers)\n- [Official LTX-2 repository](https://github.com/Lightricks/LTX-2)\n- [vLLM-Omni LTX-2.5 recipe](https://github.com/vllm-project/vllm-omni/blob/main/recipes/LTX/LTX-2.5.md)\n",
  "source": {
    "source": "vllm-omni",
    "repo": "vllm-project/vllm-omni",
    "ref": "main",
    "sha": "cda4a1ef83b295ba332146a7709e6277725edc9f",
    "path": "recipes/models/Lightricks/LTX-2.5-Diffusers.yaml",
    "edit_url": "https://github.com/vllm-project/vllm-omni/edit/main/recipes/models/Lightricks/LTX-2.5-Diffusers.yaml",
    "overlays": []
  }
}