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).
/api/v1/videosXác thực
Authorizationbắt buộcAPI key dưới dạng bearer token trong header Authorization.
Body
modelbắt buộcID model tạo video (định dạng có tiền tố nhà cung cấp).
"alibaba/wan2.7-t2v"promptbắt buộcPrompt văn bản mô tả video cần tạo.
durationĐộ 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.
5resolutionBậ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"720p"aspect_ratioTỷ 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"16:9"frame_imagesẢ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_referencesTà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_videoVideo 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_audioCó 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.
watermarkCó đó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.
seedSeed lấy mẫu. Đảm bảo tái lập phụ thuộc vào model.
callback_urlURL 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ề.