Nodes/ComfyUI-Kling-Direct/Kling TTS Advanced
ComfyUI Node

Kling TTS Advanced

Kling TTS with the training wheels off — and the honest truth about 'advanced'

By IxMxAMAR·Created 5 months ago·Updated 2 months ago· 4
Kling TTS Advanced
  • auth
  • audio
  • audio_file
  • url
  • task_id
text
voice_idgirlfriend_4_speech02
voice_speed1.0
voice_languageen

KlingDirect_TTSAdvanced is the "more knobs" version of the pack's basic TTS node, and here's the thing the pack's own changelog admits: as of v2.1, the two nodes are basically the same. The basic Kling TTS node gained voice_speed and voice_language in that release, so the gap between "basic" and "advanced" shrank to almost nothing. The real difference is that this node treats voice_language as a free-form STRING instead of a two-option dropdown.

Same mechanism as the basic node: text in, hosted Kling voice out. It submits to /v1/audio/tts, polls until the speech renders, downloads the mp3, and hands you back an AUDIO tensor plus the file path, hosted URL, and task_id. No local model, no VRAM - a cloud call metered against your Kling credits.

The inputs

  • text - multiline, the words to speak.
  • voice_id - the Kling voice. Default girlfriend_4_speech02; use Voice Selector for the dropdown of presets or a cloned voice_id from Voice Clone for a voice that's actually yours.
  • voice_speed - 0.5–2.0 multiplier.
  • voice_language - a STRING code (en, zh, etc.) rather than the basic node's constrained en/zh picker.

That last difference is the honest reason to pick this node: if you're experimenting with a language Kling supports but the basic node doesn't list, or you want the language driven by a text input from elsewhere in the graph, the free-form string gives you that flexibility. If you only ever speak English or Chinese, save yourself the confusion and use the basic node - they're otherwise identical.

Outputs

audio (AUDIO - wire this into lip-sync or your audio graph), audio_file (downloaded mp3 path), url (hosted audio URL, useful for URL-only consumers like Lip Sync (URLs)), and task_id for status chaining.

Install and requirements

Part of ComfyUI-Kling-Direct: ComfyUI Manager → search "Kling Direct" → install, or git clone https://github.com/IxMxAMAR/ComfyUI-Kling-Direct into ComfyUI/custom_nodes, then restart. No model files to download; you need Kling access key + secret key from https://app.klingai.com/global/dev (KYC required), wired through the Kling AI Authentication node (or KLING_ACCESS_KEY / KLING_SECRET_KEY env vars) with the right region selected.

Where people get burned

  • Expecting it to be meaningfully different. It's not, post-v2.1. Don't reach for "advanced" expecting extra features - the pack consolidated them into the basic node. Pick by whether you need the free-form language string.
  • The placeholder voice. Same trap as the basic node: girlfriend_4_speech02 is a starter voice, not a good one. Open Voice Catalog or Voice Selector before you judge Kling TTS on the default.
  • Credits. It's a metered, async call. A long script is many calls if you chunk it, so plan text length.

One genuinely nice pairing that uses the free-form language: drive voice_language from a text input selected upstream (say, a workflow that reads the script's language), so the same graph speaks whatever language the job calls for without you touching widgets.

CategoryKling AI/Audio

Inputs (5)

NameTypeDefaultDescription
authKLING_AUTH
textSTRINGText to convert to speech.
voice_idSTRINGgirlfriend_4_speech02Voice ID (use Voice Selector or Voice Clone).
voice_speedFLOAT1.00.5–2Speech speed multiplier (0.5 = slow, 2.0 = fast).
voice_languageSTRINGenVoice language code (en, zh, etc.).

Outputs (4)

NameTypeDescription
audioAUDIO
audio_fileSTRING
urlSTRING
task_idSTRING