Nodes/ERPK Collection/Kling 2.5 Turbo Image-to-Video
ComfyUI Node

Kling 2.5 Turbo Image-to-Video

The fast, cheap way to animate a frame

By eRepublik-Labs·Created 11 months ago·Updated 21 days ago· 1
Kling 2.5 Turbo Image-to-Video
  • image
  • last_image
  • client
  • video_url
modelKling 2.5 Turbo
prompt
image_url
negative_prompt
guidance_scale0.50
duration5
last_image_url
seed-1

Kling 2.5 Turbo is the budget end of the Kling family, and this node is how you reach it from ComfyUI. Give it a still frame, describe the motion you want, and a cloud server returns a 5- or 10-second clip. It's not the newest Kling - that's O3 and 2.6 - but Turbo exists because sometimes you want to animate a frame without lighting money on fire, and that's exactly the job it's good at.

It ships in the ERPK Collection, the community pack wrapping the WaveSpeed AI API. No local model, no VRAM math: WaveSpeed's cloud does the work, you pay per clip.

How it works

Connect an image, write a prompt (max 2500 characters), pick duration and prompt-adherence, and the node uploads your frame to api.wavespeed.ai. It polls every 10 seconds, up to 15 minutes, then hands you a video_url STRING. That string goes into the pack's Preview Anything node to watch and download.

One quirk worth knowing before you start: on this endpoint the seed widget is cache control, not reproducibility. Fixed value → ComfyUI serves a cached result and skips the call. Randomized → fresh, billed generation every queue. You choose.

The inputs that matter

  • image - your start frame as an IMAGE tensor; preferred over image_url (a URL fallback, with the API's constraints: JPG/JPEG/PNG, min 300×300, aspect between 1:2.5 and 2.5:1).
  • prompt - the motion. Max 2500 chars, so it won't fit a novella; keep it to what moves and how.
  • model - Kling 2.5 Turbo or Kling 2.5 Turbo Pro. Pro is the one that supports last_image, an end-frame for keyframe interpolation - genuinely handy if you want the clip to finish on a specific shot instead of wherever the model stops.
  • guidance_scale - 0.0 to 1.0, default 0.5. Higher = sticks closer to your prompt, less creative deviation. This is the knob to turn when the clip keeps ignoring your instructions.
  • negative_prompt - what to suppress. Works the way you'd expect from image models; useful for killing recurring artifacts.
  • duration - 5 or 10 seconds, a combo box.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/eRepublik-Labs/comfyui-nodes-erpk.git erpk
cd erpk
pip install -r requirements.txt

Or ComfyUI Manager → search erpkERPK Custom Nodes. Nothing to download; the only prerequisite is a WaveSpeed API key with credits, set via right-click canvas > ERPK Settings (Settings > ERPK > API Keys).

Common issues

  • "Starting image is required" - you must connect image or image_url; the node won't guess a start frame for you.
  • Cached videos that won't change - you fixed the seed. The endpoint has no real seed parameter, so a fixed value reuses the last result. Randomize to force a new generation (and a new charge).
  • Blurry or ignored motion - raise guidance_scale toward 0.7–0.8. If that kills the creativity you wanted, that's the tradeoff the knob exists for.
  • Costs sneaking up - Turbo is the cheap tier, but it's still per clip. Batch your prompting before you queue.

If 2.5 Turbo feels too soft for the shot, the Kling 2.6 and O3 nodes in the same pack are the quality ladder up. If it's plenty, congratulations - you found the economical one.

CategoryERPK/WaveSpeedAI

Inputs (11)

NameTypeDefaultDescription
modelCOMBOKling 2.5 TurboModel variant: Kling 2.5 Turbo (Std) or Kling 2.5 Turbo Pro (higher quality, supports last_image)
promptSTRINGText description of the desired motion/scene (max 2500 chars)
image_urlSTRINGStarting image URL (JPG/JPEG/PNG, min 300x300, aspect 1:2.5-2.5:1). Fallback when the IMAGE input is not connected.
imageoptIMAGEStarting image as a ComfyUI IMAGE tensor. Preferred — takes precedence over `image_url` when connected.
last_imageoptIMAGEPro only: end-frame image as a ComfyUI IMAGE tensor for keyframe interpolation. Preferred — takes precedence over `last_image_url` when connected.
clientoptWAVESPEED_AI_API_CLIENTWaveSpeed API client (optional if API key is configured in Settings)
negative_promptoptSTRINGElements to suppress or avoid in the generated video
guidance_scaleoptFLOAT0.500–1Prompt adherence; higher values reduce creative deviation (0.0-1.0)
durationoptCOMBO5Video duration in seconds (5 or 10)
last_image_urloptSTRINGPro only: end-frame URL for keyframe interpolation. Fallback when the last_image IMAGE input is not connected.
seedoptINT-1-1–2147483647Cache control: randomize re-runs generation each queue; a fixed value reuses the cached video. This endpoint has no seed parameter, so it is not sent to the API.

Outputs (1)

NameTypeDescription
video_urlSTRING