RunPod WAN 2.2 I2V 720p
This RunPod node does the heavy lifting server-side
- input_image
- video_url
Wan 2.2 is the last open Wan, the model the local video world consolidated on, and running it well locally is a chore: the 27B MoE with 14B active needs a serious card, and at 1280×720 a single clip can take ~25 minutes on a 5090. This node flips all of that on its head. You never download a checkpoint, never watch a VRAM gauge, never babysit swap. You paste a RunPod API key, wire up an image, and a server somewhere else does the denoising while your ComfyUI just polls.
That's the honest trade to understand before you use it. Wan 2.2 has open weights - this isn't a model you can't run locally, it's a model you choose not to. The node is pure convenience: per-call billing (the README quotes roughly $0.30–1.20 per video) and your prompt and reference image leave your machine for RunPod's servers. If that's fine, you've just turned a multi-GB video workflow into a single node.
What it actually is
RunPod_WAN22I2V720 is an image-to-video wrapper around RunPod's wan-2-2-i2v-720 public endpoint, part of the tcarwash/ComfyUI_RunpodNodes pack that wraps ~27 of RunPod's hosted models. It doesn't import any diffusion code. Look at the pack's source and you'll see a factory function that builds a node class per endpoint: the node posts your job to https://api.runpod.ai/v2/wan-2-2-i2v-720/run with your key in the Authorization header, then polls the status endpoint every second until the job reports COMPLETED. Each status change prints a [RunPod] Status: IN_PROGRESS (elapsed: 15s) style line to the ComfyUI console, so it looks like it's hanging while it's really just waiting - typical jobs run 30–120 seconds.
Because the model is a flow-matching architecture, your CFG instincts from SDXL mostly don't apply. Wan's guidance and flow_shift controls sit in the node, and the defaults (5 and 5) are close to the community sweet spot - the KB's troubleshooting table puts Wan 2.1/2.2 guidance at 5–7, with the official recommendation around 6.
The inputs that matter
The node's full input list is long but you'll touch maybe four of them:
- api_key - your RunPod key from the console. There's no file, no env var; it's a plain text field on the node. Reuse one key across a whole graph with a Primitive node.
- prompt - what you want to happen. I2V prompts read like scene directions: "cinematic shot: slow-tracking camera glides parallel to a giant white origami boat" is the default, and it's a good template.
- input_image (or image) - the frame to animate. The
imagefield is a URL string; connect a ComfyUI IMAGE tensor toinput_imageand the node base64-encodes it into a data URL and sends that instead, which is the more useful path since the connected tensor wins. - duration - 1–10 seconds, default 5. This is the lever people actually move.
Everything else has a sensible default: num_inference_steps 30 (1–50), guidance 5 (0–10), flow_shift 5 (1–10), size 1280*720, seed -1 for random. negative_prompt is there and sometimes helps. enable_prompt_optimization (off by default) and enable_safety_checker (on by default) are the endpoint's own switches - and since the filter runs on RunPod's side, there's no local abliteration available for it. That's the price of the API path.
Wiring the output
The single output is video_url, a STRING - not a VIDEO object. You need a "Load Video from URL" node or a Save Text node to do anything with it, and the URL expires after about seven days, so grab it immediately if you want to keep it. That expiry is a real footgun if you batch a bunch of jobs and come back later.
Install
ComfyUI Manager (search "RunPodNodes" or "ComfyUI_RunpodNodes"), or the manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/tcarwash/ComfyUI_RunpodNodes
Then restart ComfyUI. No requirements.txt, no model downloads, no Python conflicts to resolve - the pack only uses requests, PIL, torch, and numpy, all already in ComfyUI. That's the single best thing about this pack.
One caution before you paste a paid key into any API-wrapper node: it's arbitrary Python that calls the network by design, and that category has already shipped malware once (the LLMVISION incident). This pack is brand-new (January 2026, no community track record) and the README still has placeholder text, so it's worth a skim of the code on first install. RunPod's own worker-comfyui is the more battle-tested route if you'd rather self-host the worker.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | STRING | — | |
| prompt | STRING | cinematic shot: slow-tracking camera glides parallel to a giant white origami boat | — |
| image | STRING | — | |
| negative_prompt | STRING | — | |
| size | STRING | 1280*720 | — |
| num_inference_steps | INT | 301–50 | — |
| guidance | FLOAT | 5.00–10 | — |
| duration | INT | 51–10 | — |
| flow_shift | INT | 51–10 | — |
| seed | INT | -1-1–2147483647 | — |
| enable_prompt_optimization | BOOLEAN | false | — |
| enable_safety_checker | BOOLEAN | true | — |
| input_imageopt | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video_url | STRING | — |