Nodes/ComfyUI-Kling-Direct/Kling Video Extend
ComfyUI Node

Kling Video Extend

Append seconds to a finished Kling video — by task ID, not re-render

By IxMxAMAR·Created 5 months ago·Updated 2 months ago· 4
Kling Video Extend
  • auth
  • video
  • video
  • video_file
  • audio
  • url
  • task_id
video_id
prompt
negative_prompt
cfg_scale0.50

Kling's text-to-video tops out at 15 seconds per job, and most good shots need more runway than that. KlingDirect_VideoExtend is the pack's answer: take a video you already generated and append more seconds onto it - continuing the scene, not re-rendering from scratch. It's the difference between "extend the story" and "regenerate and hope."

The mechanism is what makes it worth using: instead of feeding it the video file, you feed it the task ID of the previous generation. Kling keeps your renders server-side and extends from the actual ending frames of the original clip, so the continuation is seeded by where the video actually stopped - which is how you get a coherent "and then" rather than a jump cut to a new hallucination. The video_id input is forceInput, so wire the previous node's task_id straight in.

What you set

  • video_id - the task ID of the video to extend. Required. This is the whole point.
  • prompt - what should happen in the extended portion. "The character turns and walks toward the door" - describe the new action.
  • negative_prompt - things to avoid in the extension.
  • cfg_scale - 0.5 default, 0–1 range, same meaning as the other Kling nodes: higher sticks closer to the prompt.
  • video (IMAGE, optional) - an optional preview/reference of the original frames. Not required for the extension to work; the server already has the source by task ID.

Outputs

The standard five: video (the extended clip as IMAGE frames), video_file, audio, url, task_id - and that task_id is the fun part, because you can chain extends: generate → extend → extend again, each step consuming the previous task ID to keep the story rolling past the model's single-shot length limits.

Install and what it needs

Part of ComfyUI-Kling-Direct: ComfyUI Manager → search "Kling Direct" → install, or git clone https://github.com/IxMxAMAR/ComfyUI-Kling-Direct into ComfyUI/custom_nodes, then restart. No local models. Needs Kling keys from https://app.klingai.com/global/dev (KYC required) via the Kling AI Authentication node or KLING_ACCESS_KEY/KLING_SECRET_KEY env vars, plus correct region (Singapore default).

Where people get burned

  • Retyping a task ID. It's an opaque string; one wrong character and the extension fails server-side. Wire task_id from the source node directly instead of copying it.
  • Cross-region task IDs. A task created in Singapore isn't visible to the China endpoint and vice versa. Keep one region across a chained generation.
  • Cost scaling. Every extend is a fresh video job billed at the full rate for its duration. A 15s clip extended twice is three paid renders total - budget before you chain.
  • Prompt drift. The extension is guided by your new prompt, and the model can wander if the prompt contradicts the established scene. Describe the continuation, not a new scene.

The workflow that makes this sing: Text to Videotask_idVideo Extendtask_id → extend again, then Video to File for a single playable MP4 of the whole story.

CategoryKling AI/Video

Inputs (6)

NameTypeDefaultDescription
authKLING_AUTH
video_idSTRINGTask ID of the video to extend (from a previous generation).
promptSTRINGPrompt for the extended portion.
negative_promptSTRINGThings to avoid in the extended video.
cfg_scaleFLOAT0.500–1Classifier-free guidance scale.
videooptIMAGE

Outputs (5)

NameTypeDescription
videoIMAGE
video_fileSTRING
audioAUDIO
urlSTRING
task_idSTRING