Распознавание речи (Speech-to-Text)

Превращайте запись голоса в текст. Эндпоинт совместим с OpenAI Audio, поэтому любой клиент, умеющий работать с транскрибацией OpenAI, начнёт работать после смены адреса и ключа.

ЭндпоинтPOST https://megaapi.ru/v1/audio/transcriptions
Формат запросаmultipart/form-data — файл отправляется целиком
ОтветJSON с полем text либо простой текст
Обратная задачаСинтез речи — Озвучка (TTS)

Модели

МодельКогда выбратьВходВыход
gpt-4o-mini-transcribe Повседневная расшифровка: заметки, звонки, интервью. Вход дешевле впятеро, выход — втрое; на чистой записи почти не уступает старшей модели $2.25 / 1M $9 / 1M
gpt-4o-transcribe Сложный звук: несколько говорящих, сильный акцент, шум, специальная терминология $12 / 1M $24 / 1M

Цены итоговые — именно столько списывается с баланса. Полный каталог — в разделе Модели и цены.

Начинайте с mini. Она обходится вчетверо дешевле на типичной записи, а на одном говорящем и нормальном микрофоне разница в тексте обычно незаметна. Переходите на старшую модель тогда, когда увидите ошибки на своём материале, а не заранее.

Запрос

curl https://megaapi.ru/v1/audio/transcriptions \
  -H "Authorization: Bearer $MEGAAPI_KEY" \
  -F file=@interview.mp3 \
  -F model=gpt-4o-mini-transcribe \
  -F language=ru

То же самое из Python, официальной библиотекой OpenAI:

from openai import OpenAI

client = OpenAI(api_key="$MEGAAPI_KEY", base_url="https://megaapi.ru/v1")

with open("interview.mp3", "rb") as audio:
    result = client.audio.transcriptions.create(
        model="gpt-4o-mini-transcribe",
        file=audio,
        language="ru",
    )

print(result.text)

Параметры

ПараметрЗначенияЗачем
file обязательный mp3, mp4, mpeg, mpga, m4a, wav, webm Сам файл. Отправляется целиком, ссылкой указать нельзя
model обязательный gpt-4o-mini-transcribe, gpt-4o-transcribe См. таблицу выше
language Код языка: ru, en, de Указывайте, если язык известен: модель перестанет тратить силы на определение и реже путает похожие языки
prompt Строка Подсказка с именами, терминами и названиями, которые встретятся в записи. Заметно помогает с фамилиями и продуктовыми названиями
response_format json (по умолчанию) или text json отдаёт объект с полем text, text — голую строку
temperature 0–1 Ноль — самый предсказуемый результат. Поднимать почти никогда не нужно
verbose_json и таймкоды эти модели не поддерживают. Запрос с response_format=verbose_json отбивается ошибкой 400. Так же не работают srt, vtt и timestamp_granularities: они были у старого Whisper, а у моделей поколения gpt-4o их нет. Если нужны субтитры с таймкодами, режьте запись на фрагменты сами и складывайте тайминги из их длительностей.

Сколько это стоит

Счёт считается не по минутам, а по токенам: звук переводится в аудио-токены (вход) плюс токены расшифровки (выход). Ориентир — минута речи это примерно 600 аудио-токенов входа и порядка 150–200 токенов текста.

Модель≈ 1 минута≈ 1 час
gpt-4o-mini-transcribe ≈ $0.0029 ≈ $0.1755
gpt-4o-transcribe ≈ $0.0114 ≈ $0.684

Оценка по среднему темпу речи; фактический счёт зависит от плотности звука и длины расшифровки. Точные ставки за 1M токенов — в таблице моделей выше.

Что стоит знать заранее

А где Whisper

Модели whisper-1 и whisper-large-v3 у нас нет — запрос к ним вернёт ошибку. Их место заняли gpt-4o-transcribe и gpt-4o-mini-transcribe: те же эндпоинт и формат запроса, лучше качество на русском, дешевле младшая модель. Если переносите готовый код, достаточно поменять значение model и убрать verbose_json, srt, vtt и timestamp_granularities, если они там были.