Replicate suno-ai/bark
Run Bark text-to-audio from inside ComfyUI
- AUDIO
- STRING
First, the thing that trips everyone up: this node doesn't run Bark on your machine. It's a thin wrapper that ships your text to Replicate's cloud, runs the model on their GPUs, and hands the audio back. So your VRAM is irrelevant, there's nothing to download, and it works fine on a laptop with no GPU - but you need a Replicate account and an API token, and you pay Replicate per run. No token, no audio.
With that out of the way: Bark is Suno's text-to-audio model, and it's a weird, fun one. It's not a clean text-to-speech engine. It's a fully generative audio model that predicts sound the way a language model predicts words, which means it can voice your text and throw in laughter, sighs, hesitations, music, and sound effects. Write [laughs] or ♪ a little song ♪ in your prompt and it'll actually do it. That expressiveness is the whole appeal - and also why it's unpredictable.
How it works
Bark generates in tokens, not phonemes. A transformer turns your text into semantic audio tokens, another stage turns those into acoustic tokens, and a codec decodes them to a waveform. Because it's guessing at "what should this sound like" rather than stitching phonemes, you get natural prosody and non-speech noises for free - and occasional drift, where it mumbles, adds a word, or wanders off. That's the tradeoff baked into the architecture.
The inputs and outputs that matter
prompt- the text to voice. Drop bracketed cues inline:[laughs],[sighs],[music],[clears throat], or...for a pause.history_prompt- the voice. This is a dropdown of 131 built-in speaker presets likeen_speaker_0throughen_speaker_9,announcer, and a stack of non-English speakers (de_speaker_3, etc.). Pick one and stick with it, because Bark otherwise picks a random voice every run.text_tempandwaveform_temp(both 0.7) - randomness for the semantic and acoustic stages. Lower = more faithful and stable, higher = more expressive and more likely to go off-script.
Two outputs: AUDIO (wire it into a save-audio or preview-audio node) and a STRING. The STRING is the generated voice history - feed it back into custom_history_prompt on the next run to keep the same voice across multiple clips, which is the trick for stitching a longer piece together. output_full controls whether you get that full history back, and force_rerun bypasses Replicate's result cache when you want a fresh take from identical inputs.
How to install it
Grab the whole ComfyUI-Replicate pack once and every Replicate node, Bark included, shows up.
- ComfyUI Manager: search ComfyUI-Replicate, install, restart.
- Manual:
then restart.cd ComfyUI/custom_nodes git clone https://github.com/replicate/comfyui-replicate cd comfyui-replicate pip install -r requirements.txt
There are no model weights to fetch - the only dependency is the replicate Python package from requirements.txt. Before you launch ComfyUI, set your token: export REPLICATE_API_TOKEN="r8_..." (grab one at replicate.com/account/api-tokens).
Common issues & troubleshooting
The audio output acts weird or won't save. Worth knowing up front: the pack's own README says it was built for models that return "simple text or image outputs," and flags audio and video as the rough edge still on its roadmap. Bark returns real audio through this node, but audio is the least-polished corner of the pack - if the AUDIO output won't preview or save cleanly, update ComfyUI (native AUDIO support is newer) and make sure you've got an audio save node wired in.
The voice changes every run. That's Bark with no fixed history_prompt. Pick a specific speaker preset, or capture the STRING output and reuse it via custom_history_prompt.
It clips off after ~13 seconds. Bark generates in short chunks and won't read a paragraph in one go. Split long text into sentences, generate each with the same voice history, and concatenate.
It hallucinates or mumbles. Turn text_temp down toward 0.5, keep sentences short and clean, and don't over-stuff cues. If you need dead-accurate, dictated speech, Bark is the wrong tool - reach for a straight TTS model instead. Bark is for character and vibe.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| promptopt | STRING | Hello, my name is Suno. And, uh — and I like pizza. [laughs] But I also have other interests such as playing tic tac toe. | — |
| history_promptopt | COMBO | 131 options: announcer, de_speaker_0, de_speaker_1, de_speaker_2, de_speaker_3, de_speaker_4, +125 | |
| custom_history_promptopt | STRING | — | |
| text_tempopt | FLOAT | 0.70 | — |
| waveform_tempopt | FLOAT | 0.70 | — |
| output_fullopt | BOOLEAN | false | — |
| force_rerunopt | BOOLEAN | false | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| AUDIO | AUDIO | — |
| STRING | STRING | — |