StreamAPI
API operational
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"
  }
}
HTTPCodeОписание
400invalid_requestНекорректные параметры запроса
401unauthorizedНеобходим API-ключ
404video_not_foundРесурс не найден
429rate_limitedПревышен лимит запросов
StreamAPI Documentation · Demo / static mock · v1.0