Clipline

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

Базовый адрес — https://wl.hikuri.top/api/v1. Формат обмена — JSON, кодировка UTF-8.

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

Ключ проекта передаётся заголовком. Ключей у проекта может быть несколько, каждый отзывается отдельно.

Authorization: Bearer clp_live_9f4c2b7e1a0d

Без заголовка сервер отвечает 401, с недействительным или отозванным ключом — 403.

Поставить задачу

POST /api/v1/jobs

{
  "source": "https://example.org/raw/clip.mov",
  "profile": "web-hd",
  "options": {
    "thumbnails": [0, 15, 60],
    "loudness": "ebu-r128"
  },
  "callback": "https://example.org/hooks/clipline"
}

Ответ 202 с идентификатором задачи. Поле source можно опустить, если файл уже загружен — тогда передайте upload с его идентификатором.

Узнать состояние

GET /api/v1/jobs/j_8f2c1ad4

{
  "job": "j_8f2c1ad4",
  "state": "encoding",
  "progress": 62,
  "duration": 738.4,
  "created_at": "2026-02-11T09:14:03Z"
}
СостояниеЧто означает
queuedзадача принята, ждёт свободного кодировщика
fetchingзабираем исходник по указанной ссылке
encodingидёт кодирование, поле progress заполнено
readyфайл готов и доступен для скачивания
failedобработка прервана, причина в поле error

Забрать результат

GET /video/download?job=j_8f2c1ad4

Отдаётся сам файл. Поддерживаются заголовки Range и If-Range, поэтому докачка и перемотка работают штатно. Если задача ещё не завершена, ответ 409; если срок хранения истёк — 410.

Для подписанных ссылок к адресу добавляются параметры expires и sig. Подпись считается по строке из идентификатора задачи и срока годности на секретном ключе проекта.

Удалить

DELETE /api/v1/jobs/j_8f2c1ad4

→ 204 No Content

Удаляет результат и метаданные. Хранение с этого момента не тарифицируется.

Ошибки

КодКогдаЧто делать
400неверные параметры задачиисправить тело запроса
401нет заголовка авторизациидобавить ключ
403ключ отозван или подпись невернавыпустить новый ключ
409файл ещё не готовповторить позже
410срок хранения истёкпоставить задачу заново
429слишком частосмотреть Retry-After
503плановые работыповторить через минуту

Ограничения частоты

60 запросов в минуту на ключ для методов чтения и 20 в минуту для постановки задач. Скачивание готовых файлов не ограничивается.