Comfy-Org/ComfyUI · error · ValueError
Reference mode '{MODE_SPEAKER}' requires selecting a preset
Error message
Reference mode '{MODE_SPEAKER}' requires selecting a preset voice. What it means
Thrown by the ByteDance Seed Audio node when reference_mode is 'preset voice' but the preset_voice selection is empty or not a key in SEED_AUDIO_VOICE_MAP (the map of preset voice labels to speaker ids built from SEED_AUDIO_PRESET_VOICES). Preset-voice mode requires one of the built-in voices; the whole prompt is read in that voice.
Source
Thrown at comfy_api_nodes/nodes_bytedance.py:3188
raise ValueError(
"Connect reference_audio inputs in order without gaps: reference_audio_1, then _2, then _3."
)
if max_tag > len(audio_indices):
raise ValueError(
f"The prompt references @Audio{max_tag}, but only {len(audio_indices)} "
f"reference audio(s) are connected."
)
elif mode == MODE_IMAGE:
if not has_image:
raise ValueError(f"Reference mode '{MODE_IMAGE}' requires a reference_image input.")
if max_tag:
raise ValueError(
f"@AudioN tags are not used in '{MODE_IMAGE}' mode; the prompt should contain "
f"only the text to synthesize."
)
elif mode == MODE_SPEAKER:
if not preset_voice or preset_voice not in SEED_AUDIO_VOICE_MAP:
raise ValueError(f"Reference mode '{MODE_SPEAKER}' requires selecting a preset voice.")
if max_tag > 1:
raise ValueError(
f"'{MODE_SPEAKER}' mode uses a single voice, so @Audio{max_tag} is out of range. "
f"Remove the @AudioN tags — the whole prompt is read in the selected voice."
)
else:
raise ValueError(f"Unknown reference mode: {mode!r}")
class ByteDanceSeedAudioNode(IO.ComfyNode):
@classmethod
def define_schema(cls) -> IO.Schema:
return IO.Schema(
node_id="ByteDanceSeedAudio",
display_name="ByteDance Seed Audio 1.0",
category="partner/audio/ByteDance",
description=(View on GitHub (pinned to 1c6d8d45b3)
Solutions
- Open the node and pick one of the offered preset voices from the preset_voice dropdown (do not type a custom value).
- If the workflow JSON carries a stale voice string, re-select the voice and re-save the workflow.
- If you want to use your own audio clip as the voice, switch reference_mode to 'audio reference' and connect reference_audio inputs.
Defensive patterns
Strategy: validation
Validate before calling
valid_modes = {"text only", "audio reference", "image reference", "preset voice"}
# before queueing, ensure the preset_voice combo value is one of the offered labels
assert preset_voice in offered_preset_voices, f"preset_voice {preset_voice!r} is not in the dropdown list" Prevention
- Always select preset voices from the dropdown rather than typing or hand-editing JSON values.
- After loading a shared workflow, re-confirm combo selections on ByteDance nodes before running.
When it happens
Trigger: reference_mode == 'preset voice' and preset_voice is falsy or not present in SEED_AUDIO_VOICE_MAP.
Common situations: Workflow loaded from JSON where the combo value for preset_voice is missing or from an older/newer version whose voice list differs; user typed a custom voice name into a combo that expects one of the fixed labels; locale change renamed the voice label.
Related errors
- Unknown reference mode: {mode!r}
- The prompt references @Audio{max_tag}, but only {len(audio_i
- Reference mode '{MODE_IMAGE}' requires a reference_image inp
- @AudioN tags are not used in '{MODE_IMAGE}' mode; the prompt
- '{MODE_SPEAKER}' mode uses a single voice, so @Audio{max_tag
AI-assisted analysis of Comfy-Org/ComfyUI@1c6d8d45b3 (2026-08-14).
Data as JSON: /api/errors/9f4fd32e7bbdfcdb.
Report an issue: GitHub.