Skip to Content
Referência da APIProtocolo compatível com OpenAIAudio Speech

Audio Speech API

Converte texto em fala. Compatível com o POST /v1/audio/speech da OpenAI; o corpo da resposta é o próprio arquivo de áudio (binário), não JSON.

FamíliaModeloObservação
ElevenLabselevenlabs/eleven_v4Consulte ElevenLabs
Gemini TTSgoogle/gemini-3.8-flash-tts e outrosConsulte Gemini TTS

Os valores aceitos por parâmetros como voice e response_format variam conforme o modelo; a página de cada família é a referência.

Início rápido

base_urlhttps://api.ofox.io/v1
Endpointhttps://api.ofox.io/v1/audio/speech
ID do 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="Olá, boas-vindas à síntese de voz da OfoxAI.", response_format="wav", ) as resp: resp.stream_to_file("speech.wav")

Parâmetros da requisição

modelobrigatóriostring

ID do modelo; consulte a tabela acima.

inputobrigatóriostring

Texto a ser sintetizado. Se estiver vazio, retorna 400.

voicestring

Voz. Obrigatório no Gemini TTS, com o nome de uma voz do Google (por exemplo, Kore); no ElevenLabs, o valor é o ID da voz (por exemplo, 21m00Tcm4TlvDq8ikWAM). Os nomes de voz da OpenAI (como alloy) não se aplicam a essas duas famílias.

Formato do áudio. Os valores aceitos variam conforme o modelo: Gemini TTS suporta wav e pcm; ElevenLabs suporta mp3, opus, wav e pcm. Um formato não suportado retorna 400.

Instruções de tom e estilo, como “leia em tom alegre”. Aplica-se ao Gemini TTS.

Código de idioma, como cmn-CN (Gemini TTS) ou zh (ElevenLabs). Se omitido, o modelo deduz o idioma a partir do texto.

stream_formatstring· valoressse

Com sse, os trechos de áudio são retornados em streaming via Server-Sent Events. Aplica-se ao Gemini TTS.

Parâmetros específicos do provedor, repassados ao provedor correspondente, por exemplo {"elevenlabs": {"voice_settings": {...}}} no ElevenLabs. Consulte a página de cada família.

Resposta

Em caso de sucesso, HTTP 200; o corpo da resposta é o arquivo de áudio, com o Content-Type correspondente ao formato:

response_formatContent-Type
mp3audio/mpeg
wavaudio/wav
opusaudio/ogg
pcmaudio/L16;rate=<taxa de amostragem>;channels=1, PCM de 16 bits sem cabeçalho de arquivo

Grave o corpo da resposta diretamente em um arquivo. Em caso de erro, a resposta é JSON, com Content-Type igual a application/json; verifique o status antes, para não gravar a mensagem de erro como arquivo de áudio.

Erros comuns

HTTPMensagem de erro originalCausaSolução
400model and input are required.Falta model, ou input está vazioPreencha os parâmetros
400voice is required for speech completionvoice não foi enviado no Gemini TTSEnvie um nome de voz, como Kore
400unsupported Gemini response_format: mp3O modelo não suporta o formato escolhidoUse um formato listado na página da família
400Request contains an invalid argument.O nome de voz do Gemini TTS não existeUse um nome de voz válido
404A voice with voice_id 'alloy' was not found.O ID de voz do ElevenLabs não existeUse um ID de voz válido
400 endpoint_not_supportedModel 'openai/gpt-5.4' does not support the /v1/audio/speech endpoint on this platform.O modelo escolhido não é de síntese de vozUse um modelo da tabela acima

A descrição completa dos códigos de erro está em Tratamento de erros.

Última atualização em