AI Toolkit Inference

Reproducible Diffusers LoRA inference pipelines for adapters trained with ostris/ai-toolkit.

Model Catalog · GitHub Repo

Docs Home · Model Catalog · HTTP API · Troubleshooting

Wan 2.1 I2V 14B (720P) LoRA Inference with Diffusers (AI Toolkit-trained)

API model id: wan21_i2v_14b
URL slug: wan21-i2v-14b

This page documents the reference Diffusers inference pipeline for wan21_i2v_14b (Wan 2.1 I2V 14B (720P)). It is designed for running LoRAs trained with ostris/ai-toolkit while minimizing training preview vs inference mismatch. If you are trying to reproduce AI Toolkit sample previews, treat the code linked below as the source of truth (scheduler wiring, resolution snapping, LoRA application, and conditioning).

Run in the cloud (optional): If you want to reproduce the examples on this page in a pinned runtime without local CUDA/driver setup (and reduce preview‑vs‑inference drift), run it via RunComfy’s Cloud AI Toolkit (Train + Inference). 👉 You can open it here: Cloud AI Toolkit (Train + Inference)

Quick facts

Field Value
Pipeline src/pipelines/wan21.py
Base checkpoint Wan-AI/Wan2.1-I2V-14B-720P-Diffusers
Defaults sample_steps=25, guidance_scale=4.0, seed=42
Resolution snapping Floors width/height to a multiple of 16
Control image Required (ctrl_img)
Video Yes (num_frames=41, fps=16 by default)
LoRA scale behavior Dynamic via adapters (set_adapters). Scale is set per request via loras[].network_multiplier.
Needs AI Toolkit No

Reference implementation (source of truth)

Minimal API request

{
  "model": "wan21_i2v_14b",
  "trigger_word": "sks",
  "prompts": [
    {
      "prompt": "[trigger] a photo of a person",
      "width": 1024,
      "height": 1024,
      "seed": 42,
      "sample_steps": 25,
      "guidance_scale": 4.0,
      "neg": "",
      "num_frames": 41,
      "fps": 16,
      "ctrl_img": "<base64_or_url>"
    }
  ],
  "loras": [
    {
      "path": "my_lora_job/my_lora.safetensors",
      "network_multiplier": 1.0
    }
  ]
}

Control image

This model requires a control image. In the API request, set ctrl_img to either:

Pipeline behavior that matters

Preview-matching notes (training preview vs inference mismatch)

What to compare when debugging mismatch