Документация API
CDN Видео Хостинг — мощное API для управления видеофайлами с автоматической доставкой через глобальную сеть.
https://api.cdnvideo.cloud/v1
Все запросы требуют HTTPS
API использует RESTful архитектуру. Все ответы возвращаются в формате JSON.
Для загрузки файлов используется multipart/form-data.
Аутентификация
Для доступа к защищенным ресурсам необходимо передавать API-ключ в заголовке запроса.
Authorization: Bearer "your_api_key_here"
Получите свой API-ключ в личном кабинете хостинга. Держите его в секрете!
Загрузка видео
Загружает новый видеофайл на сервер. Поддерживаются форматы MP4, AVI, MOV, WEBM.
Параметры запроса (multipart/form-data)
| Параметр | Тип | Обязательность | Описание |
|---|---|---|---|
file | File | Обязательный | Видеофайл для загрузки (макс. 5 ГБ) |
title | String | Опционально | Название видео (если не указано, берется имя файла) |
description | String | Опционально | Описание видео |
public | Boolean | Опционально | Публичный доступ (по умолчанию false) |
Пример запроса (cURL)
-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"
}
}
Список видео
Получает список всех загруженных видео с пагинацией.
Параметры запроса (Query)
| Параметр | Тип | Обязательность | Описание |
|---|---|---|---|
page | Integer | Опционально | Номер страницы (по умолчанию 1) |
limit | Integer | Опционально | Количество элементов на странице (макс. 100, по умолчанию 20) |
search | String | Опционально | Поиск по названию |
✅ Успешный ответ (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" }
]
}
Получить видео
Возвращает детальную информацию о конкретном видео, включая ссылки на воспроизведение в разных качествах.
Параметры пути
| Параметр | Тип | Описание |
|---|---|---|
id | String | Уникальный идентификатор видео (например, 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.
Параметры пути
| Параметр | Тип | Описание |
|---|---|---|
id | String | ID видео для удаления |
✅ Успешный ответ (200 OK)
"status": "success",
"message": "Video vid_123456789 deleted successfully."
}
Кодирование
Запускает транскодирование видео в указанные форматы и битрейты для оптимизации стриминга.
Параметры тела запроса (JSON)
| Параметр | Тип | Обязательность | Описание |
|---|---|---|---|
qualities | Array | Обязательный | Массив разрешений: ["1080p", "720p", "480p"] |
format | String | Опционально | Формат вывода: hls или mp4 (по умолчанию hls) |
✅ Успешный ответ (202 Accepted)
"status": "success",
"job_id": "job_987654",
"message": "Encoding started. You will be notified via webhook."
}
Коды ошибок
API возвращает стандартные HTTP-коды состояния с дополнительной информацией в теле ответа.
- 400 Bad RequestНеверный формат запроса или отсутствуют обязательные параметры.
- 401 UnauthorizedНеверный или отсутствующий API-ключ.
- 404 Not FoundЗапрашиваемое видео или ресурс не найден.
- 413 Payload Too LargeРазмер файла превышает допустимый лимит (5 ГБ).
- 429 Too Many RequestsПревышен лимит запросов в минуту (100 запросов).
- 500 Internal Server ErrorВнутренняя ошибка сервера. Попробуйте позже.
Пример ответа с ошибкой:
"status": "error",
"code": "AUTH_001",
"message": "Invalid API key provided."
}