Распознавание речи
Передача аудиофайла и получение транскрипции
Метод
POST https://api.getapi.ru/v1/audio/transcriptions
Запрос использует multipart/form-data и модель распознавания речи
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
model | string | Да | ID модели |
file | file | Да | Аудиофайл |
language | string | Нет | Код языка, например ru |
prompt | string | Нет | Контекст, имена или термины для совместимых моделей |
response_format | string | Нет | Поддерживаемый формат результата |
Пример
Подготовьте файл call.mp3 и проверьте доступность модели whisper-1
curl --fail-with-body https://api.getapi.ru/v1/audio/transcriptions \ -H "Authorization: Bearer $GETAPI_API_KEY" \ -F "model=whisper-1" \ -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="whisper-1",
file=audio,
language="ru",
response_format="json",
)
print(response.text)Файл остаётся открытым до завершения запроса
Форматы ответа
Для JSON результат читается из text. Другие форматы, включая расширенный JSON, временные метки и субтитры, используйте только при поддержке выбранной моделью
Не все модели распознавания поддерживают одинаковые значения response_format и параметры временных меток
Длинные записи
Проверьте ограничения размера, длительности и формата файла для модели. Не используйте один общий лимит для всех маршрутов
Если запись нужно делить, сохраняйте порядок сегментов, смещения времени и небольшой контекст на границах. Повтор одного сегмента не должен дублировать его текст в итоговой транскрипции
Распознавание и перевод являются разными задачами. Наличие Transcriptions API не подтверждает доступность /v1/audio/translations