Text-to-Audio

Synthesize speech with vLLM-Omni through the /v1/audio/speech endpoint

View as Markdown

Text-to-audio (TTS) generation runs a vLLM-Omni worker with --output-modalities audio. See the Diffusion Overview for installation and shared configuration.

Tested Models

ModelNotes
Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoiceDefault model; predefined speakers
Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesignDescribe a voice via instructions

Launch

Launch using the provided script with Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice:

$bash examples/backends/vllm/launch/agg_omni_audio.sh

Generate Speech

$curl -X POST http://localhost:8000/v1/audio/speech \
> -H "Content-Type: application/json" \
> -d '{
> "input": "Hello, how are you?",
> "voice": "vivian",
> "language": "English"
> }' --output output.wav

Parameters

The /v1/audio/speech endpoint follows the vLLM-Omni API format. All TTS-specific parameters are top-level fields:

input
stringRequired

Text to synthesize.

model
stringDefaults to auto-detected

TTS model name.

voice
stringDefaults to Vivian

Speaker name (e.g., vivian, ryan). Validated against model config.

response_format
wav | mp3 | pcm | flac | aac | opusDefaults to wav

Audio output format.

speed
floatDefaults to 1.0

Speed factor (0.25–4.0).

task_type
CustomVoice | VoiceDesign | BaseDefaults to CustomVoice

Synthesis task type (Qwen3-TTS).

language
stringDefaults to Auto

Language code. Validated against model config.

instructions
string

Voice style/emotion description. Required for VoiceDesign.

ref_audio
string

Reference audio URL or base64 data URI. Required for Base.

ref_text
string

Transcript of reference audio (Base task).

max_new_tokens
intDefaults to 2048

Maximum tokens to generate (1–4096).

Available voices and languages are loaded dynamically from the model’s config.json at startup. Non-Qwen3-TTS audio models (e.g., MiMo-Audio) use a generic text prompt and ignore TTS-specific parameters.

Audio streaming (stream: true) and the Base task (voice cloning) are not yet supported.

See Also