Gửi yêu cầu tạo video
Gửi job tạo video bất đồng bộ và trả về 202 cùng job ID ngay lập tức. Poll GET /v1/videos/{id} đến khi completed hoặc failed; khi hoàn tất, tải video từ unsigned_urls. Credit được giữ khi gửi dựa trên duration và resolution, dùng ước tính trường hợp xấu nhất khi cần. Sau khi hoàn tất, usage.cost là số USD tính cho khách hàng theo số giây thực tế được giao.
/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).
"bytedance/seedance-2.0"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ề.