1. Hướng Dẫn Sử Dụng API
COCO Studio Document
  • HƯỚNG DẪN SỬ DỤNG COCO STUDIO / COCO STUDIO WEB USER GUIDE
  • Hướng Dẫn Sử Dụng Nâng Cao Chất Lượng Video & Giải Pháp Seedance 2.5
  • Dreamina Seedance 2.0 series prompt guide
  • Dreamina Seedance 2.5 Prompt Guide
  • Hướng Dẫn Sử Dụng API
    • 📖 Coco Partner API – Hướng Dẫn Tích Hợp Hệ Thống Toàn Diện
    • 📖 Hướng Dẫn Tích Hợp Advance Creation API
    • Video — Draft mode (bản nháp)
    • AI Video Upscale API - Hướng Dẫn Sử Dụng
  • MCP
    • 🤖 Coco MCP – Hướng Dẫn Dùng Coco Studio qua AI Agent
  • Model
    • List model video
      GET
    • List model image
      GET
    • List model audio
      GET
  • AI Video Generation
    • Tạo, Sửa hoặc Kéo dài Video AI (Tất cả các chế độ)
      POST
    • Lấy danh sách Video của đối tác
      GET
    • Dự toán chi phí tạo / sửa / kéo dài video
      POST
    • Tra cứu chi tiết & kết quả video
      GET
    • Xóa tác vụ video lỗi
      DELETE
    • Hoàn thiện bản nháp Draft thành bản 1080p chính thức
      POST
  • Advance Creation
    • Đăng ký Asset / Người thật (KYC)
      POST
    • Dự toán chi phí đăng ký Advance Creation
      POST
    • Danh sách Asset Advance Creation
      GET
    • Chi tiết Asset Advance Creation
      GET
    • Xóa Asset Advance Creation
      DELETE
  • AI Video Upscale
    • Tạo tác vụ Upscale Video
      POST
    • Dự toán chi phí Upscale Video
      POST
    • Lấy cấu hình hỗ trợ Upscale
      GET
    • Chi tiết & kết quả Video Upscale
      GET
  • Balance & Account
    • Kiểm tra số dư Credit của đối tác
  • Image
    • Create image
    • Get image detail
    • List Image
    • Delete image fail
  • Audio
    • Create Audio
    • Get audio detail
    • Delete audio fail
    • List audio
  • Upload & Assets
    • Khởi tạo Upload file (Presigned POST)
    • Xác nhận hoàn tất Upload và lấy assetId
    • Lấy giới hạn tải lên của thư viện
  • Schemas
    • ListModelVideoResponse
    • ListModelImageResponse
    • ListModelAudioResponse
    • CreateVideo
    • CreateVideoResponse
    • VideoDetailResponse
    • CreateImage
    • DeleteAudioFailResponse
    • DeleteImageFailResponse
    • CreateImageResponse
    • ListAudioResponse
    • CreateDraftVideoRequest
    • ErrorItem
    • FileItemReference
    • ImageDetailResponse
    • CreateVideoEditingRequest
    • CreateVideoWithMultiReferenceRequest
    • CreateAudio
    • VideoInitResponse
    • CreateVideoExtensionRequest
    • RegisterAdvanceCreationRequest
    • EstimateCostResponse
    • AudioDetailResponse
    • VideoUpscaleListResponse
    • AdvanceCreationItemResponse
    • EstimateUpscaleResponse
    • CreateAdvanceCreation
    • VideoFileReference
    • VideoUpscaleCapabilitiesResponse
    • CreateAdvanceCreationResponse
    • ErrorResponse
    • EstimateResponse
    • EstimateVideoUpscaleRequest
    • CreateVideoRequest
    • ListStorageAdvanceCreationResponse
    • FinalizeVideoRequest
    • EstimateVideoUpscaleResponse
    • DeleteAdvanceCreationResponse
    • VideoTaskCreatedResponse
    • WebhookVideoUpscalePayload
    • ListVideoResponse
    • DeleteVideoFailResponse
    • AdvanceCreationRegisterRequest
    • AdvanceCreationDetailResponse
    • ListImageResponse
    • CreateVideoUpscaleRequest
    • CreateVideoUpscaleResponse
    • VideoUpscaleDetailResponse
    • UploadInitRequest
    • UploadInitResponse
    • UploadCompleteResponse
    • BalanceResponse
  1. Hướng Dẫn Sử Dụng API

📖 Hướng Dẫn Tích Hợp Advance Creation API

2. So sánh: Tệp Người Thật vs Clip do Coco sinh ra#

Tiêu chíTệp người thật ngoài đời (Ảnh/Video thật)Clip do chính Coco AI sinh ra
Bản chất mediaDữ liệu sinh trắc học người thật ngoài đờiHình ảnh tổng hợp nhân tạo (Synthetic AI)
Có cần đăng ký Advance Creation không?BẮT BUỘCHOÀN TOÀN KHÔNG CẦN
Cách sử dụng làm tham chiếuĐăng ký qua POST /advance-creation → Chờ duyệt status = 1 (VERIFIED) → Lấy assetId truyền vào files của POST /videoLấy trực tiếp trường storagePublicId từ kết quả GET /video/:publicId truyền thẳng vào files[].assetId của POST /video
Chi phí lưu trữTính theo chu kỳ của expiredType (2 CC / 15 ngày)Miễn phí, lưu trữ vĩnh viễn theo quota gói

3. Điều kiện tiên quyết (Prerequisites)#

1.
Gói tài khoản TITAN: Chỉ doanh nghiệp nâng cấp lên gói TITAN mới được mở khóa quyền sử dụng khuôn mặt người thật và cấp phép gọi API Advance Creation.
2.
Kích hoạt tính năng & eKYC: Doanh nghiệp phải hoàn tất eKYC xác thực danh tính trên nền tảng Coco Studio Web.
3.
Số dư Coco Credits (CC): Tài khoản cần có đủ số dư CC khả dụng để thanh toán phí lưu trữ tài nguyên.

4. Cơ chế Tính phí & Chi tiết tham số expiredType#

A. Bảng quy đổi giá trị expiredType#

Hệ thống tính thời hạn lưu trữ theo các chu kỳ (block), mỗi chu kỳ cố định là 15 ngày. Mỗi chu kỳ 15 ngày có phí duy trì là 2 CC.
Giá trị expiredTypeTên chu kỳThời hạn sử dụng (retentionDays)Chi phí (Coco Credits)Mô tả & Khuyến nghị
1D1515 ngày2 CCMặc định nếu không truyền. Phù hợp cho chiến dịch ngắn.
2D3030 ngày4 CCDành cho dự án chạy trong 1 tháng.
3D4545 ngày6 CC
4D6060 ngày8 CCDành cho dự án 2 tháng.
5D7575 ngày10 CC
6D9090 ngày12 CCThời hạn lưu trữ tối đa cho 1 lần đăng ký (3 tháng).

B. Công thức tính toán#

Thời hạn lưu trữ (ngày):
Chi phí Credit (CC):

C. Quy trình trừ phí & Hết hạn (Escrow & Expiry)#

1.
Lúc gửi request: Hệ thống tạm giữ (escrow) expiredType * 2 CC từ ví công ty.
2.
Thẩm định thành công: Hệ thống chính thức trừ tiền (confirmEscrow) và mở khóa tệp.
3.
Thẩm định thất bại: Hệ thống tự động hoàn lại 100% số tiền tạm giữ về ví công ty.
4.
Khi hết hạn: Hệ thống chạy Cron Job mỗi 30 phút. Khi quá thời hạn (createdDate + retentionDays), asset tự động đổi sang trạng thái status: 3 (SUSPENDED) với lý do kycStatusText: "Expired" và không thể tiếp tục dùng để tạo video.

5. Vòng đời Trạng thái Asset (status)#

Khi tra cứu tài nguyên qua API, trường status thể hiện tiến trình thẩm định:
[POST /advance-creation] ──► status: 1 (UNVERIFIED / "Processing")
                                     │
                 ┌───────────────────┴───────────────────┐
                 ▼                                       ▼
     status: 2 (VERIFIED)                    status: 3 (SUSPENDED)
  (Thẩm định thành công, sẵn sàng dùng)    (Bị từ chối hoặc Hết hạn lưu trữ)
1 (UNVERIFIED): Đang tải tệp ("Downloading") hoặc đang được AI thẩm định bản quyền ("Processing").
2 (VERIFIED): Đã thẩm định thành công ("Verified"). Tệp hợp lệ để đưa vào mảng files của API tạo video.
3 (SUSPENDED): Bị treo / khóa do bị từ chối thẩm định hoặc đã hết hạn lưu trữ ("Expired").

6. Danh mục Chi tiết các Endpoint REST API#

Base URL: https://api.cocostudio.io
Header bắt buộc: apiKey: YOUR_API_KEY | Content-Type: application/json

A. Đăng ký Asset Người Thật (POST /advance-creation)#

API dùng để đăng ký một tệp ảnh, video hoặc audio người thật lên hệ thống.
Phương thức: POST
Endpoint: /advance-creation

Request Body:#

⚠️ Lưu ý: Chỉ truyền duy nhất 1 trong 2 trường: url (đường dẫn https bên ngoài) HOẶC assetId (tệp đã có sẵn trong kho Storage của công ty).
{
  "url": "https://your-storage-bucket.com/actors/portrait_face.jpg",
  "expiredType": 2
}
hoặc:
{
  "assetId": "550e8400-e29b-41d4-a716-446655440000",
  "expiredType": 1
}

Bảng tham số Request:#

Tham sốKiểuBắt buộcMặc địnhMô tả
urlstringTùy chọnN/AĐường dẫn HTTPS trực tiếp của ảnh/video/audio (tối đa 2048 ký tự). (Loại trừ với assetId)
assetIdstringTùy chọnN/AMã publicId của tệp đã có sẵn trong kho Storage. (Loại trừ với url)
expiredTypeintegerKhông1Gói thời hạn lưu trữ: 1 (15 ngày), 2 (30 ngày), ..., 6 (90 ngày).

Response mẫu (200 OK):#

{
  "assetId": "f83a1b02-5c4d-4e6f-8a8b-0c1d2e3f4a5b",
  "status": 1,
  "createdDate": "2026-10-22T03:30:00.000Z"
}

B. Kiểm tra Trạng thái Xác thực Asset (GET /advance-creation/:publicId)#

API dùng để kiểm tra xem tệp người thật đã được thẩm định thành công hay chưa.
Phương thức: GET
Endpoint: /advance-creation/:publicId (truyền assetId vào :publicId)

1. Response khi tệp Đang được thẩm định (status: 1):#

{
  "assetId": "f83a1b02-5c4d-4e6f-8a8b-0c1d2e3f4a5b",
  "name": "portrait_face.jpg",
  "type": "image",
  "mimeType": "image/jpeg",
  "status": 1,
  "statusText": "Processing",
  "retentionDays": 30,
  "expiresAt": "2026-11-21T03:30:00.000Z",
  "createdDate": "2026-10-22T03:30:00.000Z"
}
(Nếu tải qua URL ngoài, statusText ban đầu có thể là "Downloading" trước khi chuyển sang "Processing").

2. Response khi tệp đã Thẩm định thành công (status: 2 - Sẵn sàng sử dụng):#

{
  "assetId": "f83a1b02-5c4d-4e6f-8a8b-0c1d2e3f4a5b",
  "name": "portrait_face.jpg",
  "type": "image",
  "mimeType": "image/jpeg",
  "status": 2,
  "statusText": "Verified",
  "retentionDays": 30,
  "expiresAt": "2026-11-21T03:30:00.000Z",
  "createdDate": "2026-10-22T03:30:00.000Z"
}
✅ Điều kiện sẵn sàng: Khi status = 2 và statusText = "Verified", bạn mới lấy assetId này đưa vào mảng files của POST /video.

3. Response khi tệp Bị từ chối hoặc Đã hết hạn (status: 3):#

{
  "assetId": "f83a1b02-5c4d-4e6f-8a8b-0c1d2e3f4a5b",
  "name": "portrait_face.jpg",
  "type": "image",
  "mimeType": "image/jpeg",
  "status": 3,
  "statusText": "Expired",
  "retentionDays": 30,
  "expiresAt": "2026-11-21T03:30:00.000Z",
  "createdDate": "2026-10-22T03:30:00.000Z"
}

C. Lấy Danh sách Asset Advance Creation (GET /advance-creation)#

API lấy danh sách các tệp người thật của doanh nghiệp kèm phân trang.
Phương thức: GET
Endpoint: /advance-creation?page=1&size=20

Query Parameters:#

page (integer, tùy chọn): Số trang (mặc định: 1).
size (integer, tùy chọn): Số lượng mục mỗi trang (mặc định: 10, tối đa: 500).
⚠️ Lưu ý: Hệ thống sử dụng tham số size để phân trang. Không dùng limit (nếu truyền limit, hệ thống sẽ bỏ qua và mặc định trả về 10 dòng).

Response mẫu (200 OK):#

{
  "total": 1,
  "rows": [
    {
      "assetId": "f83a1b02-5c4d-4e6f-8a8b-0c1d2e3f4a5b",
      "name": "portrait_face.jpg",
      "type": "image",
      "mimeType": "image/jpeg",
      "status": 2,
      "statusText": "Verified",
      "retentionDays": 30,
      "expiresAt": "2026-11-21T03:30:00.000Z",
      "createdDate": "2026-10-22T03:30:00.000Z"
    }
  ]
}

D. Ước tính Chi phí Đăng ký (POST /advance-creation/estimate)#

Dự toán số tiền CC cần chi trả trước khi đăng ký tệp.
Phương thức: POST
Endpoint: /advance-creation/estimate
Body: Giống như POST /advance-creation.

Response mẫu (200 OK):#

{
  "amount": 4,
  "currency": "CCC"
}

E. Xóa Asset Advance Creation (DELETE /advance-creation/:publicId)#

Hủy và xóa tài nguyên người thật khỏi hệ thống.
Phương thức: DELETE
Endpoint: /advance-creation/:publicId

Response mẫu (200 OK):#

{
  "success": true
}

7. Quy Trình Tích Hợp Hoàn Chỉnh (End-to-End Flow)#

Dưới đây là mã lệnh minh họa quy trình từ lúc đăng ký khuôn mặt người thật cho đến khi tạo video thành công:
[Client]                                  [Coco Partner API]
   │                                               │
   │─── 1. POST /advance-creation ────────────────►│ (Tạm giữ 2 CC, đẩy sang BytePlus)
   │◄── Trả về assetId, status: 1 (UNVERIFIED) ───│
   │                                               │
   │─── 2. Polling GET /advance-creation/:assetId ─►│
   │◄── Trả về status: 2 (VERIFIED) ───────────────│ (Đã duyệt bản quyền khuôn mặt)
   │                                               │
   │─── 3. POST /video (files: [{assetId}]) ───────►│ (Tạo video với nhân vật người thật)
   │◄── Trả về publicId tác vụ video ──────────────│

Bước 1: Đăng ký tệp người thật#

Nhận về: assetId: "f83a1b02-5c4d-4e6f-8a8b-0c1d2e3f4a5b"

Bước 2: Kiểm tra cho đến khi status: 2 (VERIFIED)#

Bước 3: Tạo video sử dụng nhân vật đã được duyệt#


8. Bảng mã lỗi thường gặp (Troubleshooting)#

HTTP CodeThông báo lỗiNguyên nhân & Cách khắc phục
400Provide exactly one of url or assetIdKhông truyền cả hai hoặc truyền đồng thời cả url và assetId.
400expiredType must be one of 1, 2, 3, 4, 5, 6Truyền expiredType nằm ngoài khoảng giá trị quy định.
400Your balance (...) is not enough to upload this file (...)Số dư tài khoản không đủ để thanh toán phí lưu trữ.
400Advance Creation is not enabled for your company...Tài khoản chưa mua gói TITAN hoặc chưa hoàn tất eKYC.
400Asset ... is still being verifiedĐưa asset vào POST /video khi trạng thái vẫn đang là UNVERIFIED. Cần đợi chuyển sang VERIFIED.
400Asset ... is suspended (rejected or expired)Asset đã bị BytePlus từ chối thẩm định hoặc đã hết hạn lưu trữ (expiredType). Cần đăng ký lại.
Modified at 2026-10-23 05:17:04
Previous
📖 Coco Partner API – Hướng Dẫn Tích Hợp Hệ Thống Toàn Diện
Next
Video — Draft mode (bản nháp)
Built with