Für Entwickler und SaaS-Anbieter
Füge KI-Video in wenigen Aufrufen zu deinem Produkt hinzu
Eine REST-API, ein MCP-Server und Webhooks: Dein Produkt erstellt Erklärvideos und schneidet lange Videos in Shorts, ohne dass deine Nutzer ClipOnIt öffnen müssen.
Tarif Starter oder höher · der Schlüssel wird unter Einstellungen → Integrationen erstellt
Zwei Wege, es zu nutzen
Die beiden Produkte von ClipOnIt, aufgerufen aus deinem Code oder von einem Agenten.
AI Explainer
Ein Schulungstool: ein Erklärvideo pro Lektion
Dein Produkt sendet den Titel oder Text der Lektion; ClipOnIt schreibt die Szenen, illustriert sie, fügt die Stimme und die Untertitel hinzu und rendert ein vertikales MP4, das du neben dem Kurs anzeigst.
POST /api/agent/produceMCP
Ein KI-Agent, der ClipOnIt steuert
Dein Agent (Claude, Cursor, VS Code oder einen eigenen) verbindet sich mit dem MCP-Server: Er importiert ein Video, wählt die Clips aus, startet ein Erklärvideo und wartet mit bereits beschriebenen Tools auf das Ergebnis.
POST /mcp
Immer derselbe Ablauf
Ein Video braucht Minuten, nicht Millisekunden: Du erstellst eine Aufgabe, verfolgst ihren Status und holst die Datei ab.
- Aufgabe erstellen
Ein POST mit dem Thema oder Link des Videos. Sofortige Antwort mit einer ID.
- Status verfolgen
Ein GET etwa alle 10 s: Schritt, Prozent, verbleibende Zeit. Für den Explainer kann dich stattdessen ein Webhook benachrichtigen.
- Video abrufen
Sobald es fertig ist, steht die URL der MP4-Datei in der Antwort. Lade sie herunter oder zeige sie in deinem Produkt an.
AI Explainer
Ein Erklärvideo aus einem Thema
POST /api/agent/produce nimmt ein Thema (oder ein Skript oder eine Audioaufnahme) entgegen und startet das Schreiben und danach das Rendering. GET /api/jobs/{id} gibt status, step, percent und, sobald das Video fertig ist, url zurück.
- duration_s15 bis 180 Sekunden
- Stil24 visuelle Stile, und dein eigener: GET /api/explainer/styles
- voiceeine Stimme aus dem Katalog, nach Name oder Kennung
- dry_runtrue: prüft Kontingent und Kosten, ohne etwas zu starten
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
Ein MCP-Server für Agenten
Einzige Adresse https://cliponit.app/mcp, als HTTP „streamable“. Die Werkzeuge decken beide Produkte ab: Clips importieren, abwarten, erstellen und exportieren, ein Erklärvideo erzeugen und auf dessen Ende warten. Werkzeuge, die etwas ändern, sind markiert, damit der Agent vorher nachfragt.
Claude Desktop und Claude.ai: Einstellungen → Connectors → Benutzerdefinierten Connector hinzufügen, mit der oben genannten Adresse. Die Verbindung erfolgt über OAuth, ohne Schlüssel zu kopieren; ChatGPT funktioniert genauso. Schritt für Schritt
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": {}}}'Benachrichtigt werden, statt nachzufragen
Unter Einstellungen → Integrationen füge bis zu 3 https-URLs hinzu. Wenn eine Explainer-Produktion endet, sendet ClipOnIt dorthin job.done oder job.failed, mit demselben Objekt wie GET /api/jobs/{id}. Sechs Versuche bei Fehlschlag, innerhalb von etwa 8 Stunden.
Für Clips aus dem Smart Clipper gibt es noch keinen Webhook: Verfolge den Status mit 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", ""))Limits und Kontingente pro Tarif
API-Aufrufe zählen wie in der Oberfläche: gleiche Kontingente, gleiches Konto. Preise ansehen
| Free | Starter | Pro | Business | |
|---|---|---|---|---|
| API und MCP | — | ✓ | ✓ | ✓ |
| Explainer-Videos pro Monat | — | 15 | 30 | 100 |
| Explainer-Produktionen gleichzeitig | — | 2 | 2 | 2 |
| API-Schlüssel pro Konto | — | 10 | 10 | 10 |
| Webhooks pro Konto | — | 3 | 3 | 3 |
Sicherheit
Rufe ClipOnIt von deinem Server aus auf, niemals aus dem Browser deiner Nutzer.
Datenschutzerklärung- Der Schlüssel bleibt auf deinem Server.Er gibt Zugriff auf das gesamte ClipOnIt-Konto: niemals im Browser, in einer mobilen App oder in einem Git-Repository. Bewahre ihn in einer Umgebungsvariable auf und rufe ClipOnIt aus deinem Backend auf.
- Ein Schlüssel pro Verwendungszweck, mit eigenem Umfang.Umfang „Lesen“ (abrufen, prüfen) oder „Produktion“ (Videos erstellen). Jeder Schlüssel hat einen Namen, ein Datum der letzten Nutzung und lässt sich mit einem Klick widerrufen: Er antwortet mit 401 ab dem nächsten Aufruf.
- Das Geheimnis wird nur einmal angezeigt.ClipOnIt speichert nur den Fingerabdruck (SHA-256). Geht er verloren, wird der Schlüssel ersetzt, nicht erneut angezeigt.
- Signierte Webhooks.Jeder Versand enthält X-ClipOnIt-Signature (HMAC-SHA256 aus Body und Zeitstempel); jeder Versand, der älter als 5 Minuten ist, wird abgelehnt. Empfangs-URLs sind https und werden bei jedem Versand geprüft.
- In der Europäischen Union gehostet.Hetzner-Server in der EU; Unterauftragnehmer stehen in der Datenschutzerklärung.
Häufige Fragen
SDK, Widget, Fristen, Kontingente und Volumen.
Welcher Plan wird für die API benötigt?
Ab Starter. Der kostenlose Tarif hat keinen API- oder MCP-Zugang: Ein Schlüssel kann nicht erstellt werden, und der MCP-Server antwortet mit „Tarif ohne API-Zugang“. Die API-Kontingente gelten wie in der Oberfläche für das Konto.
Gibt es ein SDK?
Derzeit gibt es kein offizielles SDK. Die API läuft über HTTP und JSON und ist in OpenAPI 3.1 (/openapi.json) beschrieben: Die Beispiele auf dieser Seite kommen mit wenigen Zeilen fetch oder Standard-Python aus, und du kannst aus der OpenAPI-Datei einen Client generieren.
Kann ich einen ClipOnIt-Player oder -Editor in meine Website einbinden?
Nein, es gibt kein einbettbares Widget. Du holst dir die MP4-Datei und zeigst sie in deinem eigenen Player an oder hostest sie selbst.
Wie lange dauert ein Video?
Ein Erklärvideo: einige Minuten (Schreiben, dann Rendering, etwa 4 Min. für das Rendering). Clips: etwa 1 bis 5 Minuten für 20 Minuten Video, danach der Export jedes Clips. Die API gibt den Schritt, den Prozentsatz und eine Schätzung der verbleibenden Zeit zurück.
Was passiert, wenn ein Kontingent erreicht ist?
Die API antwortet mit 402 und einer klaren Meldung (Monatskontingent oder KI-Budget), 403, wenn die Funktion nicht im Plan enthalten ist, 429, wenn bereits zwei Explainer-Produktionen laufen. Für den Explainer prüft „dry_run“: true alles vor dem Start, ohne etwas zu erstellen oder abzurechnen.
Ich möchte ClipOnIt für alle meine Nutzer einbinden.
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.
Dein erstes Video über die API, heute
Crée une clé, copie un exemple, lance-le. Une question sur ton intégration : contact@cliponit.app.