Spraak

Tekst naar spraak

Zet tekst om in natuurlijke spraak met de tekst-naar-spraakmodellen van Gemini, via de spraak-API van OpenAI: 30 stemmen, een stijl die je in gewone woorden beschrijft en binnen een paar seconden een MP3, WAV van PCM.

POST/v1/audio/speech
ModelIDTekstinvoer, per 1M tokensAudio-uitvoer, per 1M tokensAudiotokens per secondeOngeveer een minuut
Gemini 3.8 Flash TTSgemini-3.8-flash-tts$0.30$5.4025$0.008
Gemini 3.1 Flash TTSgemini-3.1-flash-tts$0.60$12.0032$0.023
Gemini 2.5 Pro TTSgemini-2.5-pro-tts$0.60$12.0025$0.018
Gemini 2.5 Flash TTSgemini-2.5-flash-tts$0.30$6.0025$0.009

Spraak maken

from openai import OpenAI
client = OpenAI(base_url="https://api.zurelay.com/v1", api_key="YOUR_ZURELAY_KEY")
speech = client.audio.speech.create(
model="gemini-3.1-flash-tts",
voice="Kore",
input="Your order has shipped and arrives on Friday.",
instructions="Say it warmly, at a relaxed pace",
)
speech.write_to_file("shipped.mp3")

Elke OpenAI-SDK werkt: stel https://api.zurelay.com/v1 in als basis-URL en roep de spraakmethode aan. Het antwoord is het audiobestand zelf.

Parameters

modelstringverplicht
Een spraakmodel-ID uit de tabel.
inputstringverplicht
De tekst om uit te spreken, maximaal 5,000 tekens. Verdeel langere tekst over meerdere verzoeken.
voicestring
Een van de 30 stemmen hieronder, of een OpenAI-stemnaam zoals alloy of nova. Standaard Kore.
instructionsstring
Hoe het moet klinken, in gewone woorden: Say cheerfully, Whisper, like a secret, Read slowly, like a bedtime story. Maximaal 2,000 tekens. Niet beschikbaar op Gemini 3.8 Flash TTS, dat de tekst woord voor woord voorleest: een verzoek met instructies wordt daar geweigerd.
response_formatstring
mp3 (standaard), wav, of pcm: ruwe samples van 24 kHz, 16-bit, mono.
speednumber
Niet ondersteund: geef het gewenste tempo in plaats daarvan aan in instructions. Alleen 1 wordt geaccepteerd.
modelsarray
Slimme routering voor dit verzoek: andere spraakmodellen om in volgorde te proberen als het model niet beschikbaar is. Zie Slimme routering.
Je krijgt de audio terug zodra die helemaal klaar is. Gemeten bij de maximale lengte (5,000 tekens): de Flash-modellen doen er ongeveer een minuut over, en Gemini 2.5 Pro TTS ongeveer vijfenhalve minuut. Stel voor je HTTP-client een time-out van 10 minuten in (de standaardwaarde van de OpenAI-SDK's), van verstuur lange tekst in delen.

Stemmen

StemKlankStemKlank
ZephyrHelderPuckOpgewekt
CharonInformatiefKoreStandvastig
FenrirEnthousiastLedaJeugdig
OrusStandvastigAoedeLuchtig
CallirrhoeEasy-goingAutonoeHelder
EnceladusLuchtigIapetusWissen
UmbrielEasy-goingAlgiebaVloeiend
DespinaVloeiendErinomeWissen
AlgenibRauwRasalgethiInformatief
LaomedeiaOpgewektAchernarZacht
AlnilamStandvastigSchedarGelijkmatig
GacruxVolwassenPulcherrimaDirect
AchirdVriendelijkZubenelgenubiInformeel
VindemiatrixZachtaardigSadachbiaLevendig
SadaltagerDeskundigSulafatWarm

Code die voor OpenAI is geschreven blijft werken: de stemnamen worden gekoppeld aan een Gemini-stem met een vergelijkbaar karakter.

OpenAI-stemKlinkt als
alloyKore
ashCharon
balladAlgieba
coralAoede
echoPuck
fableFenrir
novaLeda
onyxOrus
sageZephyr
shimmerCallirrhoe
verseUmbriel
marinDespina
cedarIapetus

Stijl en tempo

  • Beschrijf de voordracht zoals je een stemacteur zou instrueren: sfeer, tempo, volume, accent.
  • Zet de aanwijzingen in instructions en alleen de uit te spreken woorden in input, zodat de aanwijzingen niet worden voorgelezen.
  • De taal wordt uit de tekst afgeleid, dus een Spaanse zin wordt in het Spaans uitgesproken.
  • Gemini 3.8 Flash TTS accepteert geen instructions: het leest elk woord van input hardop voor. Zet de stemtags van Google in de tekst op de plek waar het geluid hoort, zoals <laugh>, <sigh>, <breath> of <short pause>.

Kosten voor spraak

Spraak wordt per token afgerekend: de tekst die je verstuurt tegen het invoertarief en de audio die je terugkrijgt tegen het uitvoertarief. Elke seconde audio telt als een vast aantal tokens, dat de tabel per model vermeldt. De laatste kolom toont dus de kosten per minuut. Elk antwoord vermeldt in de headers x-zurelay-input-tokens en x-zurelay-output-tokens waarop de kosten zijn gebaseerd, en elk verzoek staat in je verzoeklogboek. Mislukte verzoeken kosten niets. Spraak blijft bij het model dat je hebt aangevraagd, ook met automatische slimme routering. Alleen je eigen regels of de models-lijst van een verzoek kunnen een ander spraakmodel laten antwoorden als het aangevraagde model niet beschikbaar is: x-zurelay-model vermeldt welk model dat is, en je betaalt het tarief van dat model.

Spraak wordt niet opgeslagen: sla het bestand dat je terugkrijgt zelf op. Dezelfde tekst en stem leveren elke keer een iets andere voordracht op.

Probeer stemmen en stijlen in de Playground van het dashboard.

Vragen, of ontbreekt er iets? Vraag het ons supportteam en je krijgt antwoord per e-mail, meestal binnen een minuut.