Перейти к основному содержанию
POST
Распознавание речи
Эндпоинт превращает аудиозапись в текст. Работает с моделями из каталога GET /api/v1/models, у которых в capabilities есть значение "transcription".

Три способа передать аудио

Файл в multipart — до 25 МиБ. Поле file:
cURL
Base64 в JSON — поле input_audio с объектом {data, format}; аудио — строкой base64 без префикса data:...;base64,:
cURL
Ссылка — поле source_url с публичным адресом записи:
cURL
Идентификатор модели берите из GET /api/v1/models и подставляйте как есть. Состав моделей меняется, поэтому в рабочем коде не зашивайте его литералом. Если передать идентификатор обычной текстовой модели или неизвестное значение, придёт 404 с кодом model_not_found.
Передайте аудио ровно одним способом: file, input_audio или source_url. Ограничение в 25 МиБ относится к файлу в multipart; для двух других способов ограничением остаётся обычный лимит тела JSON-запроса.

Поля запроса

diarize без response_format: "verbose_json" — ошибка запроса: разметке по говорящим нужно место в ответе, которого компактный json не имеет.

Ответ

200 OK с форматом по умолчанию json:
С response_format: "verbose_json" ответ несёт сегменты с таймкодами, а с включённой diarize — и говорящего каждого сегмента:
Точный состав полей сегмента зависит от timestamp_granularities и модели — проверяйте наличие полей перед чтением.

Стоимость

Как у ранжирования: списание зависит от фактической стоимости вызова. Поле usage.cost — сумма, списанная с вашего баланса; оно отсутствует, если списание не зафиксировано. Фактический остаток после вызова проверяйте через GET /api/v1/balance.

Проверки перед вызовом

Часть ошибок возвращается до обращения к модели: Ошибки приходят в конверте OpenAI — объект error с полями message, type, param и code. Полная таблица кодов — на странице Ошибки.

Что дальше

Синтез речи

Аудиопоток из текста

Каталог моделей

Фильтр по capabilities и цены моделей

Баланс

Остаток кошелька по валютам

Ошибки

Полная таблица кодов

Авторизации

Authorization
string
header
обязательно

API-ключ в формате sk-.... Альтернативно — заголовок X-Api-Key: sk-... (совместимо с Anthropic SDK).

Тело

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

Идентификатор модели из GET /api/v1/models: у неё в capabilities есть значение "transcription". Передаётся как есть.

file
file
обязательно

Аудиофайл, до 25 МиБ.

language
string

Подсказка языка записи, например "ru". Необязательно.

response_format
enum<string>

Формат ответа: json (по умолчанию) или verbose_json с сегментами и usage.

Доступные опции:
json,
verbose_json
diarize
boolean

Разметка реплик по говорящим. Работает только с response_format "verbose_json".

keyterms
string[]

Термины, имена и аббревиатуры для точного распознавания. Необязательно.

timestamp_granularities
string[]

Гранулярность таймкодов, например ["segment"]. Применяется с verbose_json. Необязательно.

temperature
number

Температура сэмплирования. Необязательно.

Ответ

Распознанный текст; с verbose_json — сегменты с таймкодами и usage.

text
string
обязательно

Полный распознанный текст.

segments
object[]

Только с verbose_json: сегменты с границами по времени.

usage
object