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 | Upload an image file to use as input for the API (File URL after upload, not file content; Accepted types: image/jpeg, image/png, image/webp; Max size: 10.0MB),All images must be at least 256x256px. | |
| 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. When false, no additional content filtering is applied and results are returned directly by the model. |
| 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 | — |