Chạy request đầu tiên trong 5 phút. Ví dụ mặc định dùng gói 720p Tiêu chuẩn ($0.61/clip).
Bốn bước: lấy key → gửi task → nhận kết quả → lặp lại. Ví dụ dưới dùng gói 720p Tiêu chuẩn ($0.61/clip) — đây là gói nên bắt đầu.
Mở bàn điều khiển — tài khoản tự tạo, tặng ngay lượt dùng thử. Trong môi trường hiện tại, API key chính là ID tài khoản của bạn.
curl -X POST https://coursequill.com/api/tram-job \
-H "Content-Type: application/json" \
-d '{
"uid": "YOUR_API_KEY",
"type": "video",
"tier": "p720",
"seconds": 5,
"prompt": "Video quảng cáo cà phê sáng, phong cách Sài Gòn"
}'import requests
r = requests.post("https://coursequill.com/api/tram-job", json={
"uid": "YOUR_API_KEY",
"type": "video",
"tier": "p720",
"seconds": 5,
"prompt": "Video quảng cáo cà phê sáng, phong cách Sài Gòn"
})
print(r.json()) # {"ok": true, "jobId": "...", "cost": 122, "balance": ...}const r = await fetch("https://coursequill.com/api/tram-job", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
uid: "YOUR_API_KEY",
type: "video",
tier: "p720",
seconds: 5,
prompt: "Video quảng cáo cà phê sáng, phong cách Sài Gòn"
})
});
console.log(await r.json());curl "https://coursequill.com/api/tram-job?id=YOUR_API_KEY"
Trước khi submit, bạn có thể kiểm tra chi phí chính xác qua /api/quote — dùng cùng một bộ tính giá với lúc trừ tiền:
curl "https://coursequill.com/api/quote?type=video&tier=p720&seconds=10"
# {"ok":true,"units":2,"credits":244,"usd":1.22,"vnd":31110}
Giai đoạn hiện tại dùng uid (ID tài khoản) làm khóa. Giữ bí mật — ai có uid đều dùng được ví của bạn. Không đặt uid trong code chạy trên trình duyệt của ngườoi dùng cuối.
POST /api/tram-job với JSON:
| Trường | Kiểu | Mô tả |
|---|---|---|
uid | string | Bắt buộc. ID tài khoản / API key. |
type | string | video | image | llm |
tier | string | Chỉ cho video: p480 / p720 / p720hq / p1080 / p4k / lipsync. Mặc định p720. |
seconds | number | Chỉ cho video: 5 / 10 / 15 / 30… tính theo bội số 5 giây. Mặc định 5. |
prompt | string | Bắt buộc, tối thiểu 2 ký tự, tối đa 2000. |
imageUrl | string | Tùy chọn. Ảnh đầu vào cho ảnh → video. |
Phản hồi thành công: {"ok":true,"jobId","balance","cost","units","status"}. Nếu tất cả nguồn lỗi: status:"failed" và credit tự hoàn (refunded:true).
Hiện tại kết quả trả đồng bộ trong phản hồi. Webhook cho task dài (event job.succeeded / job.failed) đang hoàn thiện — khách cam kết tháng sẽ được ưu tiên kích hoạt. Để lại lời nhắn để đăng ký trước.
| Tier | Dùng khi | $/5s | credit |
|---|---|---|---|
p480 | Preview nhanh, duyệt ý tưởng trước khi render thật | $0.30 | 60 |
p720 | Mặc định. Video MXH, quảng cáo ngắn — đủ tốt cho 90% nhu cầu | $0.61 | 122 |
p720hq | Chuyển động phức tạp, sản phẩm cần nét hơn ở 720p | $1.20 | 240 |
p1080 | Video thành phẩm đăng kênh chính thức, màn hình lớn vừa | $4.50 | 900 |
p4k | TVC, thương hiệu, màn hình LED lớn | $9.20 | 1840 |
lipsync | Cần ngườoi nói tiếng Việt khớp khẩu hình | $3.40 | 680 |
Mẹo: không chắc thì cứ p720. Muốn rẻ hơn khi thử prompt thì p480, hài lòng rồi mới render p720 trở lên.
Video thoại tiếng Việt dùng tier lipsync — giọng bản địa, khớp khẩu hình theo âm thanh. Mọi nội dung đầu ra đều mang nhãn máy đọc được, tuân thủ Nghị định 142/2026 về nhận diện nội dung do AI tạo. Bạn có thể dùng trực tiếp trong chiến dịch mà không cần xử lý thêm.
| Mã | Ý nghĩa | Có hoàn điểm? |
|---|---|---|
empty_prompt | Prompt trống hoặc quá ngắn | Không trừ tiền |
insufficient | Số dư không đủ (HTTP 402) | Không trừ tiền |
bad_tier | Tier không hợp lệ | Không trừ tiền |
bad_seconds | Thờoi lượng ngoài 1–300 giây | Không trừ tiền |
failed | Tất cả nguồn đều lỗi sau khi đã trừ | Tự hoàn toàn bộ |
Để lại lời nhắn kèm đoạn code bạn đang viết — chúng tôi hỗ trợ ghép API vào sản phẩm của bạn trong giờ làm việc.