Wan 2.2 T2V Fast (Replicate)
Type a prompt, get a Wan 2.2 video — no weights, no VRAM, just a token
- video_path
You know the drill with open Wan 2.2: it's the best local video model you can still download, and the download alone is a mood. The 14B T2V checkpoint is 27GB+, the 27B MoE wants more VRAM than most people own, and even on a 4090 a real-quality clip takes minutes. This node points at wan-video/wan-2.2-t2v-fast on Replicate and hands you a finished MP4 from a single prompt. Same model family, none of the hardware.
The "Fast" suffix matters as much here as it does on the image-to-video side. This is the Pruna Lightning step-distilled variant, so it runs in roughly 8 denoising steps instead of the ~50 the full model wants. That's the only reason Replicate can meter it by the call and still make money. You give up a bit of that unhurried high-noise-pass polish - the thing the local crowd will cheerfully tell you they'd never trade - but for a text-prompt draft, a storyboard beat, or a quick motion test, the gap is a lot smaller than the setup gap.
How it works
The node is a thin API client wearing a ComfyUI costume. It packages your prompt and settings into an input dict, calls replicate.run() on the Replicate API, downloads the returned video, and writes it to ComfyUI/output/video/ as replicate_wan-video_wan-2.2-t2v-fast_<timestamp>.mp4. There's no sampler, no model file, no VRAM anywhere in the path - the only credential is a REPLICATE_API_TOKEN environment variable, because the pack deliberately keeps keys out of node fields.
It's part of Replicate Select (Pharma-Lobby), a curated pack of 20 Replicate models sharing one architecture: a nodes.json catalog feeds a generator that stamps out an identical node per model, with a ReplicateCustom escape hatch if you want something not in the catalog. Everything in the pack installs together, and none of it downloads weights.
The inputs that matter
Only one input is required: prompt, multiline, and that's where almost all your effort goes. Wan wants action language - movement, camera, pacing - more than adjectives. A few optional ones worth knowing:
- optimize_prompt - translates your prompt to Chinese before generation. Sounds bizarre, but Wan is a Chinese-trained model and it visibly tightens adherence. Flick it on if results feel mushy.
- aspect_ratio - 16:9 or 9:16 (832x480 or 480x832 at 480p). Set it to match your use case before you spend a call.
- resolution - 480p or 720p. 480p is the sensible default; 720p doubles the price pressure for marginal gains at this model's quality.
- num_frames - 81 default, 121 max. The tooltip says it plainly: 81 gives the best results. Longer is not better.
- interpolate_output - defaults to true here, and frame-interpolates to 30fps with ffmpeg so the output feels like a normal video rather than a 16fps slideshow.
The lora_weights_transformer fields are the interesting ones: paste a .safetensors URL and the node applies it to one of Wan 2.2's two transformer experts (the low-noise one is transformer_2). That's the MoE two-pass architecture surfacing in the API - the same split the local community exploits by speed-LoRA'ing only the low-noise pass.
Installing it
One install for the whole pack. ComfyUI Manager → search "Replicate Select", or:
cd ComfyUI/custom_nodes
git clone https://github.com/Pharma-Lobby/ComfyUI-Replicate-Select
Restart, then set your token - this is the step people miss:
export REPLICATE_API_TOKEN=r8_...
Restart again. The only dependency is replicate>=1.0.7, which Manager handles. No model files, ever.
Where people get burned
First: the output is a file path string, not video frames. To keep building the graph you'll need a VHS Load Video node; otherwise just go look in output/video/. Second: everything you type leaves the machine and hits Replicate's servers - that's the mechanism, not a bug, and the safety checker (toggle disable_safety_checker if you must) is theirs, not yours. Third and most practical: T2V is metered per call, and video calls are where API bills balloon. Iterating 30 prompts on a text-to-video node is the fastest way to spend $20 you didn't mean to. Draft your prompt once, spend your calls on the versions that matter.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Prompt for video generation | |
| optimize_promptopt | BOOLEAN | false | Translate prompt to Chinese before generation |
| num_framesopt | INT | 8181–121 | Number of video frames. 81 frames give the best results |
| aspect_ratioopt | COMBO | 16:9 | Aspect ratio of video. 16:9 corresponds to 832x480px, and 9:16 is 480x832px |
| resolutionopt | COMBO | 480p | Resolution of video. 16:9 corresponds to 832x480px, and 9:16 is 480x832px |
| frames_per_secondopt | INT | 165–30 | Frames per second. Note that the pricing of this model is based on the video duration at 16 fps |
| interpolate_outputopt | BOOLEAN | true | Interpolate the generated video to 30 FPS using ffmpeg |
| go_fastopt | BOOLEAN | true | Go fast |
| sample_shiftopt | FLOAT | 12.001–20 | Sample shift factor |
| seedopt | INT | 0-2147483648–2147483647 | Random seed. Leave blank for random |
| disable_safety_checkeropt | BOOLEAN | false | Disable safety checker for generated video. |
| lora_weights_transformeropt | STRING | Load LoRA weights for transformer. Supports arbitrary .safetensors URLs from the Internet (for example, 'https://huggingface.co/Viktor1717/scandinavian-interior-style1/resolve/main/my_first_flux_lora_ | |
| lora_scale_transformeropt | FLOAT | 1.00-1000000000–1000000000 | Determines how strongly the transformer LoRA should be applied. |
| lora_weights_transformer_2opt | STRING | Load LoRA weights for transformer_2. Supports arbitrary .safetensors URLs from the Internet. Can be different from transformer LoRA. | |
| lora_scale_transformer_2opt | FLOAT | 1.00-1000000000–1000000000 | Determines how strongly the transformer_2 LoRA should be applied. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video_path | STRING | — |