FrozeIsland API
Полный справочник по REST API для управления видео, каналами и комментариями. Базовый URL: https://api.frozeisland.com/v1
Введение
FrozeIsland API предоставляет разработчикам возможность интегрировать функции видеохостинга в свои приложения. Все запросы выполняются по протоколу HTTPS, данные передаются в формате JSON. API следует принципам REST и использует стандартные HTTP-методы.
https://api.frozeisland.com/v1. Все запросы, кроме аутентификации, требуют заголовок Authorization: Bearer <token>.Получение JWT-токена для доступа к защищённым эндпоинтам. Токен действителен 24 часа.
| Параметр | Тип | Описание |
|---|---|---|
| api_key* | string | Ключ API, выданный при регистрации приложения |
| api_secret* | string | Секретный ключ API |
curl -X POST https://api.frozeisland.com/v1/auth/token \
-H "Content-Type: application/json" \
-d '{"api_key": "pk_abc123", "api_secret": "sk_def456"}'const response = await fetch('https://api.frozeisland.com/v1/auth/token', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ api_key: 'pk_abc123', api_secret: 'sk_def456' })
});
const data = await response.json();import requests
response = requests.post(
'https://api.frozeisland.com/v1/auth/token',
json={'api_key': 'pk_abc123', 'api_secret': 'sk_def456'}
)
data = response.json(){
"access_token": "eyJhbGciOiJIUzI1NiIs...",
"token_type": "bearer",
"expires_in": 86400
}Возвращает список видео с пагинацией. Можно фильтровать по каналу и сортировать.
| Параметр | Тип | Описание |
|---|---|---|
| page | integer | Номер страницы (по умолчанию 1) |
| per_page | integer | Количество элементов на странице (макс. 50) |
| channel_id | string | Фильтр по ID канала |
| sort | string | Поле сортировки: created_at, views, title |
| order | string | Направление: asc или desc |
curl -X GET "https://api.frozeisland.com/v1/videos?page=1&per_page=10&sort=views&order=desc" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."const response = await fetch(
'https://api.frozeisland.com/v1/videos?page=1&per_page=10',
{ headers: { 'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIs...' } }
);
const data = await response.json();import requests
headers = {'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIs...'}
response = requests.get(
'https://api.frozeisland.com/v1/videos',
params={'page': 1, 'per_page': 10},
headers=headers
)
data = response.json(){
"data": [
{
"id": "vid_9f2a81",
"title": "Как работает квантовый компьютер",
"description": "Обучающее видео...",
"duration": 745,
"views": 125400,
"created_at": "2026-08-15T10:30:00Z",
"thumbnail_url": "https://cdn.frozeisland.com/thumbnails/vid_9f2a81.jpg",
"channel_id": "ch_3b7c21"
}
],
"pagination": {
"page": 1,
"per_page": 10,
"total": 248,
"total_pages": 25
}
}Загрузка нового видео. Поддерживаются форматы MP4, WebM, MOV. Максимальный размер — 2 ГБ.
| Параметр | Тип | Описание |
|---|---|---|
| title* | string | Название видео (до 200 символов) |
| description | string | Описание видео (до 5000 символов) |
| channel_id* | string | ID канала, в который загружается видео |
| file* | file | Файл видео (multipart/form-data) |
| thumbnail | file | Пользовательская обложка (JPEG/PNG) |
| is_public | boolean | Публичный доступ (по умолчанию true) |
curl -X POST https://api.frozeisland.com/v1/videos \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
-F "title=Мой новый ролик" \
-F "description=Описание ролика" \
-F "channel_id=ch_3b7c21" \
-F "file=@/path/to/video.mp4"const formData = new FormData();
formData.append('title', 'Мой новый ролик');
formData.append('channel_id', 'ch_3b7c21');
formData.append('file', fileInput.files[0]);
const response = await fetch('https://api.frozeisland.com/v1/videos', {
method: 'POST',
headers: { 'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIs...' },
body: formData
});import requests
files = {'file': open('video.mp4', 'rb')}
data = {
'title': 'Мой новый ролик',
'channel_id': 'ch_3b7c21'
}
headers = {'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIs...'}
response = requests.post(
'https://api.frozeisland.com/v1/videos',
files=files,
data=data,
headers=headers
){
"id": "vid_7d3e19",
"title": "Мой новый ролик",
"status": "processing",
"upload_url": "https://cdn.frozeisland.com/upload/vid_7d3e19"
}Получение подробной информации о конкретном видео по его идентификатору.
| Параметр | Тип | Описание |
|---|---|---|
| id* | string | Идентификатор видео (например, vid_9f2a81) |
{
"id": "vid_9f2a81",
"title": "Как работает квантовый компьютер",
"description": "Подробное объяснение...",
"duration": 745,
"views": 125400,
"likes": 8900,
"created_at": "2026-08-15T10:30:00Z",
"updated_at": "2026-08-20T14:12:00Z",
"channel": {
"id": "ch_3b7c21",
"name": "Наука и Технологии"
},
"video_url": "https://cdn.frozeisland.com/videos/vid_9f2a81/master.m3u8",
"thumbnail_url": "https://cdn.frozeisland.com/thumbnails/vid_9f2a81.jpg"
}Обновление метаданных видео. Можно изменять название, описание, обложку и настройки доступа.
| Параметр | Тип | Описание |
|---|---|---|
| title | string | Новое название видео |
| description | string | Новое описание |
| thumbnail | file | Новая обложка |
| is_public | boolean | Изменить видимость |
Удаление видео. Операция необратима. Видео также удаляется с CDN.
HTTP/1.1 204 No ContentВозвращает список каналов текущего пользователя.
{
"data": [
{
"id": "ch_3b7c21",
"name": "Наука и Технологии",
"subscribers": 45200,
"video_count": 87
},
{
"id": "ch_8d4e90",
"name": "Программирование",
"subscribers": 32100,
"video_count": 154
}
]
}Получение комментариев к видео с пагинацией.
| Параметр | Тип | Описание |
|---|---|---|
| video_id* | string | ID видео |
| page | integer | Номер страницы |
| per_page | integer | Элементов на странице |
Добавление комментария к видео.
| Параметр | Тип | Описание |
|---|---|---|
| video_id* | string | ID видео |
| text* | string | Текст комментария (до 1000 символов) |
| parent_id | string | ID родительского комментария для ответа |
FrozeIsland API v1.0.0 · Документация обновлена 22 августа 2026 г.
Поддержка: support@frozeisland.com