Распознавание речи
Передача аудиофайла и получение транскрипции
Метод
POST https://api.getapi.ru/v1/audio/transcriptions
Запрос использует multipart/form-data и модель распознавания речи
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
model | string | Да | ID модели |
file | file | Да | Аудиофайл |
language | string | Нет | Код языка, например ru |
prompt | string | Нет | Принимается в multipart, текущий маршрут OpenRouter его игнорирует |
response_format | string | Нет | Поддерживаемый формат результата |
timestamp_granularities[] | string[] | Нет | Гранулярность временных меток для verbose_json, значения word и segment при поддержке моделью |
Пример
Подготовьте файл call.mp3 и проверьте доступность модели nova-3
curl --fail-with-body https://api.getapi.ru/v1/audio/transcriptions \ -H "Authorization: Bearer $GETAPI_API_KEY" \ -F "model=nova-3" \ -F "file=@call.mp3" \ -F "language=ru" \ -F "response_format=json"
SDK-вариант, пакет openai
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.getapi.ru/v1",
api_key=os.environ["GETAPI_API_KEY"],
max_retries=0,
)
with open("call.mp3", "rb") as audio:
response = client.audio.transcriptions.create(
model="nova-3",
file=audio,
language="ru",
response_format="json",
)
print(response.text)Файл остаётся открытым до завершения запроса
Если запрос отклонён с model_price_error и сообщением о configured_price или резерве, сервис не смог рассчитать выполнение этого маршрута. Сохраните идентификатор запроса для поддержки, повтор того же файла не исправляет такую ошибку
Transcriptions API отклоняет provider.only с кодом provider_routing, именованный выбор исполнителя этим полем не поддерживается
muse-voice-transcribe-1.0 принимает WAV, отправка MP3 завершается ошибкой формата
Форматы ответа
Текущий маршрут OpenRouter принимает json и verbose_json, форматы text, srt и vtt отклоняются с 400
Для JSON результат читается из text. У nova-3 и whisper-large-v3 формат verbose_json может содержать segments и words
Массив временных меток передавайте отдельными multipart-полями
curl --fail-with-body https://api.getapi.ru/v1/audio/transcriptions \ -H "Authorization: Bearer $GETAPI_API_KEY" \ -F "model=nova-3" \ -F "file=@call.mp3" \ -F "response_format=verbose_json" \ -F "timestamp_granularities[]=word" \ -F "timestamp_granularities[]=segment"
Не передавайте JSON-строку ["word", "segment"] значением одного multipart-поля
Не все модели распознавания поддерживают одинаковые значения response_format и параметры временных меток
Длинные записи
Проверьте ограничения размера, длительности и формата файла для модели. Не используйте один общий лимит для всех маршрутов
Если запись нужно делить, сохраняйте порядок сегментов, смещения времени и небольшой контекст на границах. Повтор одного сегмента не должен дублировать его текст в итоговой транскрипции
Распознавание и перевод требуют разных методов. Наличие Transcriptions API не подтверждает доступность /v1/audio/translations
Статус выполнения аудио не подтверждает окончательный расчёт, при manual_reconciliation проверьте резерв по правилам списания