Wan 2.6 - Image to Video
A still, a sentence, and up to fifteen seconds
- image_urls
- video
- url
- all_urls_json
- task_id
- raw_json
- credits_consumed
- credits_left
I2V is where most people actually live, because anchoring frame one does more for consistency than any sampler trick. Wan 2.6 is the December 2025 closed-weight release - no local weights, API only, and the community was blunt about it. What the API does give you is fifteen-second clips at 1080p with optional sound, from a single image, without touching your VRAM budget.
This is the mainstream I2V node in the pack's Wan folder: image in, prompt in, clip out. Reach for it when you've already got the frame right and just need it moving.
How it works
Required: prompt and image_urls. The prompt field accepts Chinese and English, minimum 2 characters, max 5000. image_urls is a plural-named IMAGE socket, so a batch is accepted - practically, you feed it the frame you want animated.
The node uploads your image to KIE, POSTs to /api/v1/jobs/createTask with marketplace model wan/2-6-image-to-video, polls /api/v1/jobs/recordInfo until the task resolves, then downloads the finished MP4 into ComfyUI/output/KIE-Results/videos and hands back a native ComfyUI VIDEO. Your ComfyUI only ever sees the HTTP client: requests, Pillow, numpy, PyYAML.
Inputs that matter
image_urls- a clean first frame. Resolution here affects the model's framing more than your output tier does.prompt- motion and camera language, not a description of the picture. "Anthropomorphic fox singing a Christmas song at the rubbish dump in the rain" is the shipped default, which tells you the model wants a whole scene beat rather than a caption.duration-5,10, or15seconds. The long end is where this node beats the 2.5 generation.resolution-1080p(default) or720p. The single biggest cost lever.multi_shots- off by default. On, it builds the clip as multiple shots with transitions instead of one continuous take.
Then the pack's standard trio: nsfw_checker off, timeout_seconds at 1200, callback_url empty.
Outputs
video to a save/preview/combiner. url and all_urls_json if you want the hosted file or every artifact the endpoint returned; task_id to trace a job; raw_json for the full provider response; credits_consumed and credits_left for the money, with a receipt printed on the node after each run. Fifteen-second 1080p clips are exactly the thing that receipt exists for.
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 ComfyUI and look in KIE Next / Video / Wan. The folder tree is generated from KIE's live API catalog on startup - the pack intentionally doesn't present one generic "any API" node, so each model gets its own class and its own inputs.
One-time key: Settings → KIE.ai Nodes Next → Connection → Paste / replace KIE.ai API key. Validated before it's saved; masked fingerprint shown; full key stays backend-side and out of the workflow JSON. KIE_API_KEY for headless installs. KIE bills credits per second of video, tiered by resolution, and there's no subscription attached.
Common issues
A 15-second 1080p run costs multiples of a 5-second 720p one. That's linear metering on duration and resolution at once. Storyboard at 720p/5s, then spend on the takes that earn it.
The clip comes back as separate shots. multi_shots got turned on.
Timed out at 20 minutes. Raise timeout_seconds (default 1200) for long high-res jobs during peak hours. Cancelling doesn't refund the generation.
Nothing renders in the UI. Not an output node - attach a video save or preview.
Errors referencing comfy_api.latest.InputImpl.VideoFromFile. Your ComfyUI predates the native VIDEO type. Update it.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Anthopmopric fox singing a Christmas song at the rubbish dump in the rain. | Text prompts for video generation. Supports both Chinese and English, with a minimum of 2 characters and a maximum of 5,000 characters. (Max length: 5000 characters) |
| image_urls | IMAGE | — | |
| durationopt | COMBO | 5 | The duration of the generated video in seconds |
| resolutionopt | COMBO | 1080p | Video resolution tier |
| multi_shotsopt | BOOLEAN | false | The multi shots parameter controls the shot composition style during AI video generation, determining whether the generated video is a single continuous shot or multiple shots with transitions. |
| 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 | — |