Документация API

CDN Видео Хостинг — мощное API для управления видеофайлами с автоматической доставкой через глобальную сеть.

Базовый URL https://api.cdnvideo.cloud/v1 Все запросы требуют HTTPS

API использует RESTful архитектуру. Все ответы возвращаются в формате JSON. Для загрузки файлов используется multipart/form-data.

Аутентификация

Для доступа к защищенным ресурсам необходимо передавать API-ключ в заголовке запроса.

# Заголовок авторизации
Authorization: Bearer "your_api_key_here"

Получите свой API-ключ в личном кабинете хостинга. Держите его в секрете!

Загрузка видео

Загружает новый видеофайл на сервер. Поддерживаются форматы MP4, AVI, MOV, WEBM.

POST /upload

Параметры запроса (multipart/form-data)

ПараметрТипОбязательностьОписание
fileFileОбязательныйВидеофайл для загрузки (макс. 5 ГБ)
titleStringОпциональноНазвание видео (если не указано, берется имя файла)
descriptionStringОпциональноОписание видео
publicBooleanОпциональноПубличный доступ (по умолчанию false)

Пример запроса (cURL)

curl -X POST https://api.cdnvideo.cloud/v1/upload \
  -H "Authorization: Bearer YOUR_KEY" \
  -F "file=@/path/to/video.mp4" \
  -F "title=My Awesome Video" \
  -F "public=true"

✅ Успешный ответ (201 Created)

{
  "status": "success",
  "data": {
    "id": "vid_123456789",
    "title": "My Awesome Video",
    "duration": "00:05:23",
    "status": "processing",
    "upload_url": "https://cdn.cdnvideo.cloud/vid_123456789/play"
  }
}

Список видео

Получает список всех загруженных видео с пагинацией.

GET /videos

Параметры запроса (Query)

ПараметрТипОбязательностьОписание
pageIntegerОпциональноНомер страницы (по умолчанию 1)
limitIntegerОпциональноКоличество элементов на странице (макс. 100, по умолчанию 20)
searchStringОпциональноПоиск по названию

✅ Успешный ответ (200 OK)

{
  "status": "success",
  "pagination": { "page": 1, "total": 42 },
  "data": [
    { "id": "vid_123", "title": "Video 1", "duration": "00:02:10", "created_at": "2026-08-10T12:00:00Z" },
    { "id": "vid_456", "title": "Video 2", "duration": "00:01:45", "created_at": "2026-08-09T18:30:00Z" }
  ]
}

Получить видео

Возвращает детальную информацию о конкретном видео, включая ссылки на воспроизведение в разных качествах.

GET /videos/{id}

Параметры пути

ПараметрТипОписание
idStringУникальный идентификатор видео (например, vid_123456789)

✅ Успешный ответ (200 OK)

{
  "status": "success",
  "data": {
    "id": "vid_123456789",
    "title": "My Awesome Video",
    "description": "Описание видео",
    "duration": "00:05:23",
    "thumbnail": "https://cdn.cdnvideo.cloud/thumb/vid_123456789.jpg",
    "play_urls": {
      "hls": "https://cdn.cdnvideo.cloud/hls/vid_123456789/playlist.m3u8",
      "mp4_1080p": "https://cdn.cdnvideo.cloud/mp4/vid_123456789/1080p.mp4",
      "mp4_720p": "https://cdn.cdnvideo.cloud/mp4/vid_123456789/720p.mp4"
    },
    "status": "ready"
  }
}

Удалить видео

Безвозвратно удаляет видео и все его кодированные версии с CDN.

DELETE /videos/{id}

Параметры пути

ПараметрТипОписание
idStringID видео для удаления

✅ Успешный ответ (200 OK)

{
  "status": "success",
  "message": "Video vid_123456789 deleted successfully."
}

Кодирование

Запускает транскодирование видео в указанные форматы и битрейты для оптимизации стриминга.

POST /videos/{id}/encode

Параметры тела запроса (JSON)

ПараметрТипОбязательностьОписание
qualitiesArrayОбязательныйМассив разрешений: ["1080p", "720p", "480p"]
formatStringОпциональноФормат вывода: hls или mp4 (по умолчанию hls)

✅ Успешный ответ (202 Accepted)

{
  "status": "success",
  "job_id": "job_987654",
  "message": "Encoding started. You will be notified via webhook."
}

Коды ошибок

API возвращает стандартные HTTP-коды состояния с дополнительной информацией в теле ответа.

Пример ответа с ошибкой:

{
  "status": "error",
  "code": "AUTH_001",
  "message": "Invalid API key provided."
}