Nodes/KIE.ai Nodes Next/Wan 3.0 - Video Prime
ComfyUI Node

Wan 3.0 - Video Prime

Identical sockets, one model id different

By felipederosilva·Created about a month ago·Updated a day ago· 3
Wan 3.0 - Video Prime
  • first_frame_url
  • last_frame_url
  • reference_image_urls
  • reference_video_1
  • reference_video_2
  • reference_video_3
  • reference_audio_1
  • reference_audio_2
  • reference_audio_3
  • video
  • url
  • all_urls_json
  • task_id
  • raw_json
  • credits_consumed
  • credits_left
◄promptA kitten running across a rooftop under the moonlight, neon lights flickering in the distance, cinematic quality, with smooth camera movement.►
◄reference_file_urls[]►
◄reference_link_urls[]►
◄resolution1080P►
◄aspect_ratioadaptive►
◄duration5►
◄audiotrue►
◄seed0►
◄nsfw_checkerfalse►
◄timeout_seconds1200►
◄callback_url►

The pack ships two Wan 3.0 video nodes and they are the same node. Same prompt, same first/last frame sockets, same reference image/video/audio inputs, same file and link modes, same resolution ladder, same audio boolean. The only difference is which KIE marketplace model gets called - wan/3-0-video-prime instead of wan/3-0-video.

That's worth stating plainly because the pack's node tree is generated from KIE's API documentation, and KIE documents each model version as its own page. So you get one ComfyUI class per version, with the model selector removed from the user's hands. The upside: the two nodes are drop-in swappable, so you can test both on the same graph and compare. The downside: nothing on the canvas tells you which is the pricier one except the credits receipt after the run.

How it works

prompt is required - up to 20,000 characters, truncating beyond that, and it's the field that addresses references by name ("Image1", "Video1", "Audio1" per the tooltip). Everything else is optional: first_frame_url and last_frame_url (IMAGE), reference_image_urls (IMAGE), reference_video_1/2/3 (VIDEO), reference_audio_1/2/3 (AUDIO), reference_file_urls and reference_link_urls (JSON strings, one document or one public page), resolution, aspect_ratio, duration, audio, seed, nsfw_checker, timeout_seconds, callback_url.

Connected media is uploaded to KIE, then the node POSTs to /api/v1/jobs/createTask and polls /api/v1/jobs/recordInfo until the job finishes, downloads the result to ComfyUI/output/KIE-Results/videos, and returns a native VIDEO.

Inputs that matter

  • prompt - huge limit, and the only required field. For anything but pure text-to-video, the docs recommend pairing it with media.
  • duration - default 5, integer; 2-30 without a video input, -1 for the model's own choice, and with reference videos the input plus output has to stay within 30 seconds.
  • resolution - 1080P default, 720P, 480P (capital P on this endpoint). aspect_ratio defaults to adaptive, which picks based on your input.
  • audio - true by default, so silent drafts need an explicit click.
  • The reference sockets - images, up to three videos, up to three audio clips. And the two document modes, which are mutually exclusive with each other and with first/last frame.

Outputs

video for saving or chaining, url and all_urls_json for the hosted artefacts, task_id to trace a job, raw_json for the provider's response, and credits_consumed / credits_left for the cost. The receipt printed on the node after each run is the practical way to find out what the Prime tier charges versus the standard one - run the same prompt on both nodes and compare the numbers rather than guessing.

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 afterwards. Nothing here runs a model locally - the pack's dependency list is requests, Pillow, numpy, PyYAML, and its nodes are generated from KIE's live catalog at startup. You'll find both Wan 3.0 nodes under KIE Next / Video / Wan.

Key, once for the whole pack: Settings → KIE.ai Nodes Next → Connection → Paste / replace KIE.ai API key. It's validated against KIE before replacing anything saved, then reports ✅ CONNECTED and a masked fingerprint. The full key stays backend-side and never enters workflow JSON. KIE_API_KEY takes priority for headless installs. KIE is pre-paid credits - no subscription, one balance across the catalogue.

Common issues

Which one do I pick? Start with Wan 3.0 Video. Swap to Prime on the same graph when you want to see the difference, and compare credits_consumed between the two runs.

Scrambled widgets in a saved Wan 3.0 workflow. The audio control was miscategorised as an AUDIO socket in pack versions before v0.4.13; v0.4.14 added a migration that repairs the shifted layout when the workflow opens. Update the pack, reopen, and don't hand-rebuild the node.

Mode conflict errors. File-to-video, link-to-video, and first/last frame are mutually exclusive per the endpoint docs.

A 30-second clip with audio is the most expensive thing on this page. Test with short, silent, 480P drafts.

Timeout. timeout_seconds defaults to 1200; raise it for long jobs rather than re-queueing.

comfy_api.latest / VideoFromFile errors. Update ComfyUI - the native VIDEO output needs a current build.

CategoryKIE Next/Video/Wan

Inputs (20)

NameTypeDefaultDescription
promptSTRINGA kitten running across a rooftop under the moonlight, neon lights flickering in the distance, cinematic quality, with smooth camera movement.Text prompt. Chinese and English are supported. Up to 20,000 characters; excess characters are truncated automatically. Required for text-to-video; for other modes, it is recommended to provide it together with media. In reference mode, use Image1/Video1/Audio1 to reference the provided materials.
first_frame_urloptIMAGE—
last_frame_urloptIMAGE—
reference_image_urlsoptIMAGE—
reference_video_1optVIDEO—
reference_video_2optVIDEO—
reference_video_3optVIDEO—
reference_audio_1optAUDIO—
reference_audio_2optAUDIO—
reference_audio_3optAUDIO—
reference_file_urlsoptSTRING[]File-to-video generation. Up to 1 file. Cannot be provided together with `reference_link_urls`, or with the first-frame/last-frame image. Formats: docx/doc/xlsx/xls/pptx/ppt/pdf/txt/key/pages/numbers/md; ≤ 100MB; pdf/docx/ppt/key/pages, etc. ≤ 50 pages.
reference_link_urlsoptSTRING[]Link-to-video generation. Up to 1 publicly accessible webpage that does not require login. Cannot be provided together with `reference_file_urls`, or with the first-frame/last-frame image.
resolutionoptCOMBO1080POutput resolution level. Default: **1080P**.
aspect_ratiooptCOMBOadaptiveOutput aspect ratio. `adaptive` (default) automatically selects the aspect ratio based on the input materials and intent.
durationoptINT5-2147483648–2147483647Output video duration in seconds. Default: 5. When there is no video input, the value must be within [2, 30]. When reference videos are provided: input video duration plus output duration ≤ 30. Pass `-1` to use an intelligent duration determined by the model.
audiooptBOOLEANtrueWhether the output video includes an audio track. Default: true.
seedoptINT00–2147483647Random seed used to reproduce results. If omitted, a random seed is used.
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—