Nodes/KIE.ai Nodes Next/PixVerse V6 First & Last Frame Transition
ComfyUI Node

PixVerse V6 First & Last Frame Transition

The shot between two stills

By felipederosilva·Created about a month ago·Updated about 22 hours ago· 3
PixVerse V6 First & Last Frame Transition
  • first_frame_image_url
  • last_frame_image_url
  • video
  • url
  • all_urls_json
  • task_id
  • raw_json
  • credits_consumed
  • credits_left
◄promptA cinematic sunrise illuminates a mist-shrouded mountain lake; the camera slowly sweeps across the water's surface as a flock of birds flies overhead.►
◄quality720p►
◄duration5►
◄generate_audio_switchfalse►
◄seed123456789►
◄timeout_seconds1200►
◄callback_url►

What it is

Keyframe interpolation with a model that understands what's in the frames. You give it a first image and a last image, plus a prompt describing how you get from one to the other, and it generates the video between them.

This is one of the small number of genuinely directing tools in a hosted-video workflow. Most text-to-video nodes give you a shot and hope; here you specify the destination, which makes it the natural way to do a costume change, a camera move, a day-to-night shift, or that specific art-direction trick of landing a shot on an exact frame you've already generated. Pair it with a local image pipeline - generate your start and end stills on your own card with whatever checkpoint you like - and you're using the API only for the part you can't do locally.

Worth knowing: the pack's Seedance 2.0 family treats first-frame and first+last-frame as mutually exclusive scenarios with reference modes, and validates that locally before sending. PixVerse's version here is a dedicated node instead, so there's no mode juggling - it's a transition endpoint with two image inputs and nothing else competing for them.

How it works

The node is generated from KIE's request schema for the transition endpoint. Both first_frame_image_url and last_frame_image_url are native IMAGE sockets, so the pack uploads each to KIE's storage and substitutes the URLs. The job is submitted as a task, polled until it completes or timeout_seconds (1200 by default) is reached, and the resulting clip returns as a ComfyUI VIDEO.

Inputs and outputs

Required:

  • first_frame_image_url (IMAGE) - where the shot starts.
  • last_frame_image_url (IMAGE) - where the shot ends.
  • prompt (STRING) - 3 to 5000 characters. This is the how, not the what: describe the motion, the camera move, the transition, the lighting change.
  • quality - 720p default, plus 360p, 540p, 1080p.
  • duration (INT, 1–15, default 5) - how long the transition takes. A one-second morph and a fifteen-second camera sweep are very different films; this is the setting that decides which you're making.

Optional:

  • generate_audio_switch - off by default.
  • seed - default 123456789, range 0–2147483647. Pin it while you tune the prompt.
  • timeout_seconds, callback_url.

Outputs: video, url, all_urls_json, task_id, raw_json, credits_consumed, credits_left.

Install

Manager: search KIE-Nodes-Next by felipederosilva, install, restart ComfyUI. Or by hand:

cd ComfyUI/custom_nodes
git clone https://github.com/felipederosilva/ComfyUI-KIE-Nodes-Next

Then Settings → KIE.ai Nodes Next → Connection → Paste / replace KIE.ai API key. The key is validated before saving and displayed masked, along with your credit balance. Headless installs can set KIE_API_KEY, which takes priority. requirements.txt is requests, Pillow, numpy, PyYAML - nothing to compile.

Where people get burned

Wildly different endpoints make ugly middles. If your two frames disagree on subject position, style or framing, the model has to invent a path, and invented paths look like morphs. Keep the two frames plausibly related.

Sixteen by nine from a portrait pair. There's no aspect_ratio input on this node - the frame follows your images. Feed it a landscape start and a portrait end and see what it decides.

Duration sets the genre. Five seconds of travel between two very different images reads as a dissolve; fifteen reads as a journey. Pick deliberately.

Prompting the "what" instead of the "how". The images already define what's on screen. Spend your characters on movement, pacing and light.

Two uploads, one generation. Cheaper than a chain, still not free - and credits_consumed will tell you exactly what a transition costs before you build a hundred-shot sequence around it.

Timeout on long, high-quality jobs. Raise timeout_seconds above 1200 before assuming a failure if you're running 15 seconds at 1080p.

CategoryKIE Next/Video/PixVerse

Inputs (9)

NameTypeDefaultDescription
promptSTRINGA cinematic sunrise illuminates a mist-shrouded mountain lake; the camera slowly sweeps across the water's surface as a flock of birds flies overhead.Generate prompt, cannot be empty, length is limited to 3-5000 characters.
first_frame_image_urlIMAGE—
last_frame_image_urlIMAGE—
qualityCOMBO720pOutput video resolution. Supports 360p, 540p, 720p, and 1080p.
durationINT51–15Output video duration in seconds. PixVerse V6 supports 1–15 seconds.
generate_audio_switchoptBOOLEANfalseWhether to generate audio synchronized with the video content.
seedoptINT1234567890–2147483647Random seed, value range is 0–2147483647. Using the same parameters and seed helps improve result reproducibility.
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—