Для разработчиков и SaaS
Добавь ИИ-видео в свой продукт за несколько вызовов API
REST API, MCP-сервер и вебхуки: твой продукт создаёт обучающие видео и нарезает длинные видео на шортсы, без того чтобы твои пользователи открывали ClipOnIt.
Уже на бесплатном тарифе (3 видео в месяц с водяным знаком) · ключ создаётся в «Настройки» → «Интеграции»
Два способа использования
Два продукта ClipOnIt, которые вызываются из твоего кода или агентом.
AI Explainer
Инструмент для обучения: одно обучающее видео на каждый урок
Твой продукт передаёт заголовок или текст урока; ClipOnIt пишет сцены, иллюстрирует их, озвучивает и добавляет субтитры, затем создаёт вертикальный MP4, который ты показываешь рядом с курсом.
POST /api/agent/produceMCP
ИИ-агент, управляющий ClipOnIt
Твой агент (Claude, Cursor, VS Code или любой другой) подключается к MCP-серверу: он импортирует видео, выбирает клипы, запускает обучающее видео и ждёт результата с уже описанными инструментами.
POST /mcp
Всегда один и тот же процесс
Видео создаётся минуты, а не миллисекунды: ты создаёшь задачу, отслеживаешь её статус и получаешь файл.
- Создать задачу
POST-запрос с темой или ссылкой на видео. Мгновенный ответ с идентификатором.
- Отслеживать статус
GET-запрос примерно каждые 10 с: этап, процент, оставшееся время. Для Explainer вебхук может сообщить об этом вместо этого.
- Получить видео
Когда всё готово, URL файла MP4 будет в ответе. Скачай его или покажи в своём продукте.
AI Explainer
Обучающее видео по заданной теме
POST /api/agent/produce принимает тему (или сценарий, или аудиозапись) и запускает написание, а затем рендеринг. GET /api/jobs/{id} возвращает status, step, percent, а затем url, когда видео готово.
- duration_sот 15 до 180 секунд
- style24 визуальных стилей, и твой собственный: GET /api/explainer/styles
- voiceголос из каталога, по имени или идентификатору
- dry_runtrue: проверяет квоту и стоимость, ничего не запуская
curl -s -X POST https://cliponit.app/api/agent/produce \
-H "Authorization: Bearer $CLIPONIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"topic": "La photosynthèse en 3 étapes", "duration_s": 45}'
curl -s https://cliponit.app/api/jobs/JOB_ID \
-H "Authorization: Bearer $CLIPONIT_API_KEY"
curl -s -o lecon.mp4 "URL_DU_JOB"const API = "https://cliponit.app";
const headers = {
Authorization: `Bearer ${process.env.CLIPONIT_API_KEY}`,
"Content-Type": "application/json",
};
async function call(method, path, body) {
const res = await fetch(API + path, { method, headers, body: body && JSON.stringify(body) });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
return res.json();
}
let { job } = await call("POST", "/api/agent/produce", { topic: "La photosynthèse en 3 étapes", duration_s: 45 });
while (!["done", "failed", "canceled"].includes(job.status)) {
await new Promise((r) => setTimeout(r, 10_000));
job = await call("GET", `/api/jobs/${job.id}`);
}
console.log(job.status === "done" ? job.url : job.error);import json, os, time, urllib.request
API = "https://cliponit.app"
KEY = os.environ["CLIPONIT_API_KEY"]
def call(method, path, body=None):
req = urllib.request.Request(API + path, method=method,
data=None if body is None else json.dumps(body).encode(),
headers={"Authorization": f"Bearer {KEY}", "Content-Type": "application/json"})
with urllib.request.urlopen(req) as r:
return json.load(r)
job = call("POST", "/api/agent/produce", {"topic": "La photosynthèse en 3 étapes", "duration_s": 45})["job"]
while job["status"] not in ("done", "failed", "canceled"):
time.sleep(10)
job = call("GET", f"/api/jobs/{job['id']}")
if job["status"] == "done":
urllib.request.urlretrieve(job["url"], "lecon.mp4")
else:
print(job["error"])MCP
MCP-сервер для агентов
Единый адрес https://cliponit.app/mcp, по HTTP «streamable». Инструменты охватывают оба продукта: импорт, ожидание, создание и экспорт клипов, создание обучающего видео и ожидание его завершения. Инструменты, которые что-то меняют, помечены, чтобы агент спрашивал разрешения.
Claude Desktop и Claude.ai: Настройки → Коннекторы → Добавить пользовательский коннектор, с указанным выше адресом. Подключение через OAuth, ключ копировать не нужно; ChatGPT работает так же. Пошагово
claude mcp add --transport http cliponit https://cliponit.app/mcp \
--header "Authorization: Bearer $CLIPONIT_API_KEY"{
"mcpServers": {
"cliponit": {
"url": "https://cliponit.app/mcp",
"headers": { "Authorization": "Bearer ${env:CLIPONIT_API_KEY}" }
}
}
}{
"inputs": [
{ "type": "promptString", "id": "cliponit-key", "description": "ClipOnIt API key", "password": true }
],
"servers": {
"cliponit": {
"type": "http",
"url": "https://cliponit.app/mcp",
"headers": { "Authorization": "Bearer ${input:cliponit-key}" }
}
}
}curl -s -X POST https://cliponit.app/mcp \
-H "Authorization: Bearer $CLIPONIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "get_quota", "arguments": {}}}'Получать уведомления вместо запросов
В разделе «Настройки → Интеграции» добавь до 3 URL-адресов https. Когда производство Explainer завершается, ClipOnIt отправляет на них job.done или job.failed с тем же объектом, что и GET /api/jobs/{id}. Шесть повторных попыток при сбое, примерно в течение 8 ч.
Для клипов Smart Clipper вебхука пока нет: отслеживай статус через GET.
import hashlib, hmac, time
def verify(secret: str, header: str, body: bytes, tolerance: int = 300) -> bool:
"""header = X-ClipOnIt-Signature, body = raw request bytes."""
parts = dict(p.split("=", 1) for p in header.split(",") if "=" in p)
if abs(time.time() - int(parts.get("t", 0))) > tolerance:
return False
mac = hmac.new(secret.encode(), parts["t"].encode() + b"." + body, hashlib.sha256).hexdigest()
return hmac.compare_digest(mac, parts.get("v1", ""))Лимиты и квоты по тарифам
Вызовы API учитываются как в интерфейсе: те же квоты, тот же аккаунт. Смотреть тарифы
| Бесплатно | Starter | Pro | Business | |
|---|---|---|---|---|
| API и MCP | — | ✓ | ✓ | ✓ |
| Видео Explainer в месяц | — | 15 | 30 | 100 |
| Производств Explainer одновременно | — | 2 | 2 | 2 |
| API-ключи для аккаунта | — | 10 | 10 | 10 |
| Вебхуки по аккаунту | — | 3 | 3 | 3 |
Безопасность
Вызывай ClipOnIt со своего сервера, никогда из браузера твоих пользователей.
Политика конфиденциальности- Ключ остаётся на твоём сервере.Он даёт доступ ко всему аккаунту ClipOnIt: никогда не используй его в браузере, мобильном приложении или репозитории Git. Храни его в переменной окружения и вызывай ClipOnIt из своего бэкенда.
- Один ключ на сценарий, с его областью действия.Область «чтение» (просмотр, проверка) или «создание» (создание видео). У каждого ключа есть имя и дата последнего использования, он отзывается одним кликом: уже со следующего вызова он возвращает 401.
- Секрет показывается только один раз.ClipOnIt хранит только его отпечаток (SHA-256). Если ключ потерян, его заменяют, восстановить нельзя.
- Подписанные вебхуки.Каждая отправка содержит X-ClipOnIt-Signature (HMAC-SHA256 от тела и временной метки); отклоняй любую отправку старше 5 минут. URL для приёма должны быть https и проверяться при каждой отправке.
- Размещено в Европейском союзе.Серверы Hetzner в ЕС; субподрядчики перечислены в политике конфиденциальности.
Частые вопросы
SDK, виджет, задержки, квоты и объём.
Какой тариф нужен для API?
Бесплатного тарифа хватит для старта: ключ создаётся, MCP-сервер отвечает, 3 видео Explainer в месяц с водяным знаком, в 8 бесплатных стилях. Платные тарифы добавляют больше видео (15, 30 или 100 в месяц), без водяного знака, 24 стилей, твой голос в микрофон и ИИ-режиссёр. Квоты API такие же, как у аккаунта, как и в интерфейсе.
Есть ли SDK?
Официального SDK пока нет. API работает по HTTP и JSON, описан в OpenAPI 3.1 (/openapi.json): примеры на этой странице занимают несколько строк fetch или стандартного Python, а клиент можно сгенерировать из файла OpenAPI.
Можно ли встроить плеер или редактор ClipOnIt на свой сайт?
Нет, встраиваемого виджета нет. Ты получаешь файл MP4 и показываешь его в своём плеере или размещаешь у себя.
Сколько времени занимает видео?
Обучающее видео: несколько минут (написание и затем рендеринг, около 4 мин на рендеринг). Клипы: примерно от 1 до 5 минут на 20 минут видео, затем экспорт каждого клипа. API возвращает этап, процент и оценку оставшегося времени.
Что происходит, когда квота исчерпана?
API отвечает 402 с понятным сообщением (квота за месяц или бюджет ИИ), 403, если функции нет в тарифе, 429, если уже выполняются два производства Explainer. Для Explainer параметр «dry_run»: true проверяет всё перед запуском, ничего не создавая и не списывая оплату.
Я хочу подключить ClipOnIt для всех моих пользователей.
Une clé agit sur un seul compte ClipOnIt : les vidéos et les quotas sont ceux de ce compte. Pour un usage à plus grande échelle, écris-nous à contact@cliponit.app avec ton volume et ton cas d'usage.
Твоё первое видео через API, уже сегодня
Crée une clé, copie un exemple, lance-le. Une question sur ton intégration : contact@cliponit.app.