Gemini TTS stateless voice keys expire in 7 days: Sume saved voices
Gemini TTS can store up to 200 voices per project, but stateless voice keys expire in 7 days. A Sume voice is a saved workspace row you reuse with its voice id.

Gemini 3.8 Flash TTS lets you design or replicate a voice, and the speech guide says projects can store up to 200 voices when you use stateful storage, while stateless voice keys expire in 7 days. If you plan a series, that expiry is the thing to design around. A Sume voice is saved in the workspace and reused through its voice id.
What the vendor page says
The Gemini API speech guide lists gemini-3.8-flash-tts and gemini-3.8-flash-lite-tts. Both support voice design and voice replication. It states a maximum of 200 voices per project with stateful storage, and that stateless keys expire in 7 days. It is a limit worth reading before you build a show around a designed voice.
We make no claim here about how to use those keys. The point is only that the two storage modes have different lifetimes, and a series needs the longer one.
How a Sume voice is stored
A voice made with voices_create, by description or by clone, is a row in Assets, then Voices, in the workspace. Each ready row has a voi_ id, a slug, a sample_url, and a cartesia_voice_id. That last value is what you pass as voice.id to Sume TTS.
The workspace owns the row, and teammates can use it.
Pin it for a series
For a show with many episodes, record these three things once, then reuse them.
- The voice's
cartesia_voice_id. - The
generation_configyou settled on:speed0.6 to 1.5,volume0.5 to 2, and anemotionstring. - The
languagecode the voice was tuned for.
What this does not give you
Sume's voices are Cartesia Sonic 3.6 voices. They are not Gemini voices, and a Gemini-designed voice does not move to Sume as an id. If you want the Gemini sound, you would clone from a recording of it through voices_create with an https audio_url, and that clone is a new Sume voice with its own id. Check the rights on any recording before you clone it.
If your series is already in Gemini and works, you do not have to move. The comparison matters when the expiry or the project cap becomes a constraint on how you run it.
A practical rule
Treat any voice that only exists as a temporary key as disposable, and treat a saved voice as an asset. For a series, create the voice once, play its sample, and write its id into your episode template. Then an expiry date is no longer part of your production schedule.
Check the vendor page again before you commit; limits like these change as models move out of preview.
Sources
Related posts
More in Comparisons
- Two-voice dialogue: Gemini TTS vs ElevenLabs Text to Dialogue
Gemini TTS handles up to 2 speakers per request; ElevenLabs Text to Dialogue keeps continuity with surrounding text and request IDs. In Sume you stitch jobs.
- Voice Design from a text description: Gemini vs ElevenLabs
Gemini TTS has Voice Design and 200 custom voices per project; ElevenLabs lists Voice Design on v4. Sume's docs cover cloning, not voice design.
- GitHub Actions schedule or a Sume schedule for a weekly video run?
For a weekly video run, GitHub Actions cron is UTC-first and best-effort at busy times; a Sume schedule has a timezone and a spend cap. You can also chain them.
- GPT-6.1 Sol structured outputs or a Sume Format output_schema?
GPT-6.1 Sol supports structured outputs and function calling in OpenAI's API. A Sume Format run adds media, a spend cap and a receipt. Pick by the job.
Written by Sume