Распознавание речи (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 |
Цены итоговые — именно столько списывается с баланса. Полный каталог — в разделе Модели и цены.
Запрос
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 токенов — в таблице моделей выше.
Что стоит знать заранее
- Длинные записи режьте сами. Файл уходит на сервер целиком, поэтому многочасовая запись — это долгая загрузка и один запрос, который нечем возобновить при обрыве. Куски по 5–10 минут надёжнее и позволяют обрабатывать их параллельно.
- Тишина и музыка дают мусор. Модель обучена распознавать речь и на записи без неё выдаёт правдоподобный, но выдуманный текст. Отсекайте пустые фрагменты до отправки.
- Имена и термины — в
prompt. Это самый дешёвый способ поднять качество: одна строка со списком фамилий и названий экономит ручную правку расшифровки. - Неудачный запрос не списывается. Если модель вернула ошибку, деньги остаются на балансе.
А где Whisper
Модели whisper-1 и whisper-large-v3 у нас нет —
запрос к ним вернёт ошибку. Их место заняли
gpt-4o-transcribe и gpt-4o-mini-transcribe: те же
эндпоинт и формат запроса, лучше качество на русском, дешевле младшая модель.
Если переносите готовый код, достаточно поменять значение model
и убрать verbose_json, srt, vtt и
timestamp_granularities, если они там были.