För utvecklare och SaaS-företag
Lägg till AI-video i din produkt med några få anrop
Ett REST-API, en MCP-server och webhooks: din produkt skapar förklaringsvideor och klipper långa videor till shorts, utan att dina användare behöver öppna ClipOnIt.
Från den kostnadsfria planen (3 videor per månad med vattenmärke) · nyckeln skapas under Inställningar → Integrationer
Två sätt att använda den
Båda ClipOnIts produkter, anropade från din kod eller av en agent.
AI Explainer
Ett utbildningsverktyg: en förklaringsvideo per lektion
Din produkt skickar lektionens titel eller text; ClipOnIt skriver scenerna, illustrerar dem, lägger på röst och undertexter och renderar en vertikal MP4 som du visar bredvid kursen.
POST /api/agent/produceMCP
En AI-agent som styr ClipOnIt
Din agent (Claude, Cursor, VS Code eller en egen) ansluter till MCP-servern: den importerar en video, väljer klipp, startar en förklaringsvideo och väntar på resultatet med verktyg som redan är beskrivna.
POST /mcp
Alltid samma flöde
En video tar minuter, inte millisekunder: du skapar en uppgift, följer dess status och hämtar filen.
- Skapa uppgiften
Ett POST-anrop med ämnet eller videolänken. Svar direkt med ett ID.
- Följ status
Ett GET ungefär var 10 s: steg, procent, återstående tid. För Explainer kan en webhook i stället meddela dig.
- Hämta videon
När det är klart finns MP4-filens URL i svaret. Ladda ner den eller visa den i din produkt.
AI Explainer
En förklaringsvideo utifrån ett ämne
POST /api/agent/produce tar emot ett ämne (eller ett manus, eller en ljudinspelning) och startar skrivandet och sedan renderingen. GET /api/jobs/{id} returnerar status, step, percent och sedan url när videon är klar.
- duration_s15 till 180 sekunder
- style24 visuella stilar, och din egen: GET /api/explainer/styles
- voiceen röst från katalogen, med namn eller ID
- dry_runtrue: kontrollerar kvot och kostnad utan att starta något
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
En MCP-server för agenter
Enda adress https://cliponit.app/mcp, med HTTP ”streamable”. Verktygen täcker båda produkterna: importera, vänta, skapa och exportera klipp, skapa en förklaringsvideo och vänta tills den är klar. De som ändrar något är märkta så att agenten frågar först.
Claude Desktop och Claude.ai: Inställningar → Connectors → Lägg till en anpassad connector, med adressen ovan. Anslutningen sker via OAuth, utan någon nyckel att kopiera; ChatGPT fungerar på samma sätt. Steg för steg
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": {}}}'Bli meddelad i stället för att fråga
Under Inställningar → Integrationer lägger du till upp till 3 https-URL:er. När en Explainer-produktion är klar skickar ClipOnIt job.done eller job.failed dit, med samma objekt som GET /api/jobs/{id}. Sex försök vid fel, under ungefär 8 timmar.
För Smart Clipper-klipp finns det ännu ingen webhook: följ status med 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", ""))Gränser och kvoter per plan
API-anrop räknas som i gränssnittet: samma kvoter, samma konto. Se priserna
| Gratis | Starter | Pro | Business | |
|---|---|---|---|---|
| API och MCP | — | ✓ | ✓ | ✓ |
| Explainer-videor per månad | — | 15 | 30 | 100 |
| Explainer-produktioner samtidigt | — | 2 | 2 | 2 |
| API-nycklar per konto | — | 10 | 10 | 10 |
| Webhooks per konto | — | 3 | 3 | 3 |
- Nyckeln stannar på din server.Den ger tillgång till hela ClipOnIt-kontot: aldrig i webbläsaren, en mobilapp eller ett Git-förråd. Spara den i en miljövariabel och anropa ClipOnIt från din backend.
- En nyckel per användning, med sin räckvidd.Räckvidd ”läsa” (granska, kontrollera) eller ”produktion” (skapa videor). Varje nyckel har ett namn, ett datum för senaste användning och återkallas med ett klick: den svarar 401 från och med nästa anrop.
- Hemligheten visas bara en gång.ClipOnIt sparar bara fingeravtrycket (SHA-256). Går den förlorad ersätts nyckeln, den kan inte hämtas igen.
- Signerade webhooks.Varje leverans bär X-ClipOnIt-Signature (HMAC-SHA256 av innehållet och tidsstämpeln); avvisa alla leveranser som är äldre än 5 minuter. Mottagar-URL:er måste vara https och verifieras vid varje leverans.
- Hostad i Europeiska unionen.Hetzner-servrar i EU; underleverantörer listade i integritetspolicyn.
Vanliga frågor
SDK, widget, tidsfrister, kvoter och volym.
Vilken plan krävs för API:et?
Den kostnadsfria planen räcker för att komma igång: nyckeln skapas och MCP-servern svarar, för 3 Explainer-videor per månad med vattenmärke, i de 8 kostnadsfria stilarna. De betalda planerna lägger till fler videor (15, 30 eller 100 per månad), utan vattenmärke, alla 24 stilarna, din röst via mikrofon och AI-regissören. API:ets kvoter är kontons, precis som i gränssnittet.
Finns det en SDK?
Ingen officiell SDK än. API:et använder HTTP och JSON och beskrivs i OpenAPI 3.1 (/openapi.json): exemplen på den här sidan får plats på några rader med fetch eller standard-Python, och du kan generera en klient från OpenAPI-filen.
Kan jag bädda in en ClipOnIt-spelare eller -redigerare på min webbplats?
Nej, det finns ingen inbäddningsbar widget. Du hämtar MP4-filen och visar den i din egen spelare, eller så hostar du den själv.
Hur lång tid tar en video?
En förklaringsvideo: några minuter (skrivande och sedan rendering, ungefär 4 min för renderingen). Klipp: ungefär 1 till 5 minuter för 20 minuters video, plus export av varje klipp. API:et returnerar steget, procenten och en uppskattning av återstående tid.
Vad händer när en kvot är nådd?
API:et svarar 402 med ett tydligt meddelande (månadskvot eller AI-budget), 403 om funktionen inte ingår i planen, 429 om två Explainer-produktioner redan körs. För Explainer: ”dry_run”: true kontrollerar allt innan start, utan att skapa något eller debitera något.
Jag vill koppla in ClipOnIt för alla mina användare.
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.
Din första video via API:et, idag
Crée une clé, copie un exemple, lance-le. Une question sur ton intégration : contact@cliponit.app.