WanAPI图片转视频
Your GPU Never Touches the Model
- video_url
- history_info
The name is a lie, kind of. It says "wan", it lives in ComfyUI, but WanAPI_Image2Video never touches your GPU. No weights, no VAE, no 25-minute local render. Instead it ships your prompt and an image URL to Alibaba's DashScope cloud (the 百炼 platform) and runs the API-only Wan 2.1 image-to-video models, wanx2.1-i2v-plus and wanx2.1-i2v-turbo. Your local job is just waiting for a URL to come back.
That's a genuinely useful niche. Wan's I2V is the community favorite because anchoring the first frame to a known image kills most consistency problems. But the good open Wan needs 12–24GB of VRAM, and the numbered series after 2.2 is API-only anyway - Alibaba never released 2.5, 2.6, or 2.7 weights. If your card can't run Wan 14B, or you're cranking out clips for a batch short-drama pipeline (which is exactly what this pack is built for), renting the inference for a few cents a second beats babysitting a local render.
How it works
You give it an image_url, and it POSTs to DashScope's async video-synthesis endpoint, then polls the task status every 10 seconds for up to about 20 minutes. When the status flips to SUCCEEDED, it returns the hosted mp4 link. Nothing runs on your machine - you're just babysitting a poll loop.
The inputs that actually matter
- model -
wanx2.1-i2v-plus(default) is the quality one: locked to 5 seconds, ¥0.70/sec, roughly 7–10 minutes of processing.wanx2.1-i2v-turbois cheaper (¥0.24/sec), faster, and actually honors the 3–5 second range. The node silently clampsplusback to 5s if you pick 4, so don't fight it. - prompt - your I2V prompt. Keep it motion-focused: describe what happens, not what's already in the frame. The standard Wan prompting advice applies verbatim.
- prompt_extend - defaults to True, which lets Alibaba's auto-expansion rewrite your prompt. Flip it to False when you want your exact wording.
- seed - -1 means random; set a fixed seed to reproduce a shot.
- api_key - optional override. Leave it empty and it reads
DASHSCOPE_API_KEYfrom config.json in the pack folder.
Both outputs are strings, not video tensors: video_url is the mp4 link and history_info is a block of task metadata (task id, model, seed, timing) for logging. Neither wires straight into an upscaler, so the example workflow routes video_url into ShowText and reloads the downloaded file with VHS_LoadVideoPath.
Installing it
ComfyUI Manager → search "Comfyui_wan_api", or:
cd ComfyUI/custom_nodes
git clone https://github.com/penposs/Comfyui_wan_api.git
pip install -r Comfyui_wan_api/requirements.txt
One real gotcha: the shipped requirements.txt only lists requests, Pillow, and numpy, but the code imports modelscope at module load. If the node doesn't appear after install, pip install modelscope first - the README's dependency list is thinner than the actual code.
Where people get burned
This needs an Alibaba Cloud China (DashScope/百炼) account and API key, and getting one outside China is real friction - the models aren't on the international console, and registration typically wants a Chinese phone number. The README's "白嫖" (free ride) framing is also optimistic: you get 200 seconds of promo credit, then it's pay-per-second, so check the billing page before you batch 50 clips. And the image_url has to be publicly fetchable, which is exactly why the sibling WanAPI_ImageUploader node exists - point this node at its output.
Verdict: this is the wrapper I'd reach for when I want Wan I2V quality and my GPU can't host the 14B. Just do the yuan-per-second math first.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| image_url | STRING | — | |
| model | COMBO | wanx2.1-i2v-plus | 2 options: wanx2.1-i2v-plus, wanx2.1-i2v-turbo |
| duration | COMBO | 5 | 3 options: 3, 4, 5 |
| api_keyopt | STRING | — | |
| promptopt | STRING | — | |
| seedopt | INT | -1-1–2147483647 | — |
| prompt_extendopt | COMBO | True | 2 options: True, False |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| video_url | STRING | — |
| history_info | STRING | — |