APIMaster.ai

Xác minh chủ thể và tài sản chân dung

Hướng dẫn APIMaster dùng chung cho xác minh, tài sản và tạo video Seedance.

Xác minh chủ thể và tài sản chân dung

Bốn mô hình dùng chung giao diện APIMaster. Máy chủ ánh xạ API, thông tin xác thực, ID và trạng thái của nhà cung cấp. Xác minh chính chủ chính thức, kiểm duyệt chân dung của kênh và tài sản thông thường hoặc ảo là các quy trình khác nhau. Chỉ gửi ảnh được chủ thể cho phép rõ ràng.

1. Khả năng và phạm vi

Tra cứu khả năng bằng khóa APIMaster. Dùng channel_id trả về để gắn ngữ cảnh. Khả dụng phụ thuộc quyền, dự án và tuyến mô hình. Quy trình không hỗ trợ bị từ chối, không tự đổi kênh hay mô hình. SD1.0, SD1.5 và bí danh tùy chỉnh cần kiểm tra giao thức riêng.

model duration Image Video Audio
seedance-2.0 4–15 s ≤9 ≤3 / ≤15 s ≤3 / ≤15 s
seedance-2.0-fast 4–15 s ≤9 ≤3 / ≤15 s ≤3 / ≤15 s
seedance-2.0-mini 4–15 s ≤9 ≤3 / ≤15 s ≤3 / ≤15 s
seedance-2.5 4–30 s / -1 ≤30 ≤10 / ≤30 s ≤10 / ≤30 s

2. Chọn quy trình

official_h5 yêu cầu tạo phiên rồi chính chủ xác minh trên điện thoại. channel_material_review tạo nhóm purpose=channel_portrait rồi gửi và tra cứu tài sản; owner_verified=false không chứng minh xác minh chính chủ chính thức. purpose=ordinary dành cho tài sản thông thường khi được hỗ trợ. virtual_or_ordinary không cung cấp xác minh chính thức; unverified nghĩa là chưa xác minh khả năng. Bỏ purpose giữ hành vi nhóm ảo hiện có.

curl --fail-with-body 'https://apimaster.ai/v1/seedance2/private-avatar/groups' \
 -H "Authorization: Bearer $APIMASTER_KEY" -H 'Content-Type: application/json' \
 -d "{\"model\":\"seedance-2.5\",\"channel_id\":${APIMASTER_CHANNEL_ID},\"purpose\":\"channel_portrait\",\"name\":\"Authorized portrait materials\"}"

3. Xác minh trên điện thoại

Với official_h5, tạo phiên rồi chính chủ mở h5_link trên điện thoại của mình. APIMaster tiếp nhận callback HTTPS nên khách hàng không cần máy chủ callback riêng. Không gửi callback_url. Khóa dài hạn và BytedToken chỉ lưu trên máy chủ. Kết quả trình duyệt chưa đủ: máy chủ xác nhận với nhà cung cấp. Callback lặp lại không tạo tài nguyên mới.

export APIMASTER_KEY='<your APIMaster key>'
export APIMASTER_CHANNEL_ID='<available channel ID from the capability API>'
curl --fail-with-body 'https://apimaster.ai/v1/seedance2/private-avatar/capabilities?model=seedance-2.5' -H "Authorization: Bearer $APIMASTER_KEY"
curl --fail-with-body 'https://apimaster.ai/v1/seedance2/private-avatar/verifications' \
 -H "Authorization: Bearer $APIMASTER_KEY" -H 'Content-Type: application/json' \
 -H 'Idempotency-Key: portrait-session-001' \
 -d "{\"model\":\"seedance-2.5\",\"channel_id\":${APIMASTER_CHANNEL_ID},\"name\":\"My portrait\"}"

4. Xác nhận kết quả

Sau completed dùng group_id công khai. Trạng thái và thời hạn dưới đây khác thời hạn cho phép sử dụng chân dung. Lỗi mạng tạm thời giữ nguyên trạng thái; không tự tạo phiên mới. Bảng điều khiển: /console/seedance-materials. Phiên, nhóm, tài sản và tác vụ video có ID riêng.

curl --fail-with-body 'https://apimaster.ai/v1/seedance2/private-avatar/verifications/verification_PUBLIC_ID' -H "Authorization: Bearer $APIMASTER_KEY"
API fields / values
capabilities model, channel_id, method, configured, reason, hosted_callback, real_person_verified
verification session_id (id), method, status, h5_link (verification_url), created_at, expires_at, group_id
verification.status creating, pending, completed, failed, expired, failed_unconfirmed, submission_unknown
Idempotency-Key 8–128; same request → original receipt; changed request → 409
verification rate ≤3 / user / minute; upstream limits also apply
H5 / BytedToken single-use H5; query credential ≤30 min; expires_at ≠ portrait authorization expiry

5. Tải lên và kiểm duyệt tài sản

POST /uploads chỉ lưu bản gốc; POST /assets là API chung để đăng ký và kiểm duyệt. POST /v1/seedance2/private-avatar là đường dẫn tương thích của cùng xử lý. Chỉ Active được tạo video; Processing, Pending và Failed không được. Ảnh mới trong nhóm chính thức real_person được kiểm tra cùng người; channel_portrait vẫn là kiểm duyệt tài sản. Thành công một phần giữ lại tài sản đã chấp nhận. Sau timeout, tra cứu tài sản hiện có; không tự lặp POST hoặc suy đoán asset_id.

curl --fail-with-body 'https://apimaster.ai/v1/seedance2/private-avatar/uploads' \
 -H "Authorization: Bearer $APIMASTER_KEY" -F 'file=@authorized-owner.png'
curl --fail-with-body 'https://apimaster.ai/v1/seedance2/private-avatar/assets' \
 -H "Authorization: Bearer $APIMASTER_KEY" -H 'Content-Type: application/json' \
 -H 'Idempotency-Key: portrait-asset-001' \
 -d '{"model":"seedance-2.5","group_id":"group_PUBLIC_ID","asset_type":"Image","assets":[{"url":"<signed upload URL>","name":"Owner"}]}'
curl --fail-with-body 'https://apimaster.ai/v1/tasks/asset_task_PUBLIC_ID' -H "Authorization: Bearer $APIMASTER_KEY"
curl --fail-with-body 'https://apimaster.ai/v1/seedance2/private-avatar/assets?group_id=group_PUBLIC_ID' -H "Authorization: Bearer $APIMASTER_KEY"
curl --fail-with-body 'https://apimaster.ai/v1/seedance2/private-avatar/assets/asset_PUBLIC_ID' -H "Authorization: Bearer $APIMASTER_KEY"
API fields / values
uploads JPEG / PNG ≤10 MB; upload_id, url, url_expires_at, delete_after
groups public id; group_type=virtual / ordinary / channel_portrait / real_person
assets public asset_id; status=Pending / Processing / Active / Failed
channel_material_review verification_method, owner_verified=false, material_purpose, review.scope_model
review task asset_task_*; GET /v1/tasks/{id}

6. Tạo và tải video

Trước khi tạo video, gọi /v1/videos/quote: báo giá không đảm bảo trần phí. Máy chủ giữ kênh, tài khoản và dự án tương thích. Tổ hợp không tương thích bị từ chối. Đổi mô hình vẫn kiểm tra giới hạn đầu vào riêng; ảnh mới cần kiểm duyệt mới. Sau thành công, xem biên nhận phí và tải video.

curl --fail-with-body 'https://apimaster.ai/v1/videos' \
 -H "Authorization: Bearer $APIMASTER_KEY" -H 'Content-Type: application/json' \
 -H 'Idempotency-Key: portrait-video-001' \
 -d '{"model":"seedance-2.5","prompt":"The person smiles naturally","image_urls":["asset://asset_PUBLIC_ID"],"resolution":"480p","duration":4,"generate_audio":false}'
curl --fail-with-body 'https://apimaster.ai/v1/seedance2/private-avatar/video-requests/video_request_PUBLIC_ID' -H "Authorization: Bearer $APIMASTER_KEY"
curl --fail-with-body 'https://apimaster.ai/v1/videos/task_PUBLIC_ID' -H "Authorization: Bearer $APIMASTER_KEY"
curl --fail-with-body 'https://apimaster.ai/v1/videos/task_PUBLIC_ID/billing' -H "Authorization: Bearer $APIMASTER_KEY"
curl --fail-with-body 'https://apimaster.ai/v1/videos/task_PUBLIC_ID/content' -H "Authorization: Bearer $APIMASTER_KEY" -o owner.mp4
API fields / values
generation Idempotency-Key required; no automatic POST retry
receipt video_request_*; X-Seedance-Request-Id; replay → 202 + original receipt
video task task_*; separate from receipt, verification and asset IDs

7. Quyền riêng tư và xóa

Liên kết có chữ ký là thông tin nhạy cảm: người giữ liên kết có thể tải trong thời hạn hiệu lực. Không ghi log liên kết H5, URL có chữ ký hay thông tin callback. Xóa bản gốc không xóa tài sản nhà cung cấp. Xóa tài sản loại bỏ ánh xạ APIMaster và dùng API xóa nhà cung cấp nếu hỗ trợ; không hứa khả năng xóa từ xa chưa có. Xóa tài sản trước nhóm. Video đã tạo không tự biến mất. Không lưu mẫu sinh trắc học; duyệt thành công không thay thế sự cho phép sử dụng.

API / storage values
signed original URL 1 h
hosted original access ≤24 h; hourly cleanup ≤25 h; private files 0600
DELETE /uploads/{upload_id} hosted original
DELETE /assets/{asset_id} APIMaster mapping; upstream deletion if supported
DELETE /groups/{group_id} empty group

8. Chi phí và lỗi

Kiểm tra ngày 2026-10-07: tài liệu chính thức mô tả xác minh miễn phí có thời hạn. Phí thực tế của phiên, duyệt, tải lên, lưu trữ và quản lý tùy ngữ cảnh và chưa xác nhận đầy đủ. Không tự mua gói quyền lợi. Tạo video dùng cơ chế báo giá, tạm giữ, quyết toán và hoàn tiền hiện có; kiểm tra biên nhận thực tế. Lỗi phân biệt quyền, khả năng không hỗ trợ, xác minh hoặc duyệt chờ/thất bại, tài sản không tương thích và kết quả nhà cung cấp chưa rõ. Không truy cập tài nguyên người dùng khác.

HTTP context
400 input / callback
403 permissions
404 resource
409 pending / failed review / incompatible context
429 rate limit
502 / 503 uncertain upstream result / unavailable