BazaarLinkBazaarLink
Đăng nhập
Tài liệuTham chiếu APITham chiếu SDKSử dụng AgentKỹ năng AI
Video

Gửi yêu cầu tạo video

Gửi một job tạo video bất đồng bộ. Trả về 202 ngay lập tức với id job (tiền tố vjob_); poll GET /api/v1/videos/{id} cho đến khi status là completed, rồi tải xuống qua unsigned_urls. Thanh toán: credit được giữ trước khi gửi theo duration × resolution và quyết toán theo số giây thực tế được giao (usage.cost trong phản hồi poll).

POST/api/v1/videos

Xác thực

Authorizationbắt buộc
string · header

API key dưới dạng bearer token trong header Authorization.

Body

modelbắt buộc
string

ID model tạo video (định dạng có tiền tố nhà cung cấp).

Example: "alibaba/wan2.7-t2v"
promptbắt buộc
string

Prompt văn bản mô tả video cần tạo.

duration
integer

Độ dài video tính bằng giây. Mặc định 2. Mỗi model có giới hạn riêng — ví dụ reference-to-video (r2v) cho phép 2–10 giây; giá trị ngoài phạm vi trả về 400 trước khi giữ credit.

1–600 (per-model bounds are tighter; reference-to-video: 2–10)
Example: 5
resolution
string

Bậc chất lượng đầu ra, mặc định "720p". Các bậc được hỗ trợ khác nhau theo model; bậc không được hỗ trợ trả về 400 trước khi giữ credit, và lỗi liệt kê các bậc model hỗ trợ.

480p720p1080p
Example: "720p"
aspect_ratio
string

Tỷ lệ khung hình. Giá trị phổ biến: "16:9", "9:16", "1:1", "4:3", "3:4"; tập chính xác phụ thuộc model (một số nhận cả tỷ lệ rộng như "21:9"). Tổ hợp không được hỗ trợ trả về 400 trước khi giữ credit; chế độ có khung hình đầu vào lấy tỷ lệ từ khung và bỏ qua trường này.

16:99:161:14:33:43:22:321:99:21
Example: "16:9"
frame_images
array

Ảnh khung hình đầu/cuối (image-to-video, keyframe-to-video). Chấp nhận chuỗi URL, hoặc đối tượng { type: "image", image_url: { url }, frame_type: "first" | "last" }.

input_references
object[] | string[]

Tài sản tham chiếu (reference-to-video): dẫn hướng việc tạo bằng các mục tham chiếu — nên dùng dạng đối tượng { type: "image", image_url: { url } } (chuỗi URL cũng được chấp nhận, coi là tham chiếu ảnh). Tham chiếu ảnh được hỗ trợ rộng nhất; đối tượng tham chiếu âm thanh/video được chuyển tiếp nguyên trạng và chỉ hiệu lực trên model hỗ trợ — model khác chỉ dùng tham chiếu ảnh. Chỉ model có chế độ r2v nhận trường này.

input_video
string | object

Video nguồn (chỉ model chỉnh sửa video; trường mở rộng của BazaarLink). Chấp nhận chuỗi URL, { video_url: { url } } hoặc { url }. Model không phải chỉnh sửa video sẽ bỏ qua. Chỉnh sửa tính phí theo số giây nguồn + số giây đầu ra.

generate_audio
boolean

Có tạo cả âm thanh hay không. Chỉ hiệu lực trên model hỗ trợ âm thanh; số giây có âm thanh tính giá mỗi giây cao hơn.

watermark
boolean

Có đóng dấu watermark lên đầu ra hay không. Mặc định false — BazaarLink chủ động tắt watermark mặc định trừ khi bạn truyền true rõ ràng.

seed
number

Seed lấy mẫu. Đảm bảo tái lập phụ thuộc vào model.

callback_url
string

URL webhook được gọi khi job đạt trạng thái cuối, giúp bạn không cần poll. Chỉ HTTPS, và được kiểm tra SSRF (từ chối địa chỉ riêng/nội bộ) trước khi giữ bất kỳ credit nào. Chỉ kích hoạt đúng một lần, từ yêu cầu thắng trong việc xác định trạng thái cuối; việc gửi được thử lại khi thất bại (2 lần, giãn cách 2s/8s), và hết lượt thử lại không ảnh hưởng đến thanh toán hay trạng thái thực của job. Không có chữ ký trong v1 — coi callback là gợi ý, xác nhận trạng thái/số tiền bằng cách gọi GET /v1/videos/{id} với API key của bạn trước khi hành động. ⚠️ unsigned_urls trong payload webhook là URL tuyệt đối, khác với đường dẫn tương đối mà endpoint poll trả về.

https:// only, ≤2048 chars

Hướng dẫn chi tiết →

POST /api/v1/videos
curl https://bazaarlink.ai/api/v1/videos \
  -H "Authorization: Bearer $BAZAARLINK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "alibaba/wan2.7-t2v",
    "prompt": "a corgi surfing a wave at sunset",
    "duration": 5,
    "resolution": "720p",
    "aspect_ratio": "16:9"
  }'
Ví dụ phản hồi

Job đã được nhận (bất đồng bộ). Poll polling_url được trả về (GET /api/v1/videos/{id}) để xem trạng thái; khuyến nghị khoảng cách ≥5 giây.

{
  "id": "vjob_Xk3fJ9aQ2mB7cD1eF5gH6iJk",
  "status": "pending",
  "polling_url": "/api/v1/videos/vjob_Xk3fJ9aQ2mB7cD1eF5gH6iJk"
}
Support
Support
Hi! How can we help you?
Send a message and we'll get back to you soon.
Gửi yêu cầu tạo video — BazaarLink API