Nodes/ComfyUI API Toolkit/Kling 3.0 Turbo Image to Video
ComfyUI Node

Kling 3.0 Turbo Image to Video

Your Frame, Up to 15 Seconds of It Moving

By IxMxAMAR·Created 7 months ago·Updated 23 days ago· 1
Kling 3.0 Turbo Image to Video
  • auth
  • image
  • video
  • video_file
  • audio
  • url
  • task_id
◄prompt►
◄resolution720p►
◄duration5►

This is the node you reach for when the still is already perfect. You spent an hour getting a face, a pose and a look right - locally, for free, with a checkpoint and a LoRA - and now you want it to breathe for five seconds. Feeding that image in as the first frame is the highest-control, lowest-waste way to use a video model, and it's dramatically cheaper than burning video credits re-rolling prompts to find a frame you already have.

It's one of the two Kling 3.0 Turbo nodes in this pack, and yes, "Turbo" is the fast tier rather than a synonym for "better."

Inputs

auth comes from the pack's Kling AI Authentication node. image is the frame you're animating - it gets sent as the first frame, base64-encoded and inlined into the request.

prompt is optional and describes the motion, not the picture. Short and physical beats long and poetic: "she turns her head and smiles, hair moving" does more than a paragraph of mood.

resolution is 720p or 1080p. duration is an integer from 3 to 15 seconds.

Notice what isn't here: there's no aspect ratio input and no negative prompt. The frame's own dimensions drive the output geometry, so the aspect ratio question is answered by your image. And 3 seconds is the floor - that's the cheapest test you can run, not 1 or 2.

Outputs

Five of them, and they're worth understanding because two are commonly confused:

  • video - the decoded IMAGE batch of frames. This is what you wire into a preview or a video-combine node.
  • video_file - the filename the node saved into ComfyUI's output directory. It's a name, not a path to hand to an arbitrary loader.
  • audio - an AUDIO stream extracted from the downloaded clip with torchaudio. It's best-effort: no audio track or no torchaudio installed means a silent placeholder and a console warning, not a crash.
  • url - Kling's temporary hosted link to the clip. Grab it while it's warm.
  • task_id - the job id, for tracing the run on Kling's side.

How it works

Both Turbo nodes use Kling's newer unified /tasks API rather than the older per-model endpoints the rest of the pack's video nodes use. The request builders differ: this one sends a contents array containing a first_frame entry plus an optional prompt entry, with a settings object holding resolution and duration. The node submits the job, polls /tasks with adaptive intervals and status lines, pulls the video URL from the finished task, downloads it, and decodes it into a tensor plus an audio stream.

That polling loop is patient - up to 1200 seconds - and if the task fails you get Kling's own reason string in the exception, which is usually the actual answer.

Installing

cd ComfyUI/custom_nodes
git clone https://github.com/IxMxAMAR/ComfyUI-API-Toolkit
cd ComfyUI-API-Toolkit
pip install -r requirements.txt

Kling requires requests and PyJWT; there are no weights to download and nothing runs on your GPU. Manager → "API Toolkit" works too.

The one that bites everybody

Turbo needs a real API key, not the access/secret pair. The classic Kling authentication is a JWT signed from an access key and a secret key, and that still works for the older nodes. The 3.0 Turbo endpoints want the newer single API key instead. If you haven't filled the optional api_key field on the Kling AI Authentication node - and haven't set KLING_API_KEY - this node stops immediately with a message saying exactly that, before it ever calls the API. Check the auth node first, every time.

Everything here is metered. Video is the expensive modality by a wide margin, priced by the second and the resolution, and there's no local fallback because Kling's models aren't distributed as weights at all. Prototype at 720p for 3 seconds, confirm the motion is right, then spend the credits on the version you'll keep.

Long jobs look like hangs. They aren't. A 15-second 1080p generation sits in the queue for a while and the node prints progress every few seconds; watch the console rather than the canvas.

Your image leaves your machine. That's the deal with any API node - a credential and an outbound request by design. If the frame is someone's face or a client's asset, that's a decision to make consciously, not a default.

CategoryAPI Toolkit/Kling AI/Video

Inputs (5)

NameTypeDefaultDescription
authKLING_AUTH—
imageIMAGE—
promptSTRINGOptional text prompt to guide the video generation from the image.
resolutionCOMBO720pOutput resolution.
durationINT53–15Video duration in seconds.

Outputs (5)

NameTypeDescription
videoIMAGE—
video_fileSTRING—
audioAUDIO—
urlSTRING—
task_idSTRING—