ComfyUI Node

Text2Video

Pure text-to-video from KLing, with real camera control

By KlingAIResearch·Created 2 years ago·Updated 10 months ago· 174
Text2Video
  • client
  • url
  • video_id
model
prompt
negative_prompt
cfg_scale0.5
mode
aspect_ratio
duration
camera_control_type
camera_control_config
camera_control_value1

This is the flagship node in the pack: no starting image, no reference photo, just a prompt in and a video out. It's the mode people mean when they compare KLing against Google Veo, Runway, or Pika in the "which paid video service is actually good" conversation - and it's the harder mode to get right, since without an anchor image the model has to invent composition, subject, and motion all at once from text alone. If you already have a specific starting frame in mind, Image2Video (elsewhere in this pack) is usually the more reliable path; reach for Text2Video when the shot itself, not just the motion, needs to come from the model.

How it works

Same async pattern as the rest of the pack - your prompt and settings go to KLing's servers, a video job renders there, and the node polls (at the rate set on the upstream Client) until a result comes back. There's no local sampler or schedule to tune; what you're really doing here is writing a good request, not configuring a render.

The inputs and outputs that matter

Required: model (kling-v1, kling-v1-6, kling-v2-master, kling-v2-1, kling-v2-1-master) and prompt.

The optional fields carry most of the actual control:

  • negative_prompt - steer away from unwanted elements.
  • cfg_scale (0–1) - prompt adherence strength.
  • mode - std or pro; pro is the higher-fidelity, higher-cost tier.
  • aspect_ratio - 16:9, 9:16, or 1:1. Notably narrower than Image2Video's aspect ratio list, since there's no source image dictating an odd ratio here.
  • duration - 5 or 10 seconds.
  • camera_control_type (None, simple, or named presets like down_back and forward_up), camera_control_config (which axis - horizontal, vertical, pan, tilt, roll, zoom), and camera_control_value (-10 to 10) - KLing's real camera-motion system, the same one available on Image2Video. Worth checking KLing's own docs for which model/mode combinations actually honor camera control before relying on it in a prompt-only shot.

Outputs are url (the finished video) and video_id - chain the id into Video-Extender, Video2Audio, or Lip-Sync further down the pack without re-uploading anything.

Installing it

ComfyUI Manager: search ComfyUI-KLingAI-API, install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/KwaiVGI/ComfyUI-KLingAI-API
cd ComfyUI-KLingAI-API && pip install -r requirements.txt

No local model weights - a Client node with a valid KLing AI API key wired in, region-matched via area, is what actually runs this.

Common issues

Pure text-to-video is the mode most prone to "that's not what I asked for" results, since there's no image anchoring composition - tighter, more concrete prompts (subject, setting, specific action, camera framing in words) tend to land closer to what you want than short, vague ones. Test cheap: a std mode, 5-second run to check the prompt is landing before committing to pro mode, 10 seconds, and camera control stacked together, since every combination of those settings is a separate billed call against your KLing account. And, as with every node in this pack, a request that seems to hang or fails outright almost always traces back to the Client node - bad credentials, a region mismatch on area, or an empty account balance, not something broken in Text2Video itself.

CategoryKLingAI

Inputs (11)

NameTypeDefaultDescription
clientKLING_AI_API_CLIENT
modelCOMBO5 options: kling-v1, kling-v1-6, kling-v2-master, kling-v2-1, kling-v2-1-master
promptSTRING
negative_promptoptSTRING
cfg_scaleoptFLOAT0.50–1
modeoptCOMBO2 options: std, pro
aspect_ratiooptCOMBO3 options: 16:9, 9:16, 1:1
durationoptCOMBO2 options: 5, 10
camera_control_typeoptCOMBO6 options: None, simple, down_back, forward_up, right_turn_forward, left_turn_forward
camera_control_configoptCOMBO6 options: horizontal, vertical, pan, tilt, roll, zoom
camera_control_valueoptFLOAT1-10–10

Outputs (2)

NameTypeDescription
urlSTRING
video_idSTRING