API
Transcriptions
POST /v1/audio/transcriptions: распознавание речи.
POST
/v1/audio/transcriptionsПереводит аудио в текст. Формат совместим с OpenAI Audio: работает client.audio.transcriptions.create(...). Нужна модель категории «Речь»: whisper-large-v3. Запрос принимается как multipart/form-data с файлом или как JSON с аудио в base64. Потокового режима и маскирования ПДн нет.
Заголовки
| Заголовок | Значение |
|---|---|
Authorization | Bearer <ключ>. Обязателен. Вместо него принимается x-api-key: <ключ> |
Content-Type | multipart/form-data или application/json |
X-Morphogen-Space | spc_…: пространство расхода. Необязательный |
Тело запроса
modelstringобязательныйМодель распознавания из GET /v1/models, например whisper-large-v3.
filefileобязательныйАудиофайл в multipart-запросе. Размер запроса не больше 26 МиБ. В JSON-варианте аудио передаётся в base64 в поле input_audio.
languagestringКод языка, например ru. Помогает модели, если язык известен заранее.
Расход считается по длительности аудио в секундах.
Пример запроса
curl https://api.morphogen.ru/v1/audio/transcriptions \
-H "Authorization: Bearer $MORPHOGEN_API_KEY" \
-F model=whisper-large-v3 \
-F language=ru \
-F file=@meeting.mp3Пример ответа
{
"text": "Начинаем встречу. Первый вопрос: сроки релиза.",
"usage": { "type": "duration", "seconds": 4.129 }
}Ошибки
400
invalid_multipartMultipart-тело не разобрано.400
invalid_jsonJSON-тело не разобрано.400
model_category_mismatchМодель не из категории речи.400
pii_masking_unsupported_endpointВ запросе X-PII-Masking: on.401
invalid_api_keyКлюч не передан, неверный, отозван или истёк.402
insufficient_fundsНа балансе не хватает денег на резерв запроса.403
model_not_allowedМодели нет в списке ключа.404
model_not_foundТакой модели нет в каталоге.413
request_too_largeЗапрос больше 26 МиБ.429
rate_limit_exceededПревышен лимит запросов в минуту.Остальные коды: Ошибки.