Per sviluppatori e SaaS
Aggiungi il video IA al tuo prodotto in poche chiamate
Un'API REST, un server MCP e dei webhook: il tuo prodotto crea video esplicativi e ritaglia video lunghi in shorts, senza che i tuoi utenti aprano ClipOnIt.
Dal piano gratuito (3 video al mese con filigrana) · la chiave si crea in Impostazioni → Integrazioni
Due modi per usarlo
I due prodotti di ClipOnIt, richiamati dal tuo codice o da un agente.
AI Explainer
Uno strumento di formazione: un video esplicativo per ogni lezione
Il tuo prodotto invia il titolo o il testo della lezione; ClipOnIt scrive le scene, le illustra, aggiunge la voce e i sottotitoli, poi restituisce un MP4 verticale che mostri accanto al corso.
POST /api/agent/produceMCP
Un agente IA che gestisce ClipOnIt
Il tuo agente (Claude, Cursor, VS Code o il tuo) si collega al server MCP: importa un video, sceglie i clip, avvia un video esplicativo e attende il risultato con strumenti già descritti.
POST /mcp
Sempre lo stesso flusso
Un video richiede minuti, non millisecondi: crei un'attività, ne segui lo stato, recuperi il file.
- Crea l'attività
Un POST con l'argomento o il link del video. Risposta immediata con un identificativo.
- Segui lo stato
Un GET ogni 10 s circa: fase, percentuale, tempo rimanente. Per l'Explainer, un webhook può avvisarti al posto suo.
- Recupera il video
Una volta completato, l'URL dell'MP4 è nella risposta. Scaricalo o mostralo nel tuo prodotto.
AI Explainer
Un video esplicativo a partire da un argomento
POST /api/agent/produce riceve un argomento (o uno script, o una registrazione audio) e avvia la scrittura e poi il rendering. GET /api/jobs/{id} restituisce status, step, percent, poi url quando il video è pronto.
- duration_s15 a 180 secondi
- stile24 stili visivi, e il tuo: GET /api/explainer/styles
- voiceuna voce del catalogo, per nome o identificatore
- dry_runtrue: verifica quota e costo senza avviare nulla
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
Un server MCP per gli agenti
Indirizzo unico https://cliponit.app/mcp, in HTTP «streamable». Gli strumenti coprono entrambi i prodotti: importare, attendere, creare ed esportare clip, produrre un video esplicativo e attendere la sua fine. Quelli che modificano qualcosa sono contrassegnati perché l'agente chieda prima.
Claude Desktop e Claude.ai: Impostazioni → Connettori → Aggiungi connettore personalizzato, con l'indirizzo qui sopra. La connessione avviene tramite OAuth, senza chiave da copiare; ChatGPT funziona allo stesso modo. Guida passo passo
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": {}}}'Essere avvisati invece di chiedere
In Impostazioni → Integrazioni, aggiungi fino a 3 URL https. Quando una produzione Explainer termina, ClipOnIt vi invia job.done o job.failed, con lo stesso oggetto di GET /api/jobs/{id}. Sei tentativi in caso di errore, nell'arco di circa 8 ore.
Per i clip di Smart Clipper non c'è ancora un webhook: segui lo stato con 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", ""))Limiti e quote per piano
Le chiamate API contano come nell'interfaccia: stessi limiti, stesso account. Vedi i prezzi
| Gratis | Starter | Pro | Business | |
|---|---|---|---|---|
| API e MCP | — | ✓ | ✓ | ✓ |
| Video Explainer al mese | — | 15 | 30 | 100 |
| Produzioni Explainer in parallelo | — | 2 | 2 | 2 |
| Chiavi API per account | — | 10 | 10 | 10 |
| Webhook per account | — | 3 | 3 | 3 |
- La chiave resta sul tuo server.Dà accesso all'intero account ClipOnIt: mai nel browser, in un'app mobile o in un repository Git. Conservala in una variabile d'ambiente e chiama ClipOnIt dal tuo backend.
- Una chiave per uso, con il suo ambito.Ambito «lettura» (consultare, verificare) o «produzione» (creare video). Ogni chiave ha un nome, una data di ultimo utilizzo e si revoca con un clic: ha effetto 401 alla chiamata successiva.
- Il segreto viene mostrato una sola volta.ClipOnIt ne conserva solo l'impronta (SHA-256). Se la perdi, una chiave si sostituisce, non si recupera.
- Webhook firmati.Ogni invio riporta X-ClipOnIt-Signature (HMAC-SHA256 del corpo e del timestamp); rifiuta qualsiasi invio di oltre 5 minuti. Gli URL di ricezione sono in https e verificati a ogni invio.
- Ospitato nell'Unione europea.Server Hetzner in UE; subappaltatori elencati nell'informativa sulla privacy.
Domande frequenti
SDK, widget, tempi, quote e volumi.
Quale piano serve per l'API?
Il piano gratuito basta per iniziare: la chiave si crea e il server MCP risponde, per 3 video Explainer al mese con filigrana, nei 8 stili gratuiti. I piani a pagamento aggiungono più video (15, 30 o 100 al mese), senza filigrana, i 24 stili, la tua voce al microfono e il Regista IA. Le quote dell'API sono quelle dell'account, come nell'interfaccia.
C'è un SDK?
Nessun SDK ufficiale per ora. L'API è in HTTP e JSON, descritta in OpenAPI 3.1 (/openapi.json): gli esempi di questa pagina occupano poche righe di fetch o di Python standard, e puoi generare un client dal file OpenAPI.
Posso integrare un player o un editor ClipOnIt nel mio sito?
No, non c'è nessun widget incorporabile. Scarichi il file MP4 e lo mostri nel tuo lettore, oppure lo ospiti sui tuoi server.
Quanto tempo ci vuole per un video?
Un video esplicativo: qualche minuto (scrittura, poi rendering, circa 4 min per il rendering). Clip: circa 1 a 5 minuti per 20 minuti di video, poi l'esportazione di ogni clip. L'API restituisce la fase, la percentuale e una stima del tempo rimanente.
Cosa succede quando si raggiunge una quota?
L'API risponde 402 con un messaggio chiaro (quota mensile o budget IA), 403 se la funzione non è nel piano, 429 se due produzioni Explainer sono già in corso. Per l'Explainer, « dry_run »: true verifica tutto prima di avviare, senza creare né fatturare nulla.
Voglio integrare ClipOnIt per tutti i miei utenti.
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.
Il tuo primo video tramite API, oggi
Crée une clé, copie un exemple, lance-le. Une question sur ton intégration : contact@cliponit.app.