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

Wan 2.6 - Video to Video

Hand it footage and say what should change

By felipederosilva·Created about a month ago·Updated a day ago· 3
Wan 2.6 - Video to Video
  • video_1
  • video_2
  • video_3
  • video
  • url
  • all_urls_json
  • task_id
  • raw_json
  • credits_consumed
  • credits_left
◄promptThe video drinks milk tea while doing some improvised dance moves to the music.►
◄duration5►
◄resolution1080p►
◄multi_shotsfalse►
◄nsfw_checkerfalse►
◄timeout_seconds1200►
◄callback_url►

The interesting thing about 2026's video editing models is that masking and ControlNet preprocessors have quietly become optional. You stop building a mask, you stop extracting poses, and you type an instruction instead. Wan 2.6's video-to-video endpoint is the closed-weight route to that; the open-weight route is Bernini or VACE, and those cost you serious GPU time - Bernini editing runs roughly double an equivalent generation because your source clip joins the model's input sequence.

So: reach for this when you want a change without a pipeline, and accept that the footage leaves your machine.

How it works

prompt is required - that's your edit instruction. video_1, video_2, video_3 are optional VIDEO sockets (the pack's native-socket translation of KIE's plural video reference array: VIDEO and AUDIO have no universal batch socket in ComfyUI, so you get numbered inputs instead of a JSON URL list). duration is 5 or 10, resolution is 1080p or 720p, multi_shots switches between one continuous take and a cut-together sequence.

Each connected clip is written to a temp MP4, uploaded to KIE, and submitted to /api/v1/jobs/createTask with model wan/2-6-video-to-video. The node polls /api/v1/jobs/recordInfo until the task finishes, downloads the result to ComfyUI/output/KIE-Results/videos, and emits a native VIDEO.

Inputs that matter

  • prompt - write the change, not a caption. The shipped default reads "The video drinks milk tea while doing some improvised dance" - that's the register the model expects.
  • video_1 - normally the only socket you need. The other two are for multi-clip references.
  • duration - 5 or 10 seconds of output.
  • resolution - 1080p by default; 720p when you're still deciding.

Standard extras: nsfw_checker (off), timeout_seconds (1200), callback_url (leave empty). And no seed socket, so an individual edit isn't reproducible by number.

Outputs

video for saving, previewing, or feeding another edit in the chain. url and all_urls_json keep the hosted links, task_id traces the job, raw_json is the full response, and credits_consumed / credits_left report the cost - mirrored as a printed receipt on the node after every run.

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. The pack ships no model files - the wrapper is requests, Pillow, numpy, PyYAML, and the models live on KIE's servers. Nodes are generated from KIE's live API catalog on startup, so this one appears under KIE Next / Video / Wan.

Key, once: Settings → KIE.ai Nodes Next → Connection → Paste / replace KIE.ai API key. It's validated before overwriting a working saved key; you get ✅ CONNECTED and a masked fingerprint; the full key never enters workflow JSON. Servers can set KIE_API_KEY, which wins over the stored key. KIE is pay-as-you-go credits - no subscription, and it's a reseller marketplace, so the same key reaches every model on their list.

Common issues

The edit is too subtle, or too broad. V2V instruction-following is prompt-sensitive and there's no strength dial on this node - you can't dial a denoise value like you would on a local img2img. Rewrite the instruction; that's your only lever.

Source video rejected. Odd codecs or ancient containers sometimes fail upload. Re-encode to a plain H.264 MP4 first.

Timeout. Default 1200 seconds. Editing jobs queue alongside generations; raise it.

Nothing renders. Not an output node - attach a preview or save.

comfy_api.latest.InputImpl.VideoFromFile errors. Update ComfyUI; native in/out video objects need a current build of both directions here, since this node uploads one.

CategoryKIE Next/Video/Wan

Inputs (10)

NameTypeDefaultDescription
promptSTRINGThe video drinks milk tea while doing some improvised dance moves to the music.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)
video_1optVIDEO—
video_2optVIDEO—
video_3optVIDEO—
durationoptCOMBO5The duration of the generated video in seconds
resolutionoptCOMBO1080pVideo resolution tier
multi_shotsoptBOOLEANfalseThe 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_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—