Skip to Content
Справочник APIПротокол совместимости с OpenAIAudio Speech

Audio Speech API

Преобразует текст в речь. Совместим с POST /v1/audio/speech из OpenAI; тело ответа — сам аудиофайл (двоичные данные), а не JSON.

СемействоМодельОписание
ElevenLabselevenlabs/eleven_v4См. ElevenLabs
Gemini TTSgoogle/gemini-3.8-flash-tts и др.См. Gemini TTS

Допустимые значения voice, response_format и других параметров зависят от модели — ориентируйтесь на страницу семейства.

Быстрый старт

base_urlhttps://api.ofox.io/v1
Адрес эндпоинтаhttps://api.ofox.io/v1/audio/speech
ID моделиgoogle/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="Здравствуйте! Добро пожаловать в синтез речи OfoxAI.", response_format="wav", ) as resp: resp.stream_to_file("speech.wav")

Параметры запроса

modelобязательныйstring

ID модели; см. таблицу выше.

inputобязательныйstring

Текст для синтеза. Если он пуст, возвращается 400.

voicestring

Голос. Для Gemini TTS обязателен, значение — имя голоса Google (например, Kore); для ElevenLabs значение — ID голоса (например, 21m00Tcm4TlvDq8ikWAM). Имена голосов OpenAI (например, alloy) для этих двух семейств не подходят.

Формат аудио. Допустимые значения зависят от модели: Gemini TTS поддерживает wav, pcm; ElevenLabs — mp3, opus, wav, pcm. При неподдерживаемом формате возвращается 400.

Указания по интонации и стилю, например «читай бодрым тоном». Применимо к Gemini TTS.

Код языка, например cmn-CN (Gemini TTS), zh (ElevenLabs). Если не указан, модель определяет язык по тексту.

stream_formatstring· значенияsse

При значении sse аудио возвращается фрагментами в потоке Server-Sent Events. Применимо к Gemini TTS.

Параметры, специфичные для провайдера; передаются соответствующему провайдеру без изменений, например {"elevenlabs": {"voice_settings": {...}}} для ElevenLabs. См. страницы семейств.

Ответ

При успехе возвращается HTTP 200, тело ответа — аудиофайл, Content-Type соответствует формату:

response_formatContent-Type
mp3audio/mpeg
wavaudio/wav
opusaudio/ogg
pcmaudio/L16;rate=<частота дискретизации>;channels=1, 16-битный PCM без заголовка файла

Записывайте тело ответа прямо в файл. При ошибке ответ приходит в формате JSON с Content-Type application/json, поэтому сначала проверяйте код состояния, чтобы не записать сообщение об ошибке в аудиофайл.

Типичные ошибки

HTTPТекст ошибкиПричинаРешение
400model and input are required.Отсутствует model или input пустУкажите недостающие параметры
400voice is required for speech completionДля Gemini TTS не передан voiceПередайте имя голоса, например Kore
400unsupported Gemini response_format: mp3Модель не поддерживает выбранный форматИспользуйте формат из списка на странице семейства
400Request contains an invalid argument.Голоса Gemini TTS с таким именем не существуетИспользуйте допустимое имя голоса
404A voice with voice_id 'alloy' was not found.Голоса ElevenLabs с таким ID не существуетИспользуйте допустимый ID голоса
400 endpoint_not_supportedModel 'openai/gpt-5.4' does not support the /v1/audio/speech endpoint on this platform.Выбранная модель не является моделью синтеза речиИспользуйте модель из таблицы выше

Полное описание кодов ошибок см. в разделе Обработка ошибок.

Обновлено