Qwen Audio 3.1 TTS vs Gemini 3.8 Flash TTS

Qwen Audio 3.1 TTS and Gemini 3.8 Flash TTS side by side: specs, capabilities, parameters, and live pricing from the EmpirioLabs catalog.

Alibaba Cloud Google Audio Generation

Qwen Audio 3.1 TTS vs Gemini 3.8 Flash TTS at a glance

Qwen Audio 3.1 TTS from Alibaba Cloud and Gemini 3.8 Flash TTS from Google are both in the Audio Generation category, available through the EmpirioLabs API.

Key differences

  • Qwen Audio 3.1 TTS is the newer release (Sep 23, 2026); Gemini 3.8 Flash TTS was released on Sep 22, 2026.
  • Capabilities listed only for Qwen Audio 3.1 TTS: expressive prosody, emotion control, low latency, realtime.
  • Capabilities listed only for Gemini 3.8 Flash TTS: multi speaker, voice control.
  • Qwen Audio 3.1 TTS lists the lower rate for Input (per 1M prompt tokens) and Output (per 1M generated tokens).

Qwen Audio 3.1 TTS vs Gemini 3.8 Flash TTS: specs

SpecQwen Audio 3.1 TTSGemini 3.8 Flash TTS
Model IDqwen-audio-3-1-ttsgemini-3-8-flash-tts
AuthorAlibaba CloudGoogle
ReleasedSep 23, 2026Sep 22, 2026
Max output60,000 tokens-
Input
Text
Text
Output
Audio
Audio
RegionSingapore-
Endpoints
POST /v1/audio/speech POST /v1/audio/speech:stream WEBSOCKET /v1/realtime GET /v1/voices
POST /v1/audio/speech POST /v1/audio/speech:stream GET /v1/voices
Capabilities
text to speech multilingual expressive prosody emotion control voice tags low latency streaming realtime voice cloning
text to speech multi speaker multilingual voice tags voice control streaming voice cloning

Qwen Audio 3.1 TTS vs Gemini 3.8 Flash TTS: API pricing

Live rates from the EmpirioLabs catalog for both models. Each rate card always matches what the API charges.

Qwen Audio 3.1 TTS vs Gemini 3.8 Flash TTS: API parameters

Request parameters each model lists on EmpirioLabs, with the allowed values or range where one applies. A dash marks a parameter the model does not list.

ParameterQwen Audio 3.1 TTSGemini 3.8 Flash TTS
inputmax 10000max 5000
voiceEmily_v3.1, Luna_v3.1, Eric_v3.1, Luca_v3.1, Abby_v3.1, Annie... Default: Emily_v3.1Zephyr, Puck, Charon, Kore, Fenrir, Leda, Orus, Aoede, Callir... Default: Charon
voice_audio_urlstringstring
response_formatmp3, wav, pcm, opus Default: mp3-
sample_rate8000, 12000, 16000, 22050, 24000, 44100, 48000 Default: 240008000, 16000, 22050, 24000, 44100, 48000 Default: 24000
speed0.5 to 2 Default: 10.25 to 2 Default: 1
pitch0.5 to 2 Default: 1-
volume0 to 100 Default: 50-
instructionmax 1000-
language_hintszh, en, fr, de, ja, ko, ru, pt, th, id, vi, es, it, ms, fil, ar-
seed0 to 65535 Default: 0-
bit_rate6000 to 510000 Default: 32000-
pronunciationobject-
replaceobject-
enable_markdown_filterboolean Default: false-
mode-single, multi Default: single

Qwen Audio 3.1 TTS vs Gemini 3.8 Flash TTS: limits and notes

Qwen Audio 3.1 TTS

Voices

  • 19 voices: 15 English voices and 4 multilingual voices. Emily, Luna, Eric, and Luca have British accents. Abby, Annie, Ava, Beth, Betty, Cally, Cindy, Donna, Andy, Brian, and David have American accents. The multilingual voices longanhuan_v3.1, longanlingxin_v3.1, longanfengyue_v3.1, and xunanchuan_v3.1 read Chinese, English, and other languages.
  • Every voice id ends in _v3.1, for example Emily_v3.1.

Custom voices

  • Set voice to custom and pass voice_audio_url, an https URL to 10 to 20 seconds of clear speech from one speaker.
  • WAV, MP3, M4A, OGG, WEBM and FLAC are accepted, up to 15 MB. Record in a quiet room, without music or other voices.
  • The response includes voice_id and voice_id_expires_at. Pass the voice_id as voice to reuse the voice for 7 days, on POST /v1/audio/speech, POST /v1/audio/speech:stream or the realtime socket, where session.update takes the same fields and session.updated returns the voice_id. Only the account that created it can use it.
  • Each account can hold 10 custom voices on this model at a time.
  • GET /v1/voices?model=qwen-audio-3-1-tts lists the model's voices, including your custom voices with their ids. Add type=custom to list custom voices alone.
  • DELETE /v1/voices/{voice_id}?model=qwen-audio-3-1-tts deletes a custom voice, which frees its place at once.
  • In the Playground, set Voice to Custom to use a saved voice again, copy its id, or delete it.
  • Creating, listing and deleting custom voices adds no charge.

Delivery direction

  • instruction sets emotion, tone, character, pace, and speaking style in natural language, up to 1,000 characters.
  • Inline tags inside the text change the delivery from that point, for example [excited] or [whispers], or add a one-time sound such as [laughing] or [sighing]. The full list of tags is on the input parameter.
  • SSML input is not supported.

Input limits

  • Up to 10,000 characters per request.
  • language_hints biases pronunciation for mixed-language text.

Output

  • MP3, WAV, PCM, or Opus at 8,000 to 48,000 Hz.
  • POST /v1/audio/speech:stream sends audio chunks while the speech is generated.

Realtime

  • WEBSOCKET /v1/realtime?model=qwen-audio-3-1-tts takes text while it is still being written and returns audio as it is generated. Send input_text_buffer.append events, then input_text_buffer.commit, or session.finish to end the session.
  • Audio arrives in response.audio.delta events: 16-bit PCM at 24,000 Hz by default, or MP3 or Opus. Set the voice, instruction, format and other options with session.update; a change applies from the next segment.
  • Text is spoken in segments that end at sentence boundaries, and each segment ends with a response.done event carrying its usage.

Billing

  • Input tokens are the text, and output tokens are the generated audio at 12.5 tokens per second.
  • Speed and pitch change the length of the rendered audio but not the billed tokens. An instruction that slows the delivery adds output tokens.

Gemini 3.8 Flash TTS

Limits

  • Text: up to 5,000 characters per request
  • Audio billing: 32 output tokens per second of generated audio
  • 130 languages. The language of the text is detected automatically.

Voices

  • The 30 voices in the voice list speak every supported language.
  • GET /v1/voices?model=gemini-3-8-flash-tts lists the full library of more than 2,000 voices across 30 locales, with the language, accent, gender, pitch, and a description of each. Filter it with language, gender, pitch, or q. Any id it returns works as voice or voice2; when you also set language, use the voice's own language.

Custom voices

  • Set voice to custom and pass two recordings of the same adult speaker as https URLs: voice_audio_url, 10 to 30 seconds of natural speech, and voice_consent_audio_url, the speaker reading "I am the owner of this voice and I consent to Google using this voice to create a synthetic voice model." The statement is accepted in 30 languages; consent_statements on that parameter lists each wording.
  • Both must be recordings of a real person, in a quiet room on the same microphone. AI-generated audio is not accepted. WAV, MP3, M4A, OGG, WEBM and FLAC are accepted, up to 15 MB each.
  • The response includes voice_id and voice_id_expires_at. Pass the voice_id as voice or voice2 to reuse the voice for 7 days without new recordings. A voice_id works only for the account that created it.
  • This model keeps no list of custom voices, so keep the voice_id from the response. A custom voice ends when its id expires, so there is nothing to delete.
  • In the Playground, set Voice to Custom to use a voice made in the same tab again, or copy its id.

Delivery direction

  • Put direction for the whole passage in style_prompt rather than in the text, for example "warm, unhurried, and reassuring".
  • Place vocal tags inline where the sound should happen. Use these English tags even when the text is in another language:
<argh> <breath> <heavy breath> <exhales> <cackle> <cheer> <chuckle> <chuckles> <cough> <cry> <gasp> <giggle> <groan> <growl> <grunt> <grr> <hiss> <laugh> <laughter> <moan> <pant> <pff> <phew> <scream> <shout> <shriek> <sigh> <sighs> <sneeze> <snicker> <snort> <sob> <throat-clearing> <tsk> <whimper> <whispers> <whispering> <yawn> <short pause> <long pause>
  • Capitalize a word to stress it. Wrap a listener reaction in pipes, for example |mm-hmm|, to add it without starting a new turn.

Multi-speaker

  • Up to two speakers per request. Start each line with a speaker name and a colon, for example Speaker1: and Speaker2:. The names must match speaker1_name and speaker2_name.

Output

  • WAV, MP3, OGG (Opus), ALAW, or MULAW, at 8,000 to 48,000 Hz.
  • POST /v1/audio/speech:stream sends 16-bit PCM chunks at 24,000 Hz while the audio is generated, then the complete file in the requested format. speed is available on POST /v1/audio/speech only.

How to call Qwen Audio 3.1 TTS and Gemini 3.8 Flash TTS

Qwen Audio 3.1 TTS serves speech through POST /v1/audio/speech and returns playable audio. Send the text to speak as input with the model id qwen-audio-3-1-tts. Both models are called through the same endpoint. Set model to qwen-audio-3-1-tts or gemini-3-8-flash-tts. Get an API key from the EmpirioLabs dashboard.

cURL
curl https://api.empiriolabs.ai/v1/audio/speech \
  -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen-audio-3-1-tts",
    "input": "Welcome to EmpirioLabs. Your build just finished."
  }' \
  --output speech.mp3

Qwen Audio 3.1 TTS vs Gemini 3.8 Flash TTS: tests and guides

Prompt tests and comparison runs that cover both models.

Qwen Audio 3.1 TTS vs Gemini 3.8 Flash TTS: common questions

What is the difference between Qwen Audio 3.1 TTS and Gemini 3.8 Flash TTS?

Qwen Audio 3.1 TTS is the newer release (Sep 23, 2026); Gemini 3.8 Flash TTS was released on Sep 22, 2026. Capabilities listed only for Qwen Audio 3.1 TTS: expressive prosody, emotion control, low latency, realtime. Capabilities listed only for Gemini 3.8 Flash TTS: multi speaker, voice control. The specs, rate cards, and parameters on this page come from the live EmpirioLabs catalog.

Which is newer, Qwen Audio 3.1 TTS or Gemini 3.8 Flash TTS?

Qwen Audio 3.1 TTS is the newer release (Sep 23, 2026); Gemini 3.8 Flash TTS was released on Sep 22, 2026.

Which has the lower rate, Qwen Audio 3.1 TTS or Gemini 3.8 Flash TTS?

Qwen Audio 3.1 TTS lists the lower rate for Input (per 1M prompt tokens) and Output (per 1M generated tokens). Both live rate cards are on this page and always match what the API charges.

Can I switch between Qwen Audio 3.1 TTS and Gemini 3.8 Flash TTS without rebuilding my integration?

Yes. Both models use POST /v1/audio/speech with the same EmpirioLabs API key, so most integrations switch by changing the model value. Check the parameters table on this page first if you rely on a model-specific parameter.

Ready to use better endpoints?

Check out our pricing or reach out if you want your own model deployed on our stack.