Nodes/ERPK Collection/Kling O3 Text-to-Video
ComfyUI Node

Kling O3 Text-to-Video

Turn a prompt into a billed clip, no GPU required

By eRepublik-Labs·Created 11 months ago·Updated 21 days ago· 1
Kling O3 Text-to-Video
  • client
  • video_url
modelKling O3
prompt
duration5
aspect_ratio16:9
seed-1
soundfalse
shot_typeintelligent
multi_prompt
element_list

The text-to-video sibling of the Kling O3 image-to-video node. Same family, same cloud billing, one less input: instead of a starting frame you hand it a prompt and get back a video that's supposed to look like what you described. When you don't have a reference image - a mood board brainstorm, a title card test, a "here's a concept" pitch - this is the node to reach for.

It lives in the ERPK Collection, the community pack that wraps WaveSpeed AI's API. Kling O3 is closed and API-only, so there's no local weights situation to fight; you pay per clip and move on.

How it works

You type a prompt, optionally pick a model tier, duration, aspect ratio, and whether you want sound. The node sends the request to api.wavespeed.ai and polls every 10 seconds (up to a 15-minute timeout) until the render finishes. Output is a single video_url STRING - feed it into the pack's Preview Anything node to watch it and hit download. Nothing runs on your machine beyond the request itself.

The inputs that matter

  • prompt - the whole show. Describe the scene, the motion, the camera. The tooltip is explicit that it's required unless you provide multi_prompt, and a blank prompt raises an error before you're billed.
  • model - Kling O3 or Kling O3 Pro. Pro is the higher-quality tier and the only one that takes element_list (a JSON array of Kling Elements IDs, so characters or objects you've locked elsewhere in the pack stay consistent across shots).
  • duration - 3–15 seconds on standard, 5 or 10 on Pro. Longer is not linearly better; it's mostly more chances for the model to drift.
  • aspect_ratio - the usual suspects (16:9 and friends). Pick for the platform you're posting to, not for vibes.
  • sound - synchronized audio at a surcharge. Default off. On a text-to-video with no reference, generated audio can genuinely sell the clip, but it's a cost toggle worth being deliberate about.
  • multi_prompt - a JSON array of scene-segmented prompts that lets one video progress through distinct scenes instead of one continuous prompt. Mutually exclusive with prompt.

The seed widget here says "random seed for reproducibility," but read the O3 notes: the API doesn't accept a seed, so the field is effectively a cache knob kept for workflow compatibility. Randomize it; don't expect to re-run and get an identical clip.

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. No models to download. You need a WaveSpeed API key with credits, set once under right-click canvas > ERPK Settings (Settings > ERPK > API Keys). Keys live in your user settings, not the workflow.

Common issues

  • Empty video_url after a long wait - check the WaveSpeed dashboard. The likely culprit is their content filter rejecting the prompt or output; the node itself is usually blameless.
  • multi_prompt throws a parse error - it must be valid JSON, an array like [{"prompt": "...", "duration": 3}]. A single stray quote breaks it.
  • Cost creep - each run is a fresh billed generation. For rough ideas, start with 5 seconds; upgrade duration once the concept earns it.

If you need the clip to start from an actual image you control, grab the Kling O3 image-to-video node instead - that's the same model with a first frame.

CategoryERPK/WaveSpeedAI

Inputs (10)

NameTypeDefaultDescription
modelCOMBOKling O3Model variant: Kling O3 (standard) or Kling O3 Pro (higher quality, element_list support)
promptSTRINGText description of the video to generate (required unless multi_prompt is provided)
clientoptWAVESPEED_AI_API_CLIENTWaveSpeed API client (optional if API key is configured in Settings)
durationoptINT53–15Video duration in seconds. Std: 3-15. Pro: 5 or 10.
aspect_ratiooptCOMBO16:9Aspect ratio of the output video
seedoptINT-1-1–2147483647Random seed for reproducibility (-1 for random)
soundoptBOOLEANfalseEnable synchronized audio generation (surcharge applies)
shot_typeoptCOMBOintelligentShot composition mode: 'intelligent' auto-determines, 'customize' allows manual control
multi_promptoptSTRINGJSON array of scene-segmented prompts (mutually exclusive with prompt)
element_listoptSTRINGPro only: JSON array of pre-generated element IDs for visual consistency

Outputs (1)

NameTypeDescription
video_urlSTRING