Gemini voice replication: consent audio and a 10-30 s sample
Gemini API voice replication needs a 10-30 second source_audio and a consent_audio from the same speaker. Sume's TTS call takes a ready voice id instead.

The Gemini API docs say every voice replication request needs two real human recordings from the same adult speaker: a 10 to 30 second source_audio clip and a consent_audio clip reciting a mandatory consent statement. Sume's TTS 1.0 request takes neither; it takes a voice id that already exists.
What does Gemini require to replicate a voice?
Per the page read 2026-10-01, 24 kHz mono 16-bit WAV is recommended for both clips. The consent recording must be the same speaker reciting the consent statement in one of the supported languages.
| Input | Requirement |
|---|---|
source_audio | 10-30 seconds of clean, natural speech from the speaker |
consent_audio | Same speaker reciting the consent statement |
| Speaker | The same adult speaker for both clips |
What does a Sume TTS request take instead?
A transcript plus a voice selector: an avatar reference, or voice.id. The id must be a TTS voice UUID or a Voices library id, "not a voice name from another TTS ecosystem"; other shapes get 400 public_reason=invalid_voice_id before a job is queued or credits are reserved. See the API reference.
Does the language still matter?
Yes. Set language for every non-English transcript; omitted, it defaults to English at the provider. Audio longer than 1200 seconds fails with tts_duration_exceeded and no credit capture.
Where do I read about cloning on Sume?
See voice cloning API. For Gemini speech on Sume, see Gemini TTS: which engine Sume routes. Get written consent from any speaker before you clone their voice anywhere.
Sources
Related posts
More in Developers
- Gemini voice_key with store=false: 7 days; voice_ ids: 200, 1 year
Gemini replicated voices: stored voice_ ids keep 1 year with 200 per project; stateless voicekey_ values last 7 days. What Sume's TTS voice id accepts.
- Lost a webhook signing secret? Gemini shows it once, Sume re-reads
Gemini static webhooks return the signing secret once at creation. Sume's secret can be read again from the dashboard or GET /v1/webhooks/signing-secret.
- Gemini thin webhook payload vs Sume: artifact URLs in the body
Gemini webhooks send a snapshot with pointers to results. A Sume job.completed webhook already carries the media.sume.com artifact URL, so no second fetch.
- Copilot app sandbox network: Sume hosts to allow
In a sandboxed GitHub Copilot app session, allow api.sume.com, mcp.sume.com and media.sume.com outbound; send the Sume key as a header, not a git credential.
Written by Sume