Kling TTS Advanced
Kling TTS when you need to actually direct the voice
- auth
- audio
- audio_file
- url
- task_id
The plain Kling TTS node is "say this, in this voice." This one is the director's cut: same speech synthesis, but with a speed dial and a language setting, so the voice line can actually match your scene's pacing and language. You reach for it when the default delivery is too fast or too flat for a dramatic line, when you're working in a non-English language, or when you want to lock a consistent voice character across a project.
Four inputs, and three of them are what you'll fiddle with:
text- multiline this time (the basic TTS is single-line), so longer voice lines don't fight the input box.voice_id- defaults togirlfriend_4_speech02here, not the plain TTS'sfemale_1. Use the pack's Voice Selector to browse presets or drop in a cloned voice's ID.voice_speed- 0.5 to 2.0, where 1.0 is normal. This is the reason to pick this node over the plain one: drop to 0.8 for a slower, weightier read, or push 1.3 for a frantic line.voice_language- a language code (defaulten;zhfor Chinese, etc.). Set it to match your text; a mismatched code is how you get a voice that pronounces English with the wrong mouth.
The mechanism is identical to the plain TTS - one cloud call, submit-and-poll, speech comes back. Outputs are the same quartet: audio (AUDIO), audio_file, url, task_id. The audio output is the one you'll care about most; wire it into a preview node or feed it into the Lip Sync node for a fully-voiced character clip.
Installing it
Part of 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. As with all the pack's audio nodes, install the full requirements (soundfile, scipy included) so the AUDIO output actually decodes.
Gotchas
Voice pacing in AI TTS is a double-edged sword: voice_speed changes the tempo, but Kling won't re-act lines emotionally - a flat read at 0.7 is still a flat read, just slower. If the delivery itself is wrong, rephrase the text or pick a different voice rather than speed-sliding your way out. Also remember every queue is a billed TTS call, and this node makes it easy to burn a few credits auditioning speed values - settle on one and reuse it. And if you're pairing this with Lip Sync's text2video mode, note that Lip Sync has its own voice_speed knob; tune it there for the final render, not here, so you don't double-apply tempo.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| auth | KLING_AUTH | — | |
| text | STRING | Text to convert to speech. | |
| voice_id | STRING | girlfriend_4_speech02 | Voice ID (use Voice Selector or Voice Clone). |
| voice_speed | FLOAT | 1.00.5–2 | Speech speed multiplier (0.5 = slow, 2.0 = fast). |
| voice_language | STRING | en | Voice language code (en, zh, etc.). |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |
| audio_file | STRING | — |
| url | STRING | — |
| task_id | STRING | — |