Skip to Content
Referencia de la APIProtocolo compatible con OpenAIAudio Speech

Audio Speech API

Convierte texto en voz. Es compatible con POST /v1/audio/speech de OpenAI; el cuerpo de la respuesta es directamente el archivo de audio (binario), no JSON.

FamiliaModeloNotas
ElevenLabselevenlabs/eleven_v4Consulte ElevenLabs
Gemini TTSgoogle/gemini-3.8-flash-tts, entre otrosConsulte Gemini TTS

Los valores admitidos de parámetros como voice y response_format varían según el modelo; consulte la página de cada familia.

Inicio rápido

base_urlhttps://api.ofox.io/v1
URL del endpointhttps://api.ofox.io/v1/audio/speech
ID del modelogoogle/gemini-3.8-flash-tts
speech.py
import os from openai import OpenAI client = OpenAI(base_url="https://api.ofox.io/v1", api_key=os.environ["OFOX_API_KEY"]) with client.audio.speech.with_streaming_response.create( model="google/gemini-3.8-flash-tts", voice="Kore", input="Hola, bienvenido a la síntesis de voz de OfoxAI.", response_format="wav", ) as resp: resp.stream_to_file("speech.wav")

Parámetros de la petición

modelobligatoriostring

ID del modelo; consulte la tabla anterior.

inputobligatoriostring

Texto que se va a sintetizar. Si está vacío, devuelve 400.

voicestring

Voz. Obligatorio en Gemini TTS, donde el valor es un nombre de voz de Google (por ejemplo, Kore); en ElevenLabs, el valor es un ID de voz (por ejemplo, 21m00Tcm4TlvDq8ikWAM). Los nombres de voz de OpenAI (como alloy) no sirven para ninguna de estas dos familias.

Formato de audio. Los valores admitidos varían según el modelo: Gemini TTS admite wav y pcm; ElevenLabs admite mp3, opus, wav y pcm. Un formato no admitido devuelve 400.

Indicaciones de tono y estilo, por ejemplo «Lee con un tono alegre». Se aplica a Gemini TTS.

Código de idioma, por ejemplo cmn-CN (Gemini TTS) o zh (ElevenLabs). Si se omite, el modelo lo deduce del texto.

stream_formatstring· valoressse

Con sse, el audio se devuelve en fragmentos mediante Server-Sent Events. Se aplica a Gemini TTS.

Parámetros propios del proveedor, que se transmiten tal cual al proveedor correspondiente, por ejemplo {"elevenlabs": {"voice_settings": {...}}} para ElevenLabs. Consulte la página de cada familia.

Respuesta

Si la petición tiene éxito, devuelve HTTP 200 y el cuerpo de la respuesta es el archivo de audio, con el Content-Type correspondiente al formato:

response_formatContent-Type
mp3audio/mpeg
wavaudio/wav
opusaudio/ogg
pcmaudio/L16;rate=<frecuencia de muestreo>;channels=1, PCM de 16 bits sin cabecera de archivo

Escriba el cuerpo de la respuesta directamente en un archivo. En caso de error, la respuesta es JSON con Content-Type application/json; compruebe primero el código de estado para no guardar el mensaje de error como archivo de audio.

Errores habituales

HTTPMensaje de errorCausaSolución
400model and input are required.Falta model o input está vacíoComplete los parámetros
400voice is required for speech completionNo se envió voice a Gemini TTSIndique un nombre de voz, por ejemplo Kore
400unsupported Gemini response_format: mp3El modelo no admite el formato elegidoUse un formato de los indicados en la página de la familia
400Request contains an invalid argument.El nombre de voz de Gemini TTS no existeUse un nombre de voz válido
404A voice with voice_id 'alloy' was not found.El ID de voz de ElevenLabs no existeUse un ID de voz válido
400 endpoint_not_supportedModel 'openai/gpt-5.4' does not support the /v1/audio/speech endpoint on this platform.El modelo elegido no es de síntesis de vozUse uno de los modelos de la tabla anterior

La descripción completa de los códigos de error está en Gestión de errores.

Última actualización: