Chutes Wan 2.2 Fast (API)
Wan 2.2 image-to-video without the 40-minute wait
- image
- video_path
The full name is honest about it: this is Chutes Wan 2.2 Fast (API), an image-to-video node that runs the model for you on a server, not your GPU. Local Wan 2.2 14B I2V is genuinely great, but a 720p 81-frame clip runs 25–40 minutes on a 4090. If you don't have that card, or that patience, this node hands your image to Chutes.ai's hosted "Fast" variant of Wan 2.2 I2V-14B and drops a finished MP4 into your ComfyUI output folder.
No model download, no VRAM budget, no sampler tuning - just an image, a prompt, an API key, and a wait. It's a thin client for somebody else's GPU.
How it actually works
Open the source and it's a short script with a big trust boundary. The node converts your image tensor to a base64 PNG, then POSTs a JSON payload - prompt, negative prompt, resolution, frames, fps, fast, seed, and two guidance scales - to https://chutes-wan-2-2-i2v-14b-fast.chutes.ai/generate with your key as a Bearer token. Then it waits, up to a 10-minute timeout, and either downloads the video directly or follows a url in the JSON response. It saves the result as chutes_wan_<random>.mp4 in ComfyUI's output directory.
The dependencies are embarrassingly light for a video node: requests, Pillow, numpy. That's it. Everything heavy lives on the Chutes side.
The inputs that matter
You set three required inputs and probably ignore everything else on day one:
image- any IMAGE tensor, typically from a Load Image node. Only the first frame of a batch gets sent, so feed it a single image.prompt- describe the motion you want. It defaults to"A cinematic video..."- a fine starting point, but you'll want to write a real one.api_key- your Chutes.ai key from account settings. There's no environment-variable fallback; you paste it into the node.
Optional, in rough order of usefulness: resolution (480p or 720p - 720p is what you want for anything you'll actually show someone), frames (21–140, default 81, Wan's native context), fps (16–24, default 16), and seed (-1 for random). The fast toggle defaults to true and is the whole point - it flips on Chutes' "ultra-fast Pruna mode," the distilled serving variant. guidance_scale and guidance_scale_2 both default to 1.0, which is the right home for a distilled model; leave them alone until you know why you're changing them. The negative_prompt default is the Chinese quality prompt the API ships with - Wan 2.2's standard "bad quality, distorted hands, static frame" blocklist. Keep it.
Outputs
One output: video_path, a STRING holding just the filename (e.g. chutes_wan_482913.mp4). This is the trap. It's not an IMAGE, so you can't wire it into a preview or video-loading node - the workflow ends when the file is saved. Check your output folder, or read the console, where the node prints the full path. Also worth knowing: the render runs on the API side, so ComfyUI's queue stays blocked until it finishes - a long coffee break on a busy host.
Installing it
ComfyUI Manager is the easy path: search for "Chutes" and install the pack. Manual is the same as any custom node:
cd ComfyUI/custom_nodes
git clone https://github.com/sirouk/chutes-comfyui-node
cd chutes-comfyui-node
pip install -r requirements.txt
Restart ComfyUI after. You'll see Chutes Wan 2.2 Fast (API) under the Chutes/Wan category. You also need a Chutes.ai account and API key (generate one in account settings). The README asks for ComfyUI v0.5.11+ and Python 3.10+. One tell that this pack is young: the README and pyproject.toml still say git clone https://github.com/YOUR_USERNAME/chutes-comfyui-node.git. Use the real URL above.
Where people get burned
- The key lives in your workflow file. There's no env-var path, so your key is plaintext in the saved JSON. Don't share workflows with a key in them.
- Errors are loud but terminal. Bad key, image too large, endpoint hiccup - you get an exception with the API's response text, and the node dies. There's no retry, and the hardcoded URL means a server-side endpoint change breaks it until the pack updates.
- It costs money and uploads your image. This is a hosted API, not a free local fallback. If your image or subject is private, this node is the wrong tool.
- No local preview. You get a filename, not pixels, so plan the workflow around checking the output folder.
If you have a 4090 and an hour, run Wan 2.2 locally and keep the money. If you have neither, this is the quickest on-ramp to the last open Wan's I2V quality in the ecosystem.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| prompt | STRING | A cinematic video... | — |
| api_key | STRING | — | |
| negative_promptopt | STRING | 色调艳丽,过曝,静态,细节模糊不清,字幕,风格,作品,画作,画面,静止,整体发灰,最差质量,低质量,JPEG压缩残留,丑陋的,残缺的,多余的手指,画得不好的手部,画得不好的脸部,畸形的,毁容的,形态畸形的肢体,手指融合,静止不动的画面,杂乱的背景,三条腿,背景人很多,倒着走 | — |
| resolutionopt | COMBO | 480p | 2 options: 480p, 720p |
| framesopt | INT | 8121–140 | — |
| fpsopt | INT | 1616–24 | — |
| fastopt | BOOLEAN | true | — |
| seedopt | INT | -1-1–2147483647 | — |
| guidance_scaleopt | FLOAT | 1.00–10 | — |
| guidance_scale_2opt | FLOAT | 1.00–10 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video_path | STRING | — |