Мультимодальность
Аудио
Как передавать аудио в модели и получать звуковой ответ через AllTokens.
Через AllTokens можно и отправлять аудиофайлы в совместимые модели, и получать от некоторых моделей звуковой ответ. Ниже собраны оба сценария: звуковой ввод и звуковой результат.
Звуковой ввод
Аудио можно отправлять в модели для расшифровки, анализа речи и других сценариев обработки звука. Для этого используется POST /api/v1/chat/completions и тип содержимого input_audio внутри messages.
Аудио передаётся только в base64. Прямая ссылка на файл для этого сценария не используется.
Ищите подходящие модели в каталоге AllTokens по поддержке аудиоввода. В первую очередь смотрите на architecture.input_modalities.
В примерах ниже используется модель google/gemini-2.5-flash.
Как отправить аудиофайл
Поддерживаемые форматы аудиоввода
Поддерживаемые форматы зависят от модели и поставщика. Часто встречаются:
wavmp3aiffaacoggflacm4apcm16pcm24
Точный набор форматов зависит от модели. Если формат важен, проверьте страницу модели в каталоге AllTokens перед интеграцией.
Генерация аудио
Некоторые модели умеют не только возвращать текст, но и синтезировать звук. Для этого в запросе нужно указать modalities и объект audio.
В примерах ниже используется модель openai/gpt-4o-audio-preview.
Как запросить генерацию аудио
Чтобы получить аудиоответ, используйте:
modalities: ["text", "audio"]audio.voice— голосaudio.format— формат звукаstream: true— аудио приходит потоково
Формат потокового чанка
При звуковом результате аудиоданные и текст расшифровки приходят по частям в delta.audio:
{
"choices": [
{
"delta": {
"audio": {
"data": "<base64-чанк аудио>",
"transcript": "Привет"
}
}
}
]
}
Настройки audio
| Поле | Что означает |
|---|---|
voice | Голос для синтеза речи, например alloy, echo, fable, onyx, nova, shimmer |
format | Формат выходного звука, например wav, mp3, flac, opus, pcm16 |
Набор голосов и форматов зависит от выбранной модели. Если нужна конкретная связка, проверьте страницу модели в каталоге AllTokens.
Частые вопросы
Можно ли передать аудио по URL?
Можно ли передать аудио по URL?
Нет, для звукового ввода аудио передаётся только в base64.
Почему для звукового ответа нужен stream?
Почему для звукового ответа нужен stream?
Потому что аудиоданные приходят по частям через SSE, в delta.audio.
Можно ли получить и текст, и звук одновременно?
Можно ли получить и текст, и звук одновременно?
Да, для этого обычно используют modalities: ["text", "audio"].