Voz

Texto a voz

Convierte texto en voz natural con los modelos de texto a voz de Gemini, a través de la API de voz de OpenAI: 30 voces, un estilo que describes con palabras normales y MP3, WAV o PCM de vuelta en unos segundos.

POST/v1/audio/speech
ModeloIDTexto de entrada, por 1M de tokensAudio de salida, por 1M de tokensTokens de audio por segundoAlrededor de un minuto
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

Generar voz

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")

Cualquier SDK de OpenAI funciona: apúntalo a https://api.zurelay.com/v1 y llama a su método de voz. La respuesta es el propio archivo de audio.

Parámetros

modelstringobligatorio
Un ID de modelo de voz de la tabla.
inputstringobligatorio
El texto que se va a leer, de hasta 5,000 caracteres. Divide los textos más largos en varias solicitudes.
voicestring
Una de las 30 voces de abajo, o un nombre de voz de OpenAI como alloy o nova. Por defecto, Kore.
instructionsstring
Cómo decirlo, con palabras normales: Say cheerfully, Whisper, like a secret, Read slowly, like a bedtime story. Hasta 2,000 caracteres. No disponible en Gemini 3.8 Flash TTS, que lee su texto palabra por palabra: allí se rechaza cualquier solicitud con instrucciones.
response_formatstring
mp3 (el valor por defecto), wav o pcm: muestras sin procesar de 24 kHz, 16 bits, mono.
speednumber
No compatible: pide el ritmo en instructions. Solo se acepta 1.
modelsarray
Enrutamiento inteligente para esta solicitud: otros modelos de voz que probar, en orden, si el modelo no está disponible. Consulta Enrutamiento inteligente.
El audio llega cuando está terminado del todo. Medido a longitud completa (5,000 caracteres): los modelos Flash tardan alrededor de un minuto y Gemini 2.5 Pro TTS unos cinco y medio. Configura un timeout de 10 minutos en tu cliente HTTP (el valor por defecto de los SDK de OpenAI) o envía los textos largos por partes.

Voces

VozSuena aVozSuena a
ZephyrBrillantePuckAlegre
CharonInformativaKoreFirme
FenrirEntusiastaLedaJuvenil
OrusFirmeAoedeDesenfadada
CallirrhoeEasy-goingAutonoeBrillante
EnceladusSusurranteIapetusBorrar
UmbrielEasy-goingAlgiebaSuave
DespinaSuaveErinomeBorrar
AlgenibRoncaRasalgethiInformativa
LaomedeiaAlegreAchernarDelicada
AlnilamFirmeSchedarUniforme
GacruxMaduraPulcherrimaDirecta
AchirdAmableZubenelgenubiInformal
VindemiatrixGentilSadachbiaVivaz
SadaltagerConocedoraSulafatCálida

El código escrito para OpenAI sigue funcionando: sus nombres de voz se asignan a una voz de Gemini de carácter similar.

OpenAI voiceVoz
alloyKore
ashCharon
balladAlgieba
coralAoede
echoPuck
fableFenrir
novaLeda
onyxOrus
sageZephyr
shimmerCallirrhoe
verseUmbriel
marinDespina
cedarIapetus

Estilo y ritmo

  • Describe la interpretación como se la explicarías a un actor de doblaje: tono, ritmo, volumen, acento.
  • Pon las indicaciones en instructions y solo las palabras que hay que decir en input, para que no se lean en voz alta.
  • El idioma se detecta a partir del texto, así que una frase en español se pronuncia en español.
  • Gemini 3.8 Flash TTS no admite instructions: lee en voz alta cada palabra de input. Escribe las etiquetas vocales de Google en el texto donde corresponda el sonido, como <laugh>, <sigh>, <breath> o <short pause>.

Cómo se cobra la voz

La voz se cobra por tokens: el texto que envías al precio de entrada y el audio que recibes al precio de salida. Cada segundo de audio equivale a un número fijo de tokens, que la tabla indica para cada modelo, así que su última columna es lo que cuesta un minuto. Cada respuesta indica sobre qué se cobró en sus cabeceras x-zurelay-input-tokens y x-zurelay-output-tokens, y todas las solicitudes quedan en tu registro de solicitudes. Las solicitudes fallidas no cuestan nada. La voz se mantiene en el modelo que pediste, incluso con enrutamiento inteligente automático. Solo tus propias reglas o la lista models de una solicitud pueden hacer que otro modelo de voz responda cuando el tuyo está caído: x-zurelay-model lo indica y se cobra a su precio.

La voz no se almacena: guarda el archivo que recibes. El mismo texto y la misma voz dan una lectura ligeramente distinta cada vez.

Prueba voces y estilos en el Playground del panel.

¿Tienes dudas o falta algo? Escribe a nuestro equipo de soporte y te responderemos por email, normalmente en menos de un minuto.