Cicada Voice Clone
Clone a voice with one audio file — Cicada Voice Clone is the front half of a whole pipeline
- reference_audio_input
- audio
Voice cloning is usually the part of a workflow where your machine quietly gives up - speech models are big, finicky, and hungry. The Cicada Voice Clone node sidesteps all of that by not running anything locally. You hand it a reference audio clip and some text, and a server at chanjing.cc (蝉镜 / Cicada AI) does the cloning and synthesis, returning a proper ComfyUI AUDIO object. It's the front half of the pack's best trick: clone a voice, then feed that AUDIO straight into Cicada Lip Sync and you've got a character speaking in a voice you manufactured. Their own sample workflow wires exactly that way.
Mechanically it's three API calls wearing a trenchcoat. The node uploads your reference audio, creates a voice-clone task (create_customised_audio), polls until the voice is ready, then fires off a TTS task (create_audio_task) with your text, speed, and pitch. The finished audio gets downloaded to output/cicada_audio/ and loaded as a waveform + sample rate, so it drops into any audio consumer in your graph. The whole thing is billed in the platform's credit currency, 蝉豆, so each clone + synthesis run costs you a few beans.
The inputs that matter:
- reference_audio_input - a file or path (mp3/wav/m4a) between 15 seconds and 5 minutes. The plugin checks the length locally with mutagen, refuses anything under 15s, and auto-trims anything over 5 minutes to 4:59 (which needs system
ffmpeg). - text - the lines to synthesize, up to 4000 characters, multiline so you can paste a paragraph.
- model_type -
cicada3.0-turbo(default) for stability,cicada3.0if you want stronger emotional expression,cicada1.0if you want maximum accuracy on a plain read. Default is a fine place to start. - speed (0.5–2.0) and pitch (0.1–3.0) - both default to 1.0 and do what you'd expect; dial pitch up for a brighter character.
- use_cache - leave this
enabled. It hashes your audio + model and reuses the previous clone instead of paying to re-clone the same voice every run. This is the "save your beans" switch.
Output is audio (type AUDIO) - wire it anywhere ComfyUI wants audio, most usefully into the lip-sync node's audio_input.
Installing it
Identical to the rest of the pack - ComfyUI Manager (search chanjingAI, aka "Cicada AI") or:
cd ComfyUI/custom_nodes
git clone https://github.com/chanjing-ai/chanjingAI-ComfyUI.git
Then copy config.example.json to config.json in the plugin folder, fill in your app_id and secret_key from https://www.chanjing.cc/platform/api_keys, and restart. The requests/opencv-python/mutagen deps auto-install; no GPU involved anywhere.
Where people get burned
- "Reference audio too short" - the plugin errors if your clip is under 15 seconds. Grab a longer sample; the quality genuinely improves with more reference material anyway.
- Text over 4000 characters - hard error, not a silent truncation. Split the script.
- Long audio won't trim - auto-trimming needs
ffmpegon your system PATH.brew install ffmpegon macOS,sudo apt install ffmpegon Ubuntu. - Empty text - the node refuses to synthesize nothing, so if you queue a run with a blank prompt it just bounces.
The catch is the same one as the whole pack: this is a hosted, paid service, and your reference audio travels to their servers. If that's acceptable, it's genuinely the easiest voice-clone-plus-TTS you'll plug into ComfyUI - the caching alone saves you from re-cloning the same voice every run, which is the kind of small kindness a paid API rarely bothers with.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| reference_audio_input | * | Reference audio file or path (requirements: 15 seconds to 5 minutes, supports mp3/wav/m4a) | |
| text | STRING | — | |
| model_type | COMBO | cicada3.0-turbo | cicada1.0: Stable and highly accurate | cicada3.0: Strong emotional expressiveness | cicada3.0-turbo: Enhanced stability |
| speed | FLOAT | 1.00.5–2 | Speaking speed (0.5–2.0x) |
| pitch | FLOAT | 1.00.1–3 | Pitch (0.1–3.0) |
| use_cache | COMBO | enabled | When enabled, identical audio + model will reuse the previously cloned voice to skip duplicate cloning and save time |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |