API Reference · v1
StreamAPI
Простой REST API для работы с видео, каналами и метаданными. Эта страница — статическая демонстрационная документация: примеры запросов и ответов не обращаются к реальному сервису.
Base URL
https://api.example.video/v1Аутентификация
Передавайте API-ключ в заголовке Authorization. Для публичных GET-запросов ключ в демо не проверяется.
Authorization: Bearer sk_demo_••••••••••••
Видео
Получение списка видео поддерживает пагинацию и простой поиск.
GET/videos
curl "https://api.example.video/v1/videos?limit=2&query=travel" \
-H "Authorization: Bearer sk_demo_xxx"
Ответ
{
"data": [
{
"id": "vid_8f31a2",
"title": "Weekend in Helsinki",
"duration": 482,
"status": "ready",
"visibility": "public",
"views": 18420,
"created_at": "2026-08-08T12:30:00Z"
},
{
"id": "vid_2bc901",
"title": "Northern Lights — 4K",
"duration": 931,
"status": "ready",
"visibility": "public",
"views": 72914,
"created_at": "2026-08-05T21:14:11Z"
}
],
"pagination": {
"limit": 2,
"next_cursor": "eyJvZmZzZXQiOjJ9"
}
}
Интерактивный пример
Введите ID видео — кнопка покажет тот же формат JSON, как будто запрос выполнен.
Получить видео
GET/videos/{video_id}
curl "https://api.example.video/v1/videos/vid_8f31a2"
{
"id": "vid_8f31a2",
"title": "Weekend in Helsinki",
"description": "A short city walk.",
"duration": 482,
"thumbnail_url": "https://cdn.example.video/thumbs/vid_8f31a2.jpg",
"playback_url": "https://cdn.example.video/hls/vid_8f31a2/master.m3u8",
"status": "ready"
}
Загрузка
Создание загрузки возвращает временный URL для передачи файла. В настоящем API здесь можно было бы подключить multipart upload или presigned URL.
POST/uploads
POST /v1/uploads
Content-Type: application/json
{
"filename": "my-video.mp4",
"content_type": "video/mp4"
}
{
"upload_id": "upl_71ac09",
"status": "waiting",
"upload_url": "https://upload.example.video/upl_71ac09",
"expires_in": 900
}
Пользователи
GET/users/{user_id}
{
"id": "usr_19da40",
"username": "demo_creator",
"display_name": "Demo Creator",
"followers": 12840,
"verified": true
}
Ошибки
Ошибки возвращаются в едином формате с машинно-читаемым кодом.
{
"error": {
"code": "video_not_found",
"message": "Video does not exist",
"request_id": "req_7c21b8"
}
}
| HTTP | Code | Описание |
|---|---|---|
| 400 | invalid_request | Некорректные параметры запроса |
| 401 | unauthorized | Необходим API-ключ |
| 404 | video_not_found | Ресурс не найден |
| 429 | rate_limited | Превышен лимит запросов |