Dành cho nhà phát triển và SaaS
Thêm video AI vào sản phẩm của bạn chỉ với vài lệnh gọi API
Một REST API, một máy chủ MCP và webhook: sản phẩm của bạn tạo video giải thích và cắt video dài thành shorts, mà người dùng không cần mở ClipOnIt.
Ngay từ gói miễn phí (3 video mỗi tháng có hình mờ) · khóa được tạo trong Cài đặt → Tích hợp
Hai cách để sử dụng
Hai sản phẩm của ClipOnIt, được gọi từ mã của bạn hoặc bởi một agent.
AI Explainer
Công cụ đào tạo: một video giải thích cho mỗi bài học
Sản phẩm của bạn gửi tiêu đề hoặc nội dung bài học; ClipOnIt viết các cảnh, minh họa, thêm giọng đọc và phụ đề, rồi xuất một video MP4 dọc để bạn hiển thị cạnh khóa học.
POST /api/agent/produceMCP
Một agent AI điều khiển ClipOnIt
Agent của bạn (Claude, Cursor, VS Code hoặc agent riêng) kết nối với máy chủ MCP: nó nhập một video, chọn clip, chạy video giải thích và chờ kết quả bằng các công cụ đã được mô tả sẵn.
POST /mcp
Luôn cùng một quy trình
Một video mất vài phút, không phải vài mili giây: bạn tạo tác vụ, theo dõi trạng thái và lấy tệp về.
- Tạo tác vụ
Một POST với chủ đề hoặc liên kết video. Phản hồi ngay lập tức kèm một mã định danh.
- Theo dõi trạng thái
Gọi GET khoảng mỗi 10 giây: bước, phần trăm, thời gian còn lại. Với Explainer, một webhook có thể báo cho bạn thay thế.
- Lấy video
Khi xong, URL của tệp MP4 nằm trong phản hồi. Tải về hoặc hiển thị trong sản phẩm của bạn.
AI Explainer
Video giải thích từ một chủ đề
POST /api/agent/produce nhận một chủ đề (hoặc một kịch bản, hoặc bản ghi âm) và khởi chạy việc viết rồi dựng video. GET /api/jobs/{id} trả về status, step, percent, rồi url khi video đã sẵn sàng.
- duration_s15 đến 180 giây
- phong cách24 phong cách hình ảnh, cộng thêm của riêng bạn: GET /api/explainer/styles
- voicemột giọng trong danh mục, theo tên hoặc mã định danh
- dry_runtrue: kiểm tra hạn mức và chi phí mà không chạy gì
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
Một máy chủ MCP cho các agent
Một địa chỉ duy nhất https://cliponit.app/mcp, qua HTTP « streamable ». Các công cụ bao quát cả hai sản phẩm: nhập, chờ, tạo và xuất clip, tạo video giải thích và chờ đến khi xong. Những công cụ có thay đổi dữ liệu được đánh dấu để agent hỏi trước.
Claude Desktop và Claude.ai: Cài đặt → Trình kết nối → Thêm trình kết nối tùy chỉnh, với địa chỉ ở trên. Kết nối qua OAuth, không cần sao chép khóa; ChatGPT cũng hoạt động theo cách tương tự. Hướng dẫn từng bước
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": {}}}'Được báo trước thay vì phải hỏi
Trong Cài đặt → Tích hợp, thêm tối đa 3 URL https. Khi một sản phẩm Explainer hoàn tất, ClipOnIt gửi job.done hoặc job.failed tới đó, với cùng đối tượng như GET /api/jobs/{id}. Sáu lần thử lại khi lỗi, trong khoảng 8 giờ.
Với các clip Smart Clipper, hiện chưa có webhook: hãy theo dõi trạng thái bằng 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", ""))Giới hạn và hạn mức theo gói
Các lệnh gọi API được tính như trên giao diện: cùng hạn mức, cùng tài khoản. Xem bảng giá
| Miễn phí | Starter | Pro | Business | |
|---|---|---|---|---|
| API và MCP | — | ✓ | ✓ | ✓ |
| Video Explainer mỗi tháng | — | 15 | 30 | 100 |
| Sản phẩm Explainer chạy đồng thời | — | 2 | 2 | 2 |
| Khóa API theo tài khoản | — | 10 | 10 | 10 |
| Webhook theo tài khoản | — | 3 | 3 | 3 |
Bảo mật
Gọi ClipOnIt từ máy chủ của bạn, đừng bao giờ từ trình duyệt của người dùng.
Chính sách bảo mật- Khóa luôn nằm trên máy chủ của bạn.Khóa này cấp quyền truy cập toàn bộ tài khoản ClipOnIt: đừng bao giờ đặt trong trình duyệt, ứng dụng di động hay kho Git. Hãy lưu trong biến môi trường và gọi ClipOnIt từ backend của bạn.
- Một khóa cho một mục đích, kèm phạm vi.Phạm vi « đọc » (xem, kiểm tra) hoặc « sản xuất » (tạo video). Mỗi khóa có tên, ngày dùng gần nhất và thu hồi chỉ với một cú nhấp: khóa sẽ mất hiệu lực 401 ngay ở lần gọi tiếp theo.
- Bí mật chỉ được hiển thị một lần.ClipOnIt chỉ giữ dấu vân tay của nó (SHA-256). Nếu bị mất, khóa phải được tạo lại, không thể xem lại.
- Webhook có chữ ký.Mỗi lần gửi đều mang X-ClipOnIt-Signature (HMAC-SHA256 của nội dung và dấu thời gian); từ chối mọi yêu cầu cũ hơn 5 phút. URL nhận đều dùng https và được xác minh ở mỗi lần gửi.
- Được lưu trữ tại Liên minh châu Âu.Máy chủ Hetzner ở EU; các nhà thầu phụ được liệt kê trong chính sách bảo mật.
Câu hỏi thường gặp
SDK, widget, độ trễ, hạn mức và khối lượng.
Cần gói nào để dùng API?
Gói miễn phí đủ để bắt đầu: bạn tạo được khóa và máy chủ MCP phản hồi, cho 3 video Explainer mỗi tháng có hình mờ, trong 8 phong cách miễn phí. Các gói trả phí thêm nhiều video hơn (15, 30 hoặc 100 mỗi tháng), không có hình mờ, đủ 24 phong cách, giọng nói của bạn qua micro và Đạo diễn AI. Hạn mức API là của tài khoản, giống như trên giao diện.
Có SDK không?
Hiện chưa có SDK chính thức. API dùng HTTP và JSON, được mô tả bằng OpenAPI 3.1 (/openapi.json): các ví dụ trên trang này chỉ vài dòng với fetch hoặc Python chuẩn, và bạn có thể tạo client từ tệp OpenAPI.
Tôi có thể nhúng trình phát hoặc trình chỉnh sửa ClipOnIt vào trang web của mình không?
Không, không có widget nhúng được. Bạn lấy tệp MP4 và hiển thị trong trình phát của riêng bạn, hoặc tự lưu trữ.
Video mất bao lâu để tạo?
Video giải thích: vài phút (viết rồi dựng, khoảng 4 phút cho khâu dựng). Clip: khoảng 1 đến 5 phút cho 20 phút video, sau đó xuất từng clip. API trả về bước, phần trăm và ước tính thời gian còn lại.
Điều gì xảy ra khi đạt hạn mức?
API trả về 402 kèm thông báo rõ ràng (hết hạn mức của tháng hoặc ngân sách AI), 403 nếu tính năng không có trong gói, 429 nếu hai sản phẩm Explainer đang chạy. Với Explainer, « dry_run »: true sẽ kiểm tra mọi thứ trước khi chạy, không tạo gì và không tính phí.
Tôi muốn tích hợp ClipOnIt cho tất cả người dùng của mình.
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.
Video đầu tiên qua API, ngay hôm nay
Crée une clé, copie un exemple, lance-le. Une question sur ton intégration : contact@cliponit.app.