API транскрипции
API транскрипции
API транскрипции преобразует аудиофайлы в текст. Поддерживает более 50 языков с автоматическим определением, временные метки сегментов и AI-постобработку.
Процесс
- Загрузка — получите presigned URL и загрузите файл
- Создание задания — укажите параметры транскрипции
- Ожидание — опрашивайте статус или используйте SSE-стрим
- Получение результата — полный текст и сегменты с таймкодами
Загрузка файла
# Получаем presigned URL
curl -X POST https://api.nagovori.ru/v1/uploads/presign \
-H "Authorization: Bearer $NAGOVORI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filename": "meeting.mp3",
"content_type": "audio/mpeg",
"size_bytes": 5242880
}'
Ответ:
{
"bucket": "uploads",
"object_key": "uploads/user123/abc.mp3",
"upload_url": "https://storage.example.com/...",
"expires_at": "2026-04-20T11:00:00Z"
}
Загрузите файл PUT-запросом на upload_url:
curl -X PUT "$UPLOAD_URL" \
-H "Content-Type: audio/mpeg" \
--data-binary @meeting.mp3
Создание транскрипции
curl -X POST https://api.nagovori.ru/v1/transcriptions \
-H "Authorization: Bearer $NAGOVORI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"object_key": "uploads/user123/abc.mp3",
"filename": "meeting.mp3",
"content_type": "audio/mpeg",
"size_bytes": 5242880,
"language": "auto"
}'
Параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
object_key |
string | Да | Ключ объекта из ответа presign |
filename |
string | Нет | Имя файла |
content_type |
string | Нет | MIME-тип файла |
size_bytes |
integer | Нет | Размер файла в байтах |
duration_seconds |
integer | Нет | Длительность аудио в секундах |
language |
string | Нет | Код языка или "auto" |
model |
string | Нет | ID модели ASR |
Статусы
| Статус | Описание |
|---|---|
queued |
В очереди на обработку |
processing |
Обрабатывается |
completed |
Завершено — текст доступен |
failed |
Ошибка — смотрите error_message |
Получение результата
curl https://api.nagovori.ru/v1/transcriptions/{id} \
-H "Authorization: Bearer $NAGOVORI_API_KEY"
Ответ (при статусе completed):
{
"id": "...",
"status": "completed",
"transcript_text": "Полный текст расшифровки...",
"transcript_segments": [
{"start": 0.0, "end": 3.5, "text": "Первый сегмент"},
{"start": 3.5, "end": 7.2, "text": "Второй сегмент"}
],
"detected_language": "ru",
"duration_seconds": 120
}
Стриминг через SSE
Для получения текста в реальном времени используйте Server-Sent Events:
curl -N https://api.nagovori.ru/v1/transcriptions/{id}/stream \
-H "Authorization: Bearer $NAGOVORI_API_KEY"
События:
update— полный снимок состояния транскрипцииtoken— отдельный текстовый токен (инкрементальный)done— транскрипция завершена
Поддерживаемые форматы
Аудио: MP3, WAV, OGG, FLAC, M4A, AAC, WMA, WEBM
Видео (извлекается аудиодорожка): MP4, MKV, AVI, MOV
Языки
Автоматическое определение из 50+ языков. Для более точного результата укажите язык явно:
ru— русскийen— английскийde— немецкийfr— французскийes— испанскийauto— автоопределение (по умолчанию)