Распознавание речи превращает аудиозапись в текст: звонок, интервью, голосовое сообщение, дорожку из видео. Эндпоинт — /v1/audio/transcriptions.

Файл отправляется формой, а не в JSON. Кроме файла нужна только модель.

curl "https://api.proxyapi.ru/v1/audio/transcriptions" \
    -H "Authorization: Bearer <КЛЮЧ>" \
    -F "model=openai/gpt-4o-mini-transcribe" \
    -F "file=@interview.mp3"

Язык определяется автоматически. Если он известен заранее, его лучше указать в поле language — распознавание получится точнее. Поле prompt помогает с именами собственными и терминами: список ожидаемых слов подсказывает модели правильное написание.

За форму ответа отвечает response_format:

ЗначениеЧто возвращается
jsonТолько текст. Значение по умолчанию
verbose_jsonТекст, разбитый на фрагменты с таймкодами, и длительность записи
diarized_jsonТо же с разделением по говорящим

Разделение по говорящим — задача отдельной модели, openai/gpt-4o-transcribe-diarize. В паре с response_format=diarized_json она размечает, какая реплика кому принадлежит. Обычные модели распознавания этого не делают: они вернут сплошной текст без разделения.

/v1/audio/translations работает так же, но выдаёт текст сразу на английском, минуя исходный язык. Запрос устроен идентично, с одним отличием: response_format обязателен и должен быть verbose_json.

Считается не по токенам, а по длительности записи — оплачиваются секунды звучания, независимо от того, сколько в них слов. Тишина и паузы оплачиваются наравне с речью, поэтому длинные записи имеет смысл заранее чистить от пустых участков.

Частые вопросы

Почему приходит ошибка про response_format?

Поддерживаются только json, verbose_json и diarized_json. Значения text, srt и vtt вернут ошибку 400 — субтитры нужно собирать из таймкодов, которые приходят в verbose_json.

Как получить текст с разделением по говорящим?

Нужна модель с поддержкой этой возможности — openai/gpt-4o-transcribe-diarize — и response_format со значением diarized_json. Остальные модели вернут сплошной текст.

Как считается стоимость?

По длительности аудио в секундах, а не по количеству слов или токенов. Паузы и тишина оплачиваются так же, как речь.

Нужно ли указывать язык записи?

Необязательно, язык определяется автоматически. Но если он известен, поле language повышает точность — особенно на коротких записях и при плохом качестве звука.

Последняя редакция: 3 сентября 2026 г.