Para desarrolladores y SaaS
Agrega video con IA a tu producto en pocas llamadas
Una API REST, un servidor MCP y webhooks: tu producto crea videos explicativos y corta videos largos en shorts, sin que tus usuarios tengan que abrir ClipOnIt.
Desde el plan gratis (3 videos al mes con marca de agua) · la clave se crea en Ajustes → Integraciones
Dos formas de usarlo
Los dos productos de ClipOnIt, llamados desde tu código o por un agente.
AI Explainer
Una herramienta de formación: un video explicativo por lección
Tu producto envía el título o el texto de la lección; ClipOnIt escribe las escenas, las ilustra, pone la voz y los subtítulos, y luego genera un MP4 vertical que muestras junto al curso.
POST /api/agent/produceMCP
Un agente de IA que controla ClipOnIt
Tu agente (Claude, Cursor, VS Code o el tuyo) se conecta al servidor MCP: importa un video, elige los clips, lanza un video explicativo y espera el resultado con herramientas ya descritas.
POST /mcp
Siempre el mismo flujo
Un video tarda minutos, no milisegundos: creas una tarea, sigues su estado y recuperas el archivo.
- Crear la tarea
Un POST con el tema o el enlace del video. Respuesta inmediata con un identificador.
- Seguir el estado
Un GET cada 10 s aprox.: paso, porcentaje, tiempo restante. Para el Explainer, un webhook puede avisarte en su lugar.
- Obtener el video
Cuando termine, la URL del MP4 viene en la respuesta. Descárgalo o muéstralo en tu producto.
AI Explainer
Un video explicativo a partir de un tema
POST /api/agent/produce recibe un tema (o un guion, o una grabación de audio) e inicia la escritura y luego el renderizado. GET /api/jobs/{id} devuelve status, step, percent y, cuando el video está listo, url.
- duration_sDe 15 a 180 segundos
- estilo24 estilos visuales, y el tuyo: GET /api/explainer/styles
- voiceuna voz del catálogo, por nombre o identificador
- dry_runtrue: verifica la cuota y el costo sin lanzar nada
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 servidor MCP para agentes
Dirección única https://cliponit.app/mcp, en HTTP «streamable». Las herramientas cubren ambos productos: importar, esperar, crear y exportar clips, producir un video explicativo y esperar a que termine. Las que modifican algo están marcadas para que el agente pida confirmación antes.
Claude Desktop y Claude.ai: Configuración → Conectores → Añadir conector personalizado, con la dirección de arriba. La conexión se hace por OAuth, sin clave que copiar; ChatGPT funciona igual. Paso a paso
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": {}}}'Recibe un aviso en lugar de preguntar
En Configuración → Integraciones, añade hasta 3 URL https. Cuando termina una producción del Explainer, ClipOnIt envía job.done o job.failed, con el mismo objeto que GET /api/jobs/{id}. Seis intentos si falla, durante unas 8 horas aprox.
Para los clips de Smart Clipper todavía no hay webhook: sigue el estado 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", ""))Límites y cuotas por plan
Las llamadas a la API cuentan igual que en la interfaz: mismas cuotas, misma cuenta. Ver precios
| Gratis | Starter | Pro | Business | |
|---|---|---|---|---|
| API y MCP | — | ✓ | ✓ | ✓ |
| Videos Explainer por mes | — | 15 | 30 | 100 |
| Producciones Explainer al mismo tiempo | — | 2 | 2 | 2 |
| Claves API por cuenta | — | 10 | 10 | 10 |
| Webhooks por cuenta | — | 3 | 3 | 3 |
Seguridad
Llama a ClipOnIt desde tu servidor, nunca desde el navegador de tus usuarios.
Política de privacidad- La clave se queda en tu servidor.Da acceso a toda la cuenta de ClipOnIt: nunca en el navegador, en una app móvil ni en un repositorio Git. Guárdala en una variable de entorno y llama a ClipOnIt desde tu backend.
- Una clave por uso, con su alcance.Alcance «lectura» (consultar, verificar) o «producción» (crear videos). Cada clave tiene un nombre, una fecha de último uso y se revoca con un clic: responde 401 desde la siguiente llamada.
- El secreto solo se muestra una vez.ClipOnIt solo guarda su huella (SHA-256). Si la pierdes, la clave se reemplaza; no se puede recuperar.
- Webhooks firmados.Cada envío lleva X-ClipOnIt-Signature (HMAC-SHA256 del cuerpo y de la marca de tiempo); rechaza cualquier envío de más de 5 minutos. Las URL de recepción usan https y se verifican en cada envío.
- Alojado en la Unión Europea.Servidores de Hetzner en la UE; subcontratistas listados en la política de privacidad.
Preguntas frecuentes
SDK, widget, plazos, cuotas y volumen.
¿Qué plan necesitas para la API?
El plan gratis basta para empezar: la clave se crea y el servidor MCP responde, para 3 videos Explainer al mes con marca de agua, en los 8 estilos gratuitos. Los planes de pago añaden más videos (15, 30 o 100 al mes), sin marca de agua, los 24 estilos, tu voz por micrófono y el Director IA. Las cuotas de la API son las de la cuenta, igual que en la interfaz.
¿Hay un SDK?
Todavía no hay SDK oficial. La API es HTTP y JSON, descrita en OpenAPI 3.1 (/openapi.json): los ejemplos de esta página caben en unas pocas líneas de fetch o de Python estándar, y puedes generar un cliente a partir del archivo OpenAPI.
¿Puedo integrar un reproductor o editor de ClipOnIt en mi sitio?
No, no hay widget para insertar. Descargas el archivo MP4 y lo muestras en tu propio reproductor, o lo alojas tú mismo.
¿Cuánto tarda un video?
Un video explicativo: unos minutos (escritura y luego renderizado, aprox. 4 min para el renderizado). Clips: aprox. 1 a 5 minutos por 20 minutos de video, y luego la exportación de cada clip. La API devuelve el paso, el porcentaje y una estimación del tiempo restante.
¿Qué pasa cuando se alcanza una cuota?
La API responde 402 con un mensaje claro (cuota del mes o presupuesto de IA), 403 si la función no está en tu plan, 429 si ya hay dos producciones Explainer en curso. En Explainer, «dry_run»: true verifica todo antes de iniciar, sin crear ni cobrar nada.
Quiero conectar ClipOnIt para todos mis usuarios.
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.
Tu primer video con la API, hoy
Crée une clé, copie un exemple, lance-le. Une question sur ton intégration : contact@cliponit.app.