🎁 New Sign up free, 10 calls on us. Up to $1, no card needed.

Google TTS Chirp 3 HD vs Qwen3 TTS Instruct Flash

vs

Which one, when — curated verdict, not a benchmark table

qwen3-tts-instruct-flash is 2.6x cheaper per million characters ($11.5 against $30) and takes plain-language voice direction, but it accepts only 600 characters per request against 5000 bytes on google-tts-chirp3-hd, so long copy has to be chunked. Google's model covers the wider locale list and exposes numeric voice parameters, with SSML in preview. Pick qwen3-tts-instruct-flash for short lines with a described delivery, google-tts-chirp3-hd for long text and locale breadth.

Pricing

Google TTS Chirp 3 HD Qwen3 TTS Instruct Flash Δ
Per 1M characters $30 $11.5 2.6×

Rates from the live catalog at build time; each model page carries the current card.

Where they sit — price per 1M characters across all 7 text-to-speech models on this billing unit (log scale)

Capabilities

Google TTS Chirp 3 HD Qwen3 TTS Instruct Flash
Streaming yes yes
SSML preview undocumented
Billing unit character character

Specs

Google TTS Chirp 3 HD Qwen3 TTS Instruct Flash
Input modalities text text
Output modalities audio audio
Request limit 5000 bytes 600 characters
Voices Voices are named after stars and published with a gender: Achernar, Achird, Algenib, Algieba, Alnilam, Aoede, Autonoe, Callirrhoe, Charon, Despina, Enceladus, Erinome, Fenrir, Gacrux, Iapetus, Kore, Laomedeia, Leda, Orus, Pulcherrima, Puck, Rasalgethi, Sadachbia, Sadaltager, Schedar, Sulafat, Umbriel, Vindemiatrix, Zephyr and Zubenelgenubi. A locale prefix forms the id, e.g. en-US-Chirp3-HD-Charon. Google describes the set as 30 distinct styles across many languages.

System voices published with one-line personas, among them Cherry (a sunny, positive, friendly and natural young woman), Serena, Ethan, Chelsie, Momo, Vivian, Moon, Maia, Kai, Nofish (a designer who cannot pronounce retroflex sounds), Bella, Eldric Sage, Mia, Mochi, Bellona, Vincent, Bunny, Neil, Elias, Arthur, Nini, Seren, Pip and Stella

the Qwen-TTS voice list pairs each voice with the exact model ids that accept it.

Languages ar-XA, bn-IN, bg-BG, yue-HK, hr-HR, cs-CZ, da-DK, nl-BE, nl-NL, en-AU, en-IN, en-GB, en-US, et-EE, fi-FI, fr-CA, fr-FR, de-DE, el-GR, gu-IN, he-IL, hi-IN, hu-HU, id-ID, it-IT, ja-JP, kn-IN, ko-KR, lv-LV, lt-LT, ml-IN, cmn-CN, mr-IN, nb-NO, pl-PL, pt-BR, pa-IN, ro-RO, ru-RU, sr-RS, sk-SK, sl-SI, es-ES, es-US, sw-KE, sv-SE, ta-IN, te-IN, th-TH, tr-TR, uk-UA, ur-IN and vi-VN.

Chinese (Mandarin), English, German, Italian, Portuguese, Spanish, Japanese, Korean, French and Russian. language_type defaults to Auto for mixed-language or undetermined input, which Alibaba documents as not guaranteeing accuracy

naming a single language is documented to significantly improve synthesis quality. Unlike the Qwen3-TTS-Flash series, the Instruct series lists no Chinese dialect voices (Beijing, Shanghainese, Sichuan, Nanjing, Shaanxi, Hokkien, Tianjin, Cantonese).

Voice control
  • Voice controls are Preview: pace via speaking_rate 0.25 to 2.0
  • pause tags [pause short], [pause long] and [pause] accepted only in the markup input field, never in text, and the model may disregard tags placed unnaturally
  • custom pronunciations in IPA or X-SAMPA
  • SSML support is Preview and synchronous-only, unsupported for streaming requests, with unlisted tags ignored and say-as interpret-as=expletive or bleep not supported
  • instructions steers speed, emotion and style in natural language, up to 1,600 tokens and documented for Chinese and English only
  • optimize_instructions (default false) rewrites the instruction into a directive better suited to synthesis and has no effect when instructions is empty
  • voice cloning and voice design are both listed as unsupported for this model id
Limits

Content limit of 5,000 total bytes per synthesize request. Default response format LINEAR16

streaming supports ALAW, MULAW, OGG_OPUS and PCM, batch adds MP3, so MP3 is not available on the streaming path. The only voice type Google's comparison table marks as streaming-capable. Generally available in the global, us and eu endpoints plus asia-southeast1, europe-west2 and asia-northeast1, but out of scope for regionalization and data residency. Billed per character including spaces and newlines, with all SSML tags except <mark> counted.

HTTP non-real-time speech synthesis API

the -realtime suffix marks the WebSocket sibling. Input text capped at 600 characters, multilingual mixed input allowed. Non-streaming returns an audio file URL valid for 24 hours

streaming returns Base64-encoded PCM in chunks with the URL only in the final packet, played back in the official samples as 24 kHz mono 16-bit audio. Billed by input text characters, reported as usage.characters (input_tokens and output_tokens are always 0 on the Qwen3-TTS series)

output audio is free.

Specs are transcribed from each vendor’s documentation; a row a vendor does not publish is left out rather than inferred. Full sources: Google TTS Chirp 3 HD · Qwen3 TTS Instruct Flash

Switch between them with one line

Both ids are in every tab below — the highlighted pair of lines is the only edit. Same endpoint, same key, same request shape.

from openai import OpenAI

client = OpenAI(
    base_url="https://synthorai.io/v1",
    api_key="sk-syn-...",
)

resp = client.audio.transcriptions.create(
    model="google-tts-chirp3-hd",
    # model="qwen3-tts-instruct-flash",  # uncomment this line, comment the one above
    file=open("meeting.mp3", "rb"),
    language="en",
)
print(resp.text)

Get an API key →

FAQ

Which is cheaper, Google TTS Chirp 3 HD or Qwen3 TTS Instruct Flash?

Qwen3 TTS Instruct Flash is cheaper on per 1m characters ($11.5 vs $30, 2.6× apart). Other rows may point the other way — the table above carries the full card, and real cost depends on your mix.

Can I A/B test Google TTS Chirp 3 HD against Qwen3 TTS Instruct Flash without two integrations?

Yes. Both are served through the same OpenAI-compatible endpoint with one API key — switching is a one-line model-string change, so you can route a fraction of traffic to each and compare bills directly.

How is text-to-speech billed?

Per character of input text, with a per-request character ceiling shown in the spec table. Long scripts must be chunked across requests on either model.

Related comparisons