Nodes/ComfyUI_RunpodNodes/RunPod WAN 2.2 I2V 720p
ComfyUI Node

RunPod WAN 2.2 I2V 720p

This RunPod node does the heavy lifting server-side

By tcarwash·Created 8 months ago·Updated 8 months ago· 0
RunPod WAN 2.2 I2V 720p
  • input_image
  • video_url
api_key
promptcinematic shot: slow-tracking camera glides parallel to a giant white origami boat
image
negative_prompt
size1280*720
num_inference_steps30
guidance5.0
duration5
flow_shift5
seed-1
enable_prompt_optimizationfalse
enable_safety_checkertrue

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 image field is a URL string; connect a ComfyUI IMAGE tensor to input_image and 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.

CategoryRunPod/Video

Inputs (13)

NameTypeDefaultDescription
api_keySTRING
promptSTRINGcinematic shot: slow-tracking camera glides parallel to a giant white origami boat
imageSTRING
negative_promptSTRING
sizeSTRING1280*720
num_inference_stepsINT301–50
guidanceFLOAT5.00–10
durationINT51–10
flow_shiftINT51–10
seedINT-1-1–2147483647
enable_prompt_optimizationBOOLEANfalse
enable_safety_checkerBOOLEANtrue
input_imageoptIMAGE

Outputs (1)

NameTypeDescription
video_urlSTRING