Nodes/ComfyUI API Toolkit/Kling AI Upscale
ComfyUI Node

Kling AI Upscale

Kling's cloud upscaler for images and video alike

By IxMxAMAR·Created 5 months ago·Updated 2 months ago· 1
Kling AI Upscale
  • auth
  • media
  • media_file
  • audio
  • url
  • task_id
typeimage
target_id
model_namekling-v1
video_url

Kling's answer to "this render is too soft" - a hosted upscaler that works on both images and video. You hand it the ID of a previous generation, it upscales the media on Kling's side, and hands back the result. Where the local upscaling story (see the KB's upscaling notes) is a matter of picking the right model and VRAM budget, this node is the zero-local-compute option: Kling's model does the lifting, your only cost is credits.

The inputs force one important decision up front:

  • type - image or video. This determines how the node talks to Kling and what you must supply.
  • target_id - the ID of the image or video to upscale, from a previous generation. This is the primary way to point at something you made with this pack.
  • model_name - kling-v1 (default) or kling-v3. Newer isn't automatically better; try v3 if v1's output looks over-smoothed.
  • video_url (optional) - required for video upscaling if you don't have a target ID handy.

Mechanically it's the standard submit-and-poll cloud task. Outputs use the video-style set even for images: media (the result as IMAGE), media_file, audio (present for video), url, and task_id.

Installing it

Bundled in ComfyUI-API-Toolkit. Manager: search "API Toolkit". Manual:

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

Restart ComfyUI. Needs the Kling AI Authentication node and a funded account.

Gotchas

The big honesty check: for images, a cloud upscale is often not the best tool. The KB's upscaling material makes the case that local models (Real-ESRGAN and friends, or a diffusion pass) give you fine control and zero per-call cost - so reach for this node when you're already in a Kling workflow and want the result to stay hosted, or when the target is a Kling generation whose ID you hold. For video, though, it earns its keep: local video upscaling is slow and VRAM-hungry, and Kling's version is genuinely convenient. Watch the credit math on video upscale - it's priced by the second. And remember it needs a target_id from a prior generation or a video_url; you can't point it at an arbitrary local file without getting it hosted first (the Cloud Uploader is the bridge).

CategoryAPI Toolkit/Kling AI/Effects

Inputs (5)

NameTypeDefaultDescription
authKLING_AUTH
typeCOMBOimageWhether to upscale an image or video.
target_idSTRINGID of the image or video to upscale (from a previous generation).
model_nameCOMBOkling-v1Upscale model version.
video_urloptSTRINGURL of the video (required for video upscale).

Outputs (5)

NameTypeDescription
mediaIMAGE
media_fileSTRING
audioAUDIO
urlSTRING
task_idSTRING