ByteDance Seed Audio 1.0
Voice, music, SFX, and dialogue
- AUDIO
One prompt, whole scene
ByteDance Seed Audio is the "describe the whole scene" node of ComfyUI's audio family. Give it a single text prompt - who's speaking, how they sound, what's in the background - and it hands back up to two minutes of finished audio: voiceover, dialogue between named characters, background music, ambience, sound effects, all generated in one shot and mixed together. No separate music model, no SFX pass, no stitching.
It's also a textbook ByteDance move. The Seed line of flagship models is API-only - the weights never ship - and this node is just the ComfyUI front door to the hosted service. So it isn't free, but it's the closest you get to typing "a rainy evening café, two people arguing over a train ticket" and getting the actual audio back.
How it works
The node is a thin client. It packs your prompt (plus any reference clips) into a request, posts it to ByteDance's /api/v3/tts/create endpoint through ComfyUI's partner-node proxy, polls for the result, and decodes the returned audio into a normal AUDIO tensor. All the heavy lifting happens on their servers, so your GPU idles and your internet connection matters more than your VRAM. It landed in ComfyUI core in July 2026, with the multilingual model the default from day one.
The inputs that matter
Most of the work happens in text_prompt, and you should treat it like a scene description, not a TTS line. Name characters inline for dialogue, describe emotion and pacing, and drop in ambience and music cues. Two pieces of model syntax are worth knowing:
@Audio1–@Audio3tags - in "audio reference" mode, these refer to your connected clips, in order.[5.5s:8.0s]timestamps - with the multilingual model, a quoted line can start with a time range that controls when it's spoken and for how long.
The other controls, briefly:
reference_mode- the one that changes everything: text only (describe everything), audio reference (clone up to 3 voices, 30-second clips each), image reference (derive a voice from one character image), or preset voice (pick from about 40 built-in named voices, no clips needed).model-seed-audio-1.0-multilingualis the right default: 20 languages plus timestamp control. Plainseed-audio-1.0is English/Chinese only and loses the timestamps.speech_rate,loudness_rate,pitch_rate- the three dials: roughly 0.5–2x speed and loudness, and ±12 semitones of pitch.sample_rate- 24000 Hz is the default and fine unless you have a specific target.seed- here's the trap: it does not make results reproducible. The tooltip says it outright - results are non-deterministic regardless of seed, and the widget just exists to force a re-run.
The single AUDIO output wires straight into core SaveAudio, SaveAudioMP3, or PreviewAudio, or into AudioConcat if you're assembling a longer track.
Getting it
It ships with ComfyUI core - nothing to install. It's an API node, so it loads no model files. Instead it bills against your Comfy account credits, priced per minute of audio, with an approximate price badge shown right on the node.
Where people get burned
@AudioNin the wrong mode. Tag@Audio2in your prompt but leavereference_modeon text only, and the node errors out immediately, telling you exactly what to switch. Same if you reference@Audio3but only connected two clips.- Gaps in references. Clip 1 and clip 3 connected but not 2? Hard error - they must connect in order.
- Language mismatch. Write the prompt in the same language as the lines to speak, or the voice conditions poorly.
- Iteration cost. You're paying per minute and results are non-deterministic, so retrying until a take lands gets expensive fast. Tune the prompt, not the seed.
That last point is the honest gotcha. Seed Audio is genuinely impressive, but it's a paid, non-deterministic API - treat it as a tool for final takes, not for a thousand dice rolls.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| text_prompt | STRING | Describe the voice(s), emotion, pacing, ambience, background music and sound effects, and include the lines to speak (name characters inline for dialogue). In 'audio reference' mode, refer to connected clips by order as @Audio1, @Audio2, @Audio3. With the multilingual model, a quoted line can start with a timestamp range that controls when and how long it is spoken, e.g. "[5.5s:8.0s] Wait for me!". Write the prompt in the same language as the lines to speak. Maximum 3000 characters. | |
| reference_mode | COMBO | How to condition the voice: 'text only' (describe everything in the prompt), 'audio reference' (clone up to 3 voices, tagged @Audio1-3), 'image reference' (derive a voice from one character image), or 'preset voice' (pick a built-in named voice that reads the prompt). | |
| sample_rate | COMBO | 24000 | Output sample rate in Hz. |
| speech_rate | INT | 0-50–100 | Speaking speed. 0 = normal, 100 = 2.0x, -50 = 0.5x. |
| loudness_rate | INT | 0-50–100 | Loudness. 0 = normal, 100 = 2.0x, -50 = 0.5x. |
| pitch_rate | INT | 0-12–12 | Pitch shift in semitones (-12 to 12). |
| seed | INT | 420–2147483647 | Seed controls whether the node should re-run; results are non-deterministic regardless of seed. |
| modelopt | COMBO | seed-audio-1.0-multilingual | seed-audio-1.0-multilingual: 20 languages (English, Chinese, Japanese, Korean, Mexican & Castilian Spanish, Indonesian, German, Brazilian Portuguese, French, Thai, Vietnamese, Malay, Filipino, Italian, Russian, Dutch, Polish, Turkish, Swedish) plus per-sentence timing control via "[5.5s:8.0s] ..." timestamps. seed-audio-1.0: English and Chinese only, no timing control. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| AUDIO | AUDIO | — |