Nodes/KIE.ai Nodes Next/Wan 2.5 - Text to Video
ComfyUI Node

Wan 2.5 - Text to Video

A prompt box, a duration enum, and no download

By felipederosilva·Created about a month ago·Updated about 22 hours ago· 3
Wan 2.5 - Text to Video
    • video
    • url
    • all_urls_json
    • task_id
    • raw_json
    • credits_consumed
    • credits_left
    ◄promptA dimly lit jazz bar at night, wooden tables glowing under warm pendant lights. Patrons sip drinks and chat quietly while a three-piece band performs on stage. The saxophone player stands under a spotlight, gleaming instrument reflecting the light. No dialogue. Ambient audio: smooth live jazz music with saxophone and piano, clinking glasses, low murmur of audience conversations, occasional burst of laughter from a nearby table. Camera: slow pan across the crowd, then gentle zoom toward the saxophone player's solo, focusing on expressive hand movements.►
    ◄duration5►
    ◄aspect_ratio16:9►
    ◄resolution1080p►
    ◄negative_promptblurry, flicker, low quality, distorted people, camera shake►
    ◄enable_prompt_expansiontrue►
    ◄seed123456►
    ◄nsfw_checkerfalse►
    ◄timeout_seconds1200►
    ◄callback_url►

    Text-to-video from a model that has no weights. That's the whole situation with Wan 2.5: Alibaba's cloud-preview generation arrived in September 2025 promising local weights that never shipped, and the community's verdict on the numbered series has been flat-to-hostile ever since - 2.5 was called an upgrade over 2.2, 2.6 and 2.7 got dunked on. Take that with the grain of salt it deserves: almost nobody reviewing those models was comparing them to 2.2 at 480p on their own card.

    So treat this node as one tool in a small box. If you need a shot and you don't have the hardware, or you want to compare how the closed Wan behaves against your local setup, it's one prompt and one click.

    How it works

    prompt (max 800 characters) and duration are required; duration is the string enum 5 or 10. Optional controls are aspect_ratio (16:9, 9:16, 1:1), resolution (1080p default, 720p), negative_prompt, enable_prompt_expansion, seed, plus the pack's usual nsfw_checker, timeout_seconds and callback_url.

    The node submits to KIE's marketplace at /api/v1/jobs/createTask with model wan/2-5-text-to-video, polls /api/v1/jobs/recordInfo until the task resolves, then downloads the MP4 and archives it in ComfyUI/output/KIE-Results/videos. You get a ComfyUI VIDEO object, indistinguishable downstream from something your own GPU produced.

    Inputs that matter

    • prompt - 800 characters is not a lot. Descriptive and specific beats florid.
    • duration - 5 or 10, no thirty-second option.
    • aspect_ratio - 16:9, 9:16, or 1:1. Pick before you generate; it's not a crop you can fix later.
    • resolution - default is 1080p, which is the expensive one. Iterate at 720p.
    • enable_prompt_expansion - defaults to true, unlike the Wan 2.2 nodes where it's off. Great for a two-line prompt; annoying when it paraphrases the shot you carefully wrote.
    • negative_prompt - good default shipped.

    Outputs

    video is the payload; wire it into whatever saves or previews. url, all_urls_json, task_id, and raw_json cover the plumbing and debugging, and credits_consumed / credits_left report the spend as sockets - plus the on-node receipt every generation node in this pack prints when it finishes. That receipt is the fastest way to learn what your 1080p ten-second habit actually costs.

    Install

    cd ComfyUI/custom_nodes
    git clone https://github.com/felipederosilva/ComfyUI-KIE-Nodes-Next
    cd ComfyUI-KIE-Nodes-Next && pip install -r requirements.txt
    

    Then restart ComfyUI and look under KIE Next / Video / Wan. The pack's node list is generated from KIE's live API documentation on startup, which is why each model gets its own node and its own folder instead of one generic API widget - and why the README says the old "Any KIE API" node is intentionally unregistered.

    Key: Settings → KIE.ai Nodes Next → Connection. Paste once, it validates first, then reports ✅ CONNECTED with a masked fingerprint. KIE_API_KEY in the environment works for headless servers and wins over the stored key. Credits are pay-as-you-go, no subscription, and they're metered per second of generated video at the resolution you asked for.

    Common issues

    A failed job still appears in your balance. You pay for the generation, not the outcome. Do your prompt experiments at 720p and 5 seconds.

    Timeout on a 10-second 1080p clip. Raise timeout_seconds from its 1200-second default and queue again rather than killing the graph.

    The shot drifted from the prompt. Prompt expansion is on by default. Turn it off and retry with the same seed.

    No visible result. Not an output node - attach a save or preview.

    Error mentioning comfy_api.latest. Update ComfyUI; older builds can't construct the native VIDEO output.

    CategoryKIE Next/Video/Wan

    Inputs (10)

    NameTypeDefaultDescription
    promptSTRINGA dimly lit jazz bar at night, wooden tables glowing under warm pendant lights. Patrons sip drinks and chat quietly while a three-piece band performs on stage. The saxophone player stands under a spotlight, gleaming instrument reflecting the light. No dialogue. Ambient audio: smooth live jazz music with saxophone and piano, clinking glasses, low murmur of audience conversations, occasional burst of laughter from a nearby table. Camera: slow pan across the crowd, then gentle zoom toward the saxophone player's solo, focusing on expressive hand movements.The text prompt for video generation. Supports Chinese and English. Maximum length: 800 characters.
    durationCOMBO5The duration of the generated video in seconds. - `5`: 5 seconds - `10`: 10 seconds
    aspect_ratiooptCOMBO16:9The aspect ratio of the generated video. - `16:9`: Landscape - `9:16`: Portrait - `1:1`: Square
    resolutionoptCOMBO1080pVideo resolution tier. - `720p`: 720p - `1080p`: 1080p
    negative_promptoptSTRINGblurry, flicker, low quality, distorted people, camera shakeNegative prompt used to describe content to avoid. Maximum length: 500 characters.
    enable_prompt_expansionoptBOOLEANtrueWhether to enable prompt rewriting using LLM. Improves results for short prompts but increases processing time. - Boolean value: `true` / `false`
    seedoptINT123456-2147483648–2147483647Random seed for reproducibility. If omitted, a random seed is chosen.
    nsfw_checkeroptBOOLEANfalseDefaults to false. You can set it to false based on your needs. If set to false, our content filtering will be disabled, and all results will be returned directly by the model itself. Note: There is no guarantee that everything can be filtered out; if you are not satisfied with the results, you will need to make your own arrangements.
    timeout_secondsoptINT120030–7200—
    callback_urloptSTRINGOptional KIE callback URL. Leave empty for normal ComfyUI use.

    Outputs (7)

    NameTypeDescription
    videoVIDEO—
    urlSTRING—
    all_urls_jsonSTRING—
    task_idSTRING—
    raw_jsonSTRING—
    credits_consumedFLOAT—
    credits_leftFLOAT—