MiMo 音色克隆
Clone a voice from a reference clip — with zero GPU and zero model files
- reference_audio
- audio
The whole point of voice cloning is you don't pick a voice - you hand the model someone's actual voice and it re-speaks whatever text you give it. MiMoVoiceCloneTTS is the API version of that, and unlike the local cloning options it needs nothing from your machine but a key and a reference clip. Plug any ComfyUI AUDIO (from a Load Audio or Record Audio node) into reference_audio, type your text, and Xiaomi's MiMo-V2.5-TTS-VoiceClone endpoint sends back a WAV of your text in that voice, decoded to a standard AUDIO output.
Local cloning got genuinely good - the KB puts Chatterbox at ElevenLabs-class and F5-TTS as the fast flow-matching option - so the honest pitch for the API version is narrower: no VRAM, no transformers/torch conflict to babysit, and it works on a machine with no GPU at all. If you're on a potato or a remote box and just need "this voice, saying this line," that's the win. The trade is the standard API one: per-call cost, and your reference audio plus your text leave the machine and hit Xiaomi's servers. For voice cloning specifically that privacy axis matters more than for plain TTS - a recording of a real person's voice is more sensitive than a line of text. Weigh it.
Mechanically it's the simplest node of the three. It takes the input audio, averages to mono, clamps and converts to 16-bit PCM WAV in memory, base64-encodes it, and ships it to the API as a data URL. The clip must stay under 10 MB after that encoding - so trim long recordings first. A few seconds of clean reference audio is all cloning needs anyway; more isn't better, it's just more bytes. Also note it takes exactly one clip (batch must be 1), and it'll error if the audio is empty or contains NaN/inf.
The inputs: reference_audio (the clip), text (what to speak), style_instruction (optional - pace, emotion, delivery), plus the shared api_key, timeout, and max_retries. Leave api_key blank if you set the MIMO_API_KEY environment variable - the README pushes that over pasting a key into the node, because a field key lives in your workflow JSON and will travel with it when you share. Output is audio, which you can preview, save, or push into a lip-sync avatar pipeline to make the cloned voice drive a face.
Install is identical to its siblings:
cd ComfyUI/custom_nodes
git clone https://github.com/TimekeeperXY/ComfyUI-MiMo-TTS.git
Restart, or search "MiMo TTS" in ComfyUI Manager. Requires ComfyUI ≥ 0.30, no extra pip deps - the pack only uses av and torch, both already in ComfyUI.
One thing this README does better than most packs: it says the quiet part about voice cloning. Only clone your own voice or a voice you have explicit permission to use, and don't reach for it for impersonation or fraud. That's not a legal disclaimer to skim - voice cloning is the one audio capability with real misuse potential, and the API provider will hold you to the same line. Also remember the retry/cache behavior: same inputs re-run from ComfyUI's execution cache, so change an input to force a fresh synthesis - and since you're paying per call, make sure the text is right before you hit run.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | STRING | — | |
| reference_audio | AUDIO | — | |
| style_instruction | STRING | — | |
| text | STRING | 请输入待合成的文字。 | — |
| timeout | INT | 18010–600 | — |
| max_retries | INT | 20–5 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |