Kling Voice Selector
23 preset voices, zero API calls
- voice_id
- language
The Kling Voice Selector is the least exciting node in the pack and one of the most useful in practice, because it's the thing that stops you from memorizing opaque voice IDs. Kling's TTS doesn't let you pick voices by name - it wants a voice_id, and those look like girlfriend_4_speech02 or genshin_klee2, which nobody can keep straight. This node maps a friendly name to the ID and hands you the ID (plus the language code) as clean outputs you wire into any Kling TTS node.
Here's the genuinely nice part: it's a pure local lookup. No auth node, no API key, no network call, no credits. The node is just a dropdown backed by a table of 23 preset voices - 12 English characters plus a batch of Chinese ones - that the pack ships with. Selecting a voice costs you nothing; only the TTS generation downstream does.
The inputs and outputs
- voice_name - one input, a dropdown of 23 presets. English options read like "Melody (EN Female)", "Sunny (EN Boy)", "Ace (EN Male)", "Dove (EN Energetic)" and so on; the Chinese half shows names like 阳光少年 and 青春少女. The naming is honest about vibe, which is more than most TTS pickers give you.
Two outputs:
- voice_id - the Kling ID string, e.g.
girlfriend_4_speech02. This is what actually goes into TTS. - language - the language code (
enorzh) for that voice, which the TTS nodes accept asvoice_language.
Typical chain: Voice Selector → TTS Advanced, wiring voice_id and language into the matching inputs. Since the selector returns plain strings, you can also just read the values once and hardcode them in a text node - the selector is mainly so you don't have to.
Installing
ComfyUI Manager, search "API Toolkit", install, restart:
cd ComfyUI/custom_nodes
git clone https://github.com/IxMxAMAR/ComfyUI-API-Toolkit
cd ComfyUI-API-Toolkit
pip install -r requirements.txt
No further setup - skip the Kling AI Authentication node entirely for this one, it doesn't need it.
Worth knowing
If the presets don't have the voice you want, this is also where cloned voices come in: run the pack's Kling Voice Clone on an audio sample and it returns its own voice_id, which bypasses the selector entirely and feeds straight into TTS. And keep in mind these preset IDs are Kling platform IDs - they can drift when Kling retires or reshuffles voices, so if a voice you picked suddenly generates differently or errors out, re-picking from the dropdown is the first thing to try. The selection itself is free and instant; it's only the generation that spends your credits.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| voice_name | COMBO | Select a preset voice for TTS. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| voice_id | STRING | — |
| language | STRING | — |