Tài liệu Endpoint Chuyển đổi phương tiện
Giá cả
25 credits cho mỗi yêu cầu
Chi phí cố định bất kể độ dài phương tiện hay kích thước tệp.
1. Tổng quan
Endpoint https://api.revidapi.com/paid/media/convert là một phần của ứng dụng Flask API và chịu trách nhiệm chuyển đổi tệp phương tiện (âm thanh hoặc video) từ định dạng này sang định dạng khác.
2. Endpoint
URL Path: https://api.revidapi.com/paid/media/convert
HTTP Method: POST
3. Yêu cầu
Headers
x-api-key(bắt buộc): API key để xác thực.
Tham số Body
Body yêu cầu phải là đối tượng JSON với các thuộc tính sau:
media_url(bắt buộc, string): URL của tệp phương tiện cần chuyển đổi.format(bắt buộc, string): Định dạng đầu ra mong muốn cho tệp phương tiện đã chuyển đổi.video_codec(tùy chọn, string): Codec video để sử dụng cho việc chuyển đổi. Mặc định làlibx264.video_preset(tùy chọn, string): Preset video để sử dụng cho việc chuyển đổi. Mặc định làmedium.video_crf(tùy chọn, number): Giá trị Constant Rate Factor (CRF) cho mã hóa video. Phải nằm trong khoảng từ 0 đến 51. Mặc định là 23.audio_codec(tùy chọn, string): Codec âm thanh để sử dụng cho việc chuyển đổi. Mặc định làaac.audio_bitrate(tùy chọn, string): Bitrate âm thanh để sử dụng cho việc chuyển đổi. Mặc định là128k.webhook_url(tùy chọn, string): URL để nhận thông báo webhook khi quá trình chuyển đổi hoàn tất.id(tùy chọn, string): Mã định danh tùy chọn cho yêu cầu chuyển đổi.
Ví dụ yêu cầu
{
"media_url": "https://example.com/video.mp4",
"format": "avi",
"video_codec": "libx264",
"video_preset": "medium",
"video_crf": 23,
"audio_codec": "aac",
"audio_bitrate": "128k",
"webhook_url": "https://example.com/webhook",
"id": "unique-request-id"
}
curl -X POST \
https://api.revidapi.com/paid/media/convert \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"media_url": "https://example.com/video.mp4",
"format": "avi",
"video_codec": "libx264",
"video_preset": "medium",
"video_crf": 23,
"audio_codec": "aac",
"audio_bitrate": "128k",
"webhook_url": "https://example.com/webhook",
"id": "unique-request-id"
}'
4. Phản hồi
Phản hồi thành công
Phản hồi thành công sẽ là đối tượng JSON chứa URL của tệp phương tiện đã chuyển đổi được tải lên cloud storage, đường dẫn endpoint, và mã trạng thái 200.
{
"code": 200,
"id": "unique-request-id",
"job_id": "a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6",
"response": "https://cloud.example.com/converted-video.avi",
"message": "success",
"pid": 12345,
"queue_id": 1234567890,
"run_time": 10.234,
"queue_time": 0.123,
"total_time": 10.357,
"queue_length": 0,
"build_number": "1.0.0"
}
Phản hồi lỗi
- 400 Bad Request: Được trả về khi payload yêu cầu bị thiếu hoặc không hợp lệ.
- 401 Unauthorized: Được trả về khi header
x-api-keybị thiếu hoặc không hợp lệ. - 500 Internal Server Error: Được trả về khi có lỗi không mong muốn xảy ra trong quá trình chuyển đổi.
Ví dụ phản hồi lỗi:
{
"code": 400,
"id": "unique-request-id",
"job_id": "a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6",
"message": "Invalid request payload",
"pid": 12345,
"queue_id": 1234567890,
"queue_length": 0,
"build_number": "1.0.0"
}
5. Xử lý lỗi
Endpoint sử dụng decorator validate_payload để xác thực payload yêu cầu theo JSON schema. Nếu payload bị thiếu hoặc không hợp lệ, lỗi 400 Bad Request được trả về.
Decorator authenticate được sử dụng để đảm bảo rằng yêu cầu bao gồm header x-api-key hợp lệ. Nếu header bị thiếu hoặc không hợp lệ, lỗi 401 Unauthorized được trả về.
Nếu có lỗi không mong muốn xảy ra trong quá trình chuyển đổi, lỗi 500 Internal Server Error được trả về và lỗi được ghi nhật ký.
6. Ghi chú sử dụng
- Tham số
media_urlphải là URL hợp lệ trỏ đến tệp phương tiện cần chuyển đổi. - Tham số
formatphải là định dạng phương tiện hợp lệ được hỗ trợ bởi quá trình chuyển đổi. - Các tham số tùy chọn (
video_codec,video_preset,video_crf,audio_codec,audio_bitrate) cho phép bạn tùy chỉnh cài đặt chuyển đổi. - Nếu tham số
webhook_urlđược cung cấp, thông báo webhook sẽ được gửi đến URL đã chỉ định khi quá trình chuyển đổi hoàn tất. - Tham số
idlà tùy chọn và có thể được sử dụng để xác định yêu cầu chuyển đổi.
7. Vấn đề thường gặp
- Cung cấp
media_urlkhông hợp lệ hoặc không thể truy cập. - Chỉ định
formatkhông được hỗ trợ. - Cung cấp giá trị không hợp lệ cho các tham số tùy chọn (ví dụ:
video_crfngoài phạm vi hợp lệ).
8. Thực hành tốt nhất
- Luôn xác thực các tham số đầu vào ở phía máy khách trước khi gửi yêu cầu.
- Sử dụng tham số
idđể theo dõi và xác định các yêu cầu chuyển đổi. - Cung cấp
webhook_urlđể nhận thông báo về việc hoàn tất quá trình chuyển đổi. - Giám sát nhật ký API để tìm bất kỳ lỗi hoặc vấn đề nào trong quá trình chuyển đổi.
- Cân nhắc triển khai giới hạn tốc độ hoặc quản lý hàng đợi để xử lý khối lượng yêu cầu cao.
Giá cả
25 credits cho mỗi yêu cầu
Chi phí cố định bất kể độ dài phương tiện hay kích thước tệp.
Kiểm tra Trạng thái Công việc
Sau khi gửi một công việc, bạn có thể kiểm tra trạng thái của nó bằng cách sử dụng job_id được trả về trong phản hồi.
Endpoint
URL Path: https://api.revidapi.com/paid/get/job/status
HTTP Method: POST
Yêu cầu
Headers
x-api-key(bắt buộc): API key để xác thực.Content-Type:application/json
Tham số Body
{
"job_id": "a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6"
}
Ví dụ Yêu cầu
curl -X POST \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"job_id": "a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6"}' \
https://api.revidapi.com/paid/get/job/status
Phản hồi
Phản hồi Thành công
{
"endpoint": "/v1/toolkit/job/status",
"code": 200,
"id": null,
"job_id": "a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6",
"response": {
"job_status": "done",
"job_id": "a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6",
"queue_id": 140368864456064,
"process_id": 123456,
"response": {
"endpoint": "/v1/endpoint/name",
"code": 200,
"id": "request-123",
"job_id": "a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6",
"response": "https://cloud-storage.example.com/output.mp4",
"message": "success",
"pid": 123456,
"queue_id": 140368864456064,
"run_time": 2.345,
"queue_time": 0.123,
"total_time": 2.468,
"queue_length": 0,
"build_number": "1.0.0"
}
},
"message": "success",
"pid": 123456,
"queue_id": 140368864456064,
"run_time": 0.001,
"queue_time": 0.0,
"total_time": 0.001,
"queue_length": 0,
"build_number": "1.0.0"
}
Phản hồi Lỗi
- 404 Not Found: Nếu không tìm thấy công việc với
job_idđược cung cấp:
{
"error": "Job not found",
"job_id": "a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6"
}
- 500 Internal Server Error: Nếu xảy ra lỗi không mong muốn:
{
"error": "Failed to retrieve job status: <error_message>",
"code": 500
}