Gemini TTS voice design voice_ id vs Sume voice ids
Gemini voice design returns a persistent voice_ id from a text prompt. Sume TTS accepts only a voice UUID or voi_ library id, and rejects other shapes with 400.

A Gemini voice_... id will not work as a Sume voice.id. Sume accepts a TTS voice UUID (8-4-4-4-12 hex) or a Voices library id (voi_ plus 32 hex), and any other shape is rejected synchronously with 400 public_reason=invalid_voice_id before a job is queued or credits are reserved.
Gemini facts are from its speech-generation guide; Sume facts from the API reference. Read 2026-10-01.
What does Gemini voice design create?
The guide says you can generate a custom vocal persona from a natural-language description in Google AI Studio or with POST /v1beta/voices and type="prompted", which returns a persistent voice_... id and a sample_audio WAV preview. Stateful voices are limited to 200 per project, shared across prompted and replicated voices, with a one-year retention.
| Item | Gemini 3.8 TTS | Sume TTS 1.0 |
|---|---|---|
| Id shape | voice_... (stateful), voicekey_... (stateless replicated) | UUID or voi_ + 32 hex |
| Wrong shape | Not covered here | 400 invalid_voice_id, no credits reserved |
How do I choose a voice on Sume?
Either copy a voice id verbatim, or send avatar_id or avatar_handle and let Sume resolve the voice. The reference calls the avatar reference the discoverable selector: list avatars with GET /v1/avatar-1.0/avatars and use one whose voice.status is ready. If both an avatar and voice.id are set they must match, or the request fails with 400.
Can I design a voice from a prompt on Sume?
Not through the TTS request: it takes an existing id, not a description. Making a voice from a text description is covered separately in AI voice from a text description.
Sources
Related posts
More in Developers
- GPT Image 2 input_fidelity: omit it; Sume returns 400
OpenAI says to omit input_fidelity for gpt-image-2 because inputs run at high fidelity. Sume lists no such field and rejects unlisted parameters with 400.
- GPT Image moderation_blocked vs Sume content_policy_rejected
OpenAI returns moderation_blocked with moderation_details. On Sume, policy refusals are grouped under content_policy_rejected. What to read and when to retry.
- GPT Image revised_prompt: what a Sume images response returns
OpenAI returns revised_prompt on the image generation call. A Sume POST /v1/images response has data[].url and usage, with no revised prompt field.
- GPT Image user error: don't retry unchanged; Sume failures unbilled
OpenAI says not to auto-retry image_generation_user_error without changing the prompt or inputs. On Sume, retry 429 with backoff; failed images are not billed.
Written by Sume