job_id ngay lập tức; quá trình xử lý là bất đồng bộ, bạn cần kiểm tra trạng thái định kỳ rồi tải về kết quả.
Các job FFmpeg yêu cầu gói trả phí. Tài khoản chưa kích hoạt gói có 0 phút FFmpeg. Kích hoạt gói Starter trở lên để sử dụng tính năng này.
Quy trình hoạt động của một job
1
Gửi
POST đến
/v1/ffmpeg/jobs với một hoặc nhiều URL nguồn và một lệnh FFmpeg. API xác thực lệnh, đặt trước quota và đưa job vào hàng đợi. Bạn nhận được job_id.2
Kiểm tra
GET
/v1/ffmpeg/jobs/:id cho đến khi status là finished.3
Tải về
GET
/v1/ffmpeg/jobs/:id/result để nhận file đã xử lý dưới dạng stream.Gửi một job
Body của request
Response
Kiểm tra trạng thái
Response
duration_sec là null cho đến khi job hoàn thành; giá trị thực tế của thời lượng đầu ra sẽ được điền vào sau khi hoàn tất.
Tải về kết quả
Khistatus là finished, hãy stream file đầu ra:
Content-Disposition: attachment. Bạn có thể lưu ra file hoặc giữ trong bộ nhớ.
Quy tắc lệnh
Trườngfull_command phải đáp ứng tất cả các quy tắc sau. Request vi phạm sẽ trả về 400 invalid_request trước khi tiêu tốn bất kỳ quota nào.
Ký tự xuống dòng trong lệnh được tự động chuyển thành khoảng trắng, nên bạn có thể dán lệnh nhiều dòng trực tiếp.
Phần mở rộng đầu ra được phép
output_extension phải là một trong các giá trị sau (không có dấu chấm ở đầu):
Bất kỳ giá trị nào khác sẽ trả về
400 invalid_request.
Quota và thanh toán
Mức sử dụng FFmpeg được tính bằng phút FFmpeg. Trong v1, mỗi job có chi phí cố định là 1 phút, bất kể thời lượng thực tế của đầu ra. Quota được đặt trước tại thời điểm gửi và được hoàn lại tự động nếu job không thể vào hàng đợi. Giới hạn hàng tháng theo gói. Hạn mức này tính cho cả tài khoản: không nhân theo số Profile, mọi thương hiệu của bạn dùng chung một quota.
Khi hết quota hàng tháng, API trả về
429 quota_exceeded. Hạn mức được đặt lại vào đúng ngày trong tháng mà gói của bạn được kích hoạt (giờ Việt Nam, UTC+7), không phải ngày mùng 1. Mức sử dụng cho biết chính xác ngày bắt đầu và ngày gia hạn của chu kỳ hiện tại.
Xác thực và giới hạn tốc độ
Tất cả endpoint FFmpeg đều dùng chung cơ chế xác thực Bearer API key với phần còn lại của MADIAD Hub, xem Xác thực. Giới hạn tốc độ là 120 request/phút mỗi tài khoản trên tất cả endpoint FFmpeg. Vượt quá giới hạn này sẽ nhận429 kèm header Retry-After cho biết thời gian cần chờ.
Quyền sở hữu job
Job chỉ thuộc về tài khoản đã tạo ra nó. Kiểm tra trạng thái hoặc tải về job của tài khoản khác sẽ trả về404 not_found, không có quyền truy cập chéo tài khoản.

