Nodes/Comfyui_wan_api/WanAPI图片转视频
ComfyUI Node

WanAPI图片转视频

Your GPU Never Touches the Model

By penposs·Created 2 years ago·Updated about a year ago· 2
WanAPI图片转视频
    • video_url
    • history_info
    image_url
    modelwanx2.1-i2v-plus
    duration5
    api_key
    prompt
    seed-1
    prompt_extendTrue

    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-turbo is cheaper (¥0.24/sec), faster, and actually honors the 3–5 second range. The node silently clamps plus back 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_KEY from 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.

    Category🎬wan-api/wanapi

    Inputs (7)

    NameTypeDefaultDescription
    image_urlSTRING
    modelCOMBOwanx2.1-i2v-plus2 options: wanx2.1-i2v-plus, wanx2.1-i2v-turbo
    durationCOMBO53 options: 3, 4, 5
    api_keyoptSTRING
    promptoptSTRING
    seedoptINT-1-1–2147483647
    prompt_extendoptCOMBOTrue2 options: True, False

    Outputs (2)

    NameTypeDescription
    video_urlSTRING
    history_infoSTRING