ComfyUI Node

Runware Reference Voices

Clone a Voice From a Clip — and Please, Get the Transcript Right

By Runware·Created 2 years ago·Updated about a month ago· 140
Runware Reference Voices
  • referenceVoices
  • referenceVoices
audio
text

Voice cloning is the audio cousin of identity preservation, and it's where this node lives. RunwareBuild_referenceVoices is a builder that turns a short audio clip of a voice - plus its transcript - into a referenceVoices value you wire into a TTS model that accepts it, currently Fish Audio S2.1 Pro (which, refreshingly, lists referenceVoices as one of its sockets). The model then speaks your text in that cloned voice, all computed on Runware's cloud. You never download a voice model, never fine-tune anything, never host a TTS checkpoint.

How it works

Like the other Runware/Params builders, this one doesn't generate anything itself. It packages a reference and hands a typed RUNWARE_REFERENCEVOICES object to the model node, which ships it inside the request. It's a stackable builder, so you can chain several reference-voice nodes into one socket - useful if you're cloning a handful of characters for dialogue and want them all in the same run.

The inputs, and the one that bites

  • audio - the voice sample, as a UUID, URL, DataURI, or Base64 string. Duration must be between 1.0 and 90.0 seconds. The DataURI/Base64 option is handy: paste a raw clip straight in without hosting it anywhere first.
  • text - the transcript of that clip. The tooltip doesn't mince words: it must match the spoken content of the reference audio.

That second field is where everyone burns their first run. Voice cloning models are conditioned on the pairing of audio and text; if the transcript doesn't line up with what's actually said, the model learns the wrong phonemes and the cloned voice comes out slurred or just wrong. Transcribe the clip carefully - ideally listen once rather than trusting an auto-caption - and keep the sample short and clean (no background music, no second speaker).

Wiring it in

The output is referenceVoices, which plugs into a model with that socket. In the current catalog that's Fish Audio S2.1 Pro, which also has a required speech input - so the minimal chain is: RunwareBuild_speech (your text + a base voice) → Fish Audio's speech socket, plus this node → its referenceVoices socket. For a dialogue-heavy project, chain several reference-voice nodes and drive them with speaker-tagged text in the speech builder.

Install and setup

Same story as the rest of the pack, and it's light: ComfyUI Manager (search "Runware") or manual clone, then pip install -r ComfyUI-Runware/requirements.txt - just runware-sdk, pillow, and soundfile - and a restart. You need a Runware API key (Settings → Runware API key, the RUNWARE_API_KEY env var, or runware auth login). One legit complaint about Runware: the minimum top-up is around $20 with a card on file, so it's not a "try it for a nickel" setup.

Troubleshooting

  • The cloned voice doesn't sound like the sample - 90% of the time the transcript is wrong or the audio has noise/music. Clean sample, exact transcript.
  • Audio rejected - outside the 1–90 second window. Trim it.
  • The socket won't connect - you're probably wiring it into a model that doesn't expose referenceVoices. Only the TTS models with that socket accept it; image and video models ignore it.

It's a deceptively small node - two fields - but it's the whole voice-cloning pipeline for this pack. Get the transcript right and you've got a consistent character voice you can reuse across generations, which is the audio version of what IP-Adapter does for faces.

CategoryRunware/Params

Inputs (3)

NameTypeDefaultDescription
audioSTRINGReference audio clip for the voice to clone (UUID, URL, DataURI, or Base64). Audio duration must be between 1.0 and 90.0 seconds.
textSTRINGTranscript of the reference audio clip. Must match the spoken content of the reference audio.
referenceVoicesoptRUNWARE_REFERENCEVOICES

Outputs (1)

NameTypeDescription
referenceVoicesRUNWARE_REFERENCEVOICES