Audio
MarkdownОзвучка текста (TTS) и распознавание речи (STT) в формате OpenAI Audio.
Полное руководство
https://api.ailoot.ai/v1/audio/speech# озвучка
curl https://api.ailoot.ai/v1/audio/speech \
-H "Authorization: Bearer $AILOOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "qwen-audio-3.0-tts-plus", "input": "Добрый день! Это пример озвучки.", "voice": "longanlingxin"}' \
--output speech.mp3
# распознавание
curl https://api.ailoot.ai/v1/audio/transcriptions \
-H "Authorization: Bearer $AILOOT_API_KEY" \
-F model=qwen-asr \
-F file=@meeting.wav# распознавание речи
with open("meeting.wav", "rb") as f:
tr = client.audio.transcriptions.create(model="qwen-asr", file=f)
print(tr.text){
"text": "Добрый день, коллеги. Начнём с итогов недели…"
}Авторизация
- Authorizationheaderобязательный
Ключ в виде
Bearer sk-…. Также подойдут заголовкиx-api-keyилиx-goog-api-key.
Озвучка: тело запроса
- modelstringобязательный
Модель озвучки:
gemini-3.8-flash-tts,qwen-audio-3.0-tts-plus,speech-2.8-turbo,gemini-3.8-flash-lite-tts,speech-2.8-hd,gemini-3.1-flash-tts-preview,speech-2.6-turbo,speech-2.6-hd,speech-02-turbo,speech-02-hd. - inputstringобязательный
Текст для озвучки. У моделей MiniMax — меньше 10 000 символов, у
qwen-audio-3.0-tts-plus— до 600. - voicestring
Голос. Обязателен для моделей MiniMax (
speech-2.8-hdи другиеspeech-…): идентификатор голоса MiniMax (латиница, цифры,_и-, до 128 символов). Уqwen-audio-3.0-tts-plusпо умолчаниюlonganlingxin, у моделей Gemini TTS —Kore. - response_formatstringнеобязательный
MiniMax — только
mp3;qwen-audio-3.0-tts-plus—mp3,wavилиpcm; Gemini TTS —wavилиjson(ссылка на файл).
Ответ — аудиофайл (у MiniMax — audio/mpeg). Оплата — за символы текста или за токены, как указано в каталоге.
Распознавание речи
https://api.ailoot.ai/v1/audio/transcriptions- filefileобязательный
Аудиофайл WAV в
multipart/form-data.qwen-asr,qwen-asr-latestиqwen-audio-3.0-asr-flash: полный несжатый PCM WAV до 5 минут, файл примерно до 7,5 МБ (в base64 — до 10 МБ).asr-1.0: PCM WAV до 500 секунд и 50 МБ.gemini-3.5-transcribe: WAV до 64 МБ. - modelstringобязательный
Модель распознавания:
gemini-3.5-transcribe,qwen-audio-3.0-asr-flash,asr-1.0. - response_formatstringнеобязательный
Только
json(или не указывать).
Поле language этими моделями не используется. Ответ: {"text": "…"}. Оплата — за длительность записи (секунды, минуты или часы — у каждой модели своя единица).
Голос в реальном времени
Для qwen-audio-3.0-realtime-plus откройте WebSocket wss://api.ailoot.ai/v1/realtime?model=qwen-audio-3.0-realtime-plus с заголовком Authorization: Bearer <API_KEY>. Передавайте ключ с серверной стороны: ключ в query string не принимается. Дождитесь session.created с выбранной моделью, затем отправьте настройки, сообщение и response.create. Ниже три последовательных JSON text frames для текстового ответа в аудиосессии:
{"type":"session.update","session":{"modalities":["text"],"turn_detection":null,"max_history_turns":20,"instructions":"Be brief."}}{"type":"conversation.item.create","item":{"type":"message","role":"user","content":[{"type":"input_text","text":"Say yes."}]}}{"type":"response.create"}Читайте события ответа до response.done и его итогового usage; ошибки приходят событием error. Оплата — по текстовым и аудиотокенам каждого подтверждённого ответа. Аудиовход: событие input_audio_buffer.append с audio — base64 PCM16 mono 16 kHz; затем input_audio_buffer.commit и response.create. Аудиовыход — PCM16 mono 24 kHz. Binary frames в этой сессии не принимаются.
Поддерживаемые клиентские события: session.update, input_audio_buffer.append/commit/clear, response.create/cancel, conversation.item.create/retrieve/delete. conversation items — только сообщения/текст; function tools, web search и voiceprint не поддерживаются. Лимиты сессии: 600 секунд, 20 ответов, 20 history turns, 2000 байт instructions и 8000 байт клиентского текста. Idle timeout зависит от конфигурации (по умолчанию 60 секунд).