GETAPI
СвязатьсяВойти
GETAPI/Документация/Распознавание речи

Распознавание речи

Передача аудиофайла и получение транскрипции

Метод

POST https://api.getapi.ru/v1/audio/transcriptions

Запрос использует multipart/form-data и модель распознавания речи

ПолеТипОбязательноеОписание
modelstringДаID модели
filefileДаАудиофайл
languagestringНетКод языка, например ru
promptstringНетПринимается в multipart, текущий маршрут OpenRouter его игнорирует
response_formatstringНетПоддерживаемый формат результата
timestamp_granularities[]string[]НетГранулярность временных меток для verbose_json, значения word и segment при поддержке моделью

Пример

Подготовьте файл call.mp3 и проверьте доступность модели nova-3

bash
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

python
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-полями

bash
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 проверьте резерв по правилам списания

Назад
← Синтез речи
Далее
Генерация видео →