Расшифровка как обычный HTTP-запрос
Один ключ, четыре эндпойнта и та же цена за минуту, что и на сайте. Без отдельного тарифа «Enterprise» и без разговора с отделом продаж.
# вернёт job_id сразу, без ожидания
curl -X POST https://transkriba.ru/api/v1/transcribe \
-H "Authorization: Bearer sk_live_…" \
-H "Content-Type: application/json" \
-d '{
"url": "https://youtube.com/watch?v=…",
"language": "ru",
"webhook": "https://ваш-сервис/hook"
}'{
"id": "cm4x…",
"status": "completed",
"duration_sec": 1861,
"billed_minutes": 32,
"segments": [
{ "start": 4.1, "end": 9.8,
"speaker": "SPEAKER_00",
"text": "Начнём с того, что сроки…" }
]
}Загрузка своего файла
Байты не проходят через наш сервер: вы кладёте файл прямо в хранилище по подписанной ссылке. Поэтому размер записи ограничен только вашим терпением, а не лимитом тела запроса.
# 1. попросить ссылку на загрузку
curl -X POST https://transkriba.ru/api/v1/uploads \
-H "Authorization: Bearer sk_live_…" \
-d '{"file_name":"созвон.mp4"}'
# 2. положить файл прямо в хранилище
curl -X PUT "<upload_url>" --upload-file созвон.mp4
# 3. завести задачу по полученному ключу
curl -X POST https://transkriba.ru/api/v1/transcribe \
-H "Authorization: Bearer sk_live_…" \
-d '{"s3_key":"<s3_key>"}'Что стоит знать заранее
Очереди повторов нет. Если ваш сервер в этот момент лежал, уведомление потеряется — источник истины всегда GET /api/v1/jobs/{id}.
Состояние с GPU-бэкенда подтягивается при запросе статуса. Заведя задачу и ни разу не спросив о ней, вы не получите ни результата, ни вебхука.
Не по заявленной длительности, а по измеренной после расшифровки, с округлением вверх до минуты. Неудавшаяся задача не списывает ничего.
Ставится в кабинете и защищает от цикла в чужом коде. При его исчерпании API отвечает 429 до полуночи UTC.
Коды ответов
| Код | Когда | Что делать |
|---|---|---|
| 202 | Задача принята | Опрашивать /jobs/{id} |
| 401 | Ключ неверен или отозван | Проверить заголовок Authorization |
| 402 | Кончились минуты | Пополнить баланс на /pricing |
| 409 | Формат запрошен раньше времени | Дождаться status=completed |
| 429 | Исчерпан суточный лимит ключа | Поднять лимит или ждать полуночи UTC |
| 503 | Хранилище или импорт не настроены | Повторить позже |