Replicate (wan-video/wan-2.2-i2v-fast)
Wan 2.2 i2v as a service — even the speed-LoRA debate is built in
- image
- last_image
- output
Wan 2.2 is where local video generation consolidated in 2025 - and, since Alibaba closed the weights after it, it's where the open story stops. This node gives you that model's image-to-video mode without the hardware: "Replicate (wan-video/wan-2.2-i2v-fast)" runs Wan 2.2 I2V on Replicate's servers, sends your start image and prompt over, and downloads the finished mp4 back into ComfyUI. You trade VRAM for money and a queue.
If you're not sure whether you want this: the "fast" variant trades some quality for speed, and the KB's warning applies - aggressive speed LoRAs on Wan 2.2 are famous for flattening motion, emotion, and skin. The "i2v" part means the first frame is anchored to an image you provide, which is the community's favorite mode because it solves the consistency problems that plague pure text-to-video.
How it works
Shared Replicate-node mechanics with its siblings: the node uploads your image, prompt, and settings to Replicate, polls until the prediction finishes (logs stream to the console), then downloads the video to ComfyUI's temp directory and returns the mp4 path as a STRING output. Video outputs come back as paths, not tensors - so wire the output into something that consumes a path, like the pack's Preview Image node or a Video Last Frame call.
The inputs that matter
- image (optional
IMAGE) - the start frame. This is i2v; give it a real image or the node is just doing t2v with extra steps. - last_image (optional
IMAGE) - an end frame to interpolate toward. The "fast" model can be pointed at a target ending. Leave empty for open-ended motion. - prompt - what happens in the video. Wan responds well to plain motion language ("slow camera push-in, gentle ocean waves").
- num_frames - 81 to 121. More frames, longer clip; 81 is the default and a sane starting point.
- resolution - defaults to
480p; the fast variant is tuned around the lower res. - frames_per_second (default 16) with interpolate_output - turn that on and the node runs the result through ffmpeg to 30 fps. Smoother, costs extra processing.
- sample_shift (default 12) - a Wan-specific knob; leave it unless you know what you're doing.
- go_fast, seed, disable_safety_checker - the usual Replicate trimmings.
The two LoRA slot pairs deserve special attention because they encode Wan 2.2's architecture: lora_weights_transformer + lora_scale_transformer for the high-noise pass (motion, composition, lighting), and lora_weights_transformer_2 + lora_scale_transformer_2 for the low-noise pass (detail, skin). Wan 2.2 is a two-pass model, and the tooltips show it - you can point each pass at a different .safetensors URL from the internet (the tooltips even give the Instagirl high/low example). If you've read the community debate about speed LoRAs wrecking 2.2's motion: the practical compromise everyone landed on is speed LoRA on the low-noise pass only, keeping the high-noise pass full quality. This node lets you do exactly that.
Install
Standard pack install - ComfyUI Manager → search "Dados Nodes", or
cd ComfyUI/custom_nodes
git clone https://github.com/dadoirie/ComfyUI_Dados_Nodes.git
cd ComfyUI_Dados_Nodes
pip install -r requirements.txt
then restart. No models to download.
The gotcha: your token
Like every Replicate node in this pack, it dies on auth until you set a real token - the pack's __init__.py sets REPLICATE_API_TOKEN = "EMPTY" as a placeholder marked "REMOVE LATER":
export REPLICATE_API_TOKEN=r8_...
Video predictions are the most expensive thing in this pack to run (a batch of frames bills by compute time on Replicate), so keep an eye on your account if you're churning out long clips. And know the honest limits: the "fast" model is a quality trade, and the result is a downloaded temp mp4 - save it somewhere permanent if it's good, because the temp dir gets cleaned. For people with a local GPU and the 5B/14B weights, running Wan 2.2 locally is the better long-term move; this node is for when that isn't an option.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Prompt for video generation | |
| num_frames | INT | 8181–121 | — |
| resolution | COMBO | 480p | 2 options: 480p, 720p |
| frames_per_second | INT | 165–30 | — |
| interpolate_output | BOOLEAN | Interpolate the generated video to 30 FPS using ffmpeg | |
| go_fast | BOOLEAN | true | Go fast |
| sample_shift | FLOAT | 12.01–20 | — |
| seed | INT | — | |
| disable_safety_checker | BOOLEAN | Disable safety checker for generated video. | |
| lora_weights_transformer | STRING | Load LoRA weights for the HIGH transformer. Supports arbitrary .safetensors URLs from the Internet (for example, 'https://huggingface.co/TheRaf7/instagirl-v2/resolve/main/Instagirlv2.0_hinoise.safetensors') | |
| lora_scale_transformer | FLOAT | 1.0 | — |
| lora_weights_transformer_2 | STRING | Load LoRA weights for the LOW transformer_2. Supports arbitrary .safetensors URLs from the Internet. Can be different from transformer LoRA. (for example, 'https://huggingface.co/TheRaf7/instagirl-v2/resolve/main/Instagirlv2.0_lownoise.safetensors') | |
| lora_scale_transformer_2 | FLOAT | 1.0 | — |
| imageopt | IMAGE | — | |
| last_imageopt | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| output | STRING | — |