openclosepath / API
Получить API-ключ

OpenClosePath Video API

REST API для загрузки, конвертации, обрезки и стриминга видео. Один ключ — все операции с медиа. Open path — публичный доступ, Close path — приватный стрим по токену.

Ваш API-ключ (тестовый)
ocp_live_••••••••••••••••••••••••7f3a

Быстрый старт

Три шага — от установки до первого видео.

1

Получите ключ

Зарегистрируйтесь и скопируйте API-ключ.

2

Загрузите файл

POST /v1/upload → получите file_id.

3

Запустите задачу

POST /v1/transcode → отслеживайте job_id.

Авторизация

Передавайте ключ в заголовке Authorization: Bearer.

HEADER Authorization: Bearer ocp_live_xxx
curl https://api.openclosepath.dev/v1/jobs \
  -H "Authorization: Bearer ocp_live_xxx"

Endpoints

Все запросы — HTTPS. Формат ответа — JSON.

POST /v1/upload

Загрузить видеофайл. Возвращает file_id для дальнейших операций.

curl -X POST https://api.openclosepath.dev/v1/upload \
  -H "Authorization: Bearer ocp_live_xxx" \
  -F "file=@video.mp4"
POST /v1/transcode

Конвертировать в нужный формат / качество (H.264, H.265, VP9, AV1).

curl -X POST https://api.openclosepath.dev/v1/transcode \
  -H "Authorization: Bearer ocp_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{"file_id":"file_9f2a","format":"mp4","codec":"h264","resolution":"1080p","bitrate":"5000k"}'
POST /v1/trim

Обрезать фрагмент по таймкоду (секунды или HH:MM:SS).

curl -X POST https://api.openclosepath.dev/v1/trim \
  -H "Authorization: Bearer ocp_live_xxx" \
  -d '{"file_id":"file_9f2a","start":"00:00:10","end":"00:01:30"}'
POST /v1/extract-audio

Извлечь аудиодорожку в MP3 / AAC / WAV.

curl -X POST https://api.openclosepath.dev/v1/extract-audio \
  -H "Authorization: Bearer ocp_live_xxx" \
  -d '{"file_id":"file_9f2a","format":"mp3","bitrate":"192k"}'
GET /v1/thumbnail

Получить превью-кадр из видео.

curl "https://api.openclosepath.dev/v1/thumbnail?file_id=file_9f2a&time=00:00:05&w=640" \
  -H "Authorization: Bearer ocp_live_xxx"
GET /v1/jobs/:id

Статус фоновой задачи: queued, processing, done, failed.

curl https://api.openclosepath.dev/v1/jobs/job_7b21 \
  -H "Authorization: Bearer ocp_live_xxx"

// → {"id":"job_7b21","status":"done","output_url":"https://cdn.openclosepath.dev/..."}
GET /v1/stream/:file_id

Стриминг с поддержкой Range заголовков (HLS / DASH).

curl https://api.openclosepath.dev/v1/stream/file_9f2a \
  -H "Authorization: Bearer ocp_live_xxx"

Коды ошибок

Все ошибки возвращаются в формате {"error":{"code":...,"message":...}}.

400 — Некорректный запрос (валидация полей)
401 — Неверный или отсутствующий API-ключ
403 — Нет доступа к файлу / превышен лимит плана
404 — Файл или задача не найдена
413 — Слишком большой файл (макс. 2 ГБ)
429 — Превышен rate limit (60 req/min)
500 — Внутренняя ошибка сервера

Rate limits

Free: 60 запросов/мин · 2 ГБ хранилища
Pro: 600 запросов/мин · 200 ГБ хранилища
Enterprise: индивидуально