Wan - 2.2 A14B Text to Video Turbo
See if a prompt has legs before you set up a render
- video
- url
- all_urls_json
- task_id
- raw_json
- credits_consumed
- credits_left
Text-to-video is the mode nobody's favourite and everybody needs. Wan 2.2's T2V-A14B is open weights and genuinely good, but the honest local experience is a 25-minute round trip per clip without a speed LoRA - which is a rough way to find out your prompt is boring. This node is the turbo (accelerated) cut of the same model, hosted by KIE, and it's a reasonable way to spend a dollar instead of an evening.
Use it as the cheap iteration pass: write the prompt, run it at 480p, see whether the motion reads. Then take the one that works into your local pipeline, or just keep paying per clip if the local rig isn't there.
How it works
You give it a prompt, it gives you a video. Under the hood the node posts to KIE's marketplace endpoint /api/v1/jobs/createTask with marketplace model wan/2-2-a14b-text-to-video-turbo, then polls /api/v1/jobs/recordInfo until the job lands, downloads the MP4, and archives it under ComfyUI/output/KIE-Results/videos. What comes back on the video socket is a first-class ComfyUI VIDEO object, so anything that eats video downstream - SaveVideo, a combiner, a preview - works unchanged. No weights, no VRAM, no CUDA version argument.
Inputs that matter
prompt is the only required field, 5000 characters max. Everything else is taste:
resolution-720p(default) or480p. This is the main cost dial, and 480p is the sane thing to iterate at.aspect_ratio-16:9or9:16. Landscape or vertical; there's no square.enable_prompt_expansion- off by default. Flip it on for short prompts; an LLM fills in the detail while keeping your intent. It also means your prompt gets rewritten by a model you can't see, which is worth knowing when results drift.acceleration-noneorregular, defaulting tonone, with the author's own recommendation being to leave it. Faster, softer.seedis typedFLOAT(keep it whole for reproducibility),nsfw_checkeris off by default,timeout_secondssits at 1200 andcallback_urlstays empty.
Outputs
Wire video to something that saves or displays. url gives you the KIE-hosted MP4 link, all_urls_json collects every result URL, task_id is the handle you'd feed to the pack's task-status node to debug a slow job, and raw_json is the provider's unedited response. The last two sockets are credits_consumed and credits_left - after every run the node also shows a receipt on its surface, which is the nicest feature in this pack.
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
Restart, and you'll find it under KIE Next / Video / Wan. The pack registers its model nodes from KIE's live documentation catalog on startup, which is why there are individual nodes per model instead of one generic "call any API" box - the README is explicit that the old generic node is gone on purpose.
Then the key, once: ComfyUI → Settings → KIE.ai Nodes Next → Connection. Paste, validate, ✅ CONNECTED, masked fingerprint displayed. Nothing about your key goes into the workflow JSON. Server installs can use KIE_API_KEY instead.
Common issues
The graph finishes and nothing appears. Add a video node. This isn't an output node - it returns a VIDEO, and if nothing consumes it you get silence.
Long queue times, then an error. timeout_seconds defaults to 20 minutes. At 720p during peak hours, raise it. A timeout doesn't refund the generation.
"Your ComfyUI build does not expose comfy_api.latest.InputImpl.VideoFromFile." Update ComfyUI - native video output needs a recent build.
Prompt expansion quietly rewrote your shot. It's off by default for a reason. Turn it on for vague prompts, off when you wrote exactly what you wanted.
Repeated near-identical clips. T2V has no first frame to anchor to, so seeds wander more than in I2V. Lock the seed between runs when you're comparing prompt variants.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Drone shot, fast traversal, starting inside a cracked, frosty circular pipe. The camera bursts upward through the pipe to reveal a vast polar landscape bathed in golden sunrise light. Workers in orange suits operate steaming machinery. The camera tilts up, revealing the scene from the perspective of a rising hot air balloon. It continues ascending into a glowing sky, the balloon trailing steam and displaying the letters "KIE AI" as it rises into breathtaking polar majesty. | The text prompt to guide video generation. (Max length: 5000 characters) |
| resolutionopt | COMBO | 720p | Resolution of the generated video (480p or 720p). Default value: "720p" |
| aspect_ratioopt | COMBO | 16:9 | Aspect ratio of the generated video (16:9 or 9:16). Default value: "16:9" |
| enable_prompt_expansionopt | BOOLEAN | false | Whether to enable prompt expansion. This will use a large language model to expand the prompt with additional details while maintaining the original meaning. (Boolean value (true/false)) |
| seedopt | FLOAT | 0.000–2147483647 | Random seed for reproducibility. If None, a random seed is chosen. (Min: 0, Max: 2147483647, Step: 1) (step: 1) |
| accelerationopt | COMBO | none | Acceleration level to use. The more acceleration, the faster the generation, but with lower quality. The recommended value is 'none'. Default value: "none" |
| nsfw_checkeropt | BOOLEAN | false | Defaults 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_secondsopt | INT | 120030–7200 | — |
| callback_urlopt | STRING | Optional KIE callback URL. Leave empty for normal ComfyUI use. |
Outputs (7)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| url | STRING | — |
| all_urls_json | STRING | — |
| task_id | STRING | — |
| raw_json | STRING | — |
| credits_consumed | FLOAT | — |
| credits_left | FLOAT | — |