docs
API

Audio

Markdown

Озвучка текста (TTS) и распознавание речи (STT) в формате OpenAI Audio.

Полное руководство
POSThttps://api.ailoot.ai/v1/audio/speech
Audio
# озвучка
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
200 OK · распознавание
{
  "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). Оплата — за символы текста или за токены, как указано в каталоге.

Распознавание речи

POSThttps://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."}}

Читайте события ответа до 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 секунд).

Остались вопросы? Пришлите Request ID и описание — поможем разобраться.Написать в поддержку