Nodes/comfyui-superside-nodes/Superside Kling 2.1 Image-to-Video
ComfyUI Node

Superside Kling 2.1 Image-to-Video

Kling 2.1 from a still — three quality tiers, one node, and the gotcha about URLs

By Superside·Created about a month ago·Updated 3 days ago· 1
Superside Kling 2.1 Image-to-Video
  • image
  • tail_image
  • STRING
prompt
model_tierpro
api_key
duration5
negative_promptblur, distort, and low quality
cfg_scale0.50

Kling is a closed, hosted model - there's no local install, no weights to download, period. If you want Kling 2.1 inside your ComfyUI workflow, an API wrapper like this one is the only door. This node gives you the three quality tiers of Kling 2.1 image-to-video (master, pro, standard) in a single node, calling the fal.ai endpoints under the hood. Feed it a still, write a motion prompt, and it animates the frame into a short clip.

The honest framing from the community's point of view: this is the "model you can never run locally" category of API node - not the "no GPU yet" one. The trade is per-call cost (video is the expensive direction, and it adds up faster than image calls) and that your image and prompt are processed on fal's servers. For getting a real Kling clip without the Kling web app, that's the price.

The inputs that matter

  • prompt, image, api_key - the essentials. The prompt is a motion brief ("the camera slowly pushes in while the leaves sway"); image is the first frame.
  • model_tier (default pro) - master / pro / standard. The author's tooltip is the whole story: master is premium, pro is professional-grade, standard is cost-efficient. If you're iterating, standard is where you tune; master is where you spend.
  • duration - 5 or 10 seconds. 10s is more impressive and more expensive.
  • tail_image (Pro tier only) - an end frame. Give it a second image and Kling animates from frame A to frame B. One of the most useful controls on the node, and easy to miss because it's tucked under optional.
  • negative_prompt (default "blur, distort, and low quality") and cfg_scale (default 0.5) - CFG is how tightly it follows the prompt; Kling runs in a lower range than image models, so keep it near the default.

The output gotcha: it's a URL, not a video

This is the thing that bites everyone once. The output is a STRING containing the URL of the finished video on fal's CDN - not a VIDEO tensor. You can't wire this straight into a SaveVideo node the way you'd expect. You'll need to grab that URL and either open it, download it with a tool that fetches a URL, or pass it to a node that turns a URL into a video. The README is upfront that the video-generation nodes return a URL string, and it's the single most common "why is nothing coming out" moment with these Kling nodes. (Contrast this pack's video-to-video nodes, which do return a real VIDEO.)

Installing it

cd ComfyUI/custom_nodes
git clone https://github.com/Superside/comfyui-superside-nodes
pip install -r requirements.txt

Restart ComfyUI, find it under Superside, and paste a fal key into api_key (blank falls back to a FAL_KEY env var).

Where people get burned

Besides the URL-vs-video surprise: watch the tier dial when you're iterating. "Pro" is the default, and a 10-second pro clip costs notably more than a standard one - build your prompt on standard, then switch up for the keeper. And remember video calls are slow; the node holds the connection while fal generates, so a stuck-looking run is often just Kling taking its time.

CategorySuperside

Inputs (8)

NameTypeDefaultDescription
promptSTRING
imageIMAGE
model_tierCOMBOproMaster: Premium quality | Pro: Professional-grade | Standard: Cost-efficient
api_keySTRING
tail_imageoptIMAGEEnd frame image (Pro model only)
durationoptCOMBO52 options: 5, 10
negative_promptoptSTRINGblur, distort, and low quality
cfg_scaleoptFLOAT0.500–1Classifier Free Guidance scale - how closely to follow the prompt

Outputs (1)

NameTypeDescription
STRINGSTRING