Bỏ qua

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.

Tutorials RevidAPI

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-key bị 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_url phải là URL hợp lệ trỏ đến tệp phương tiện cần chuyển đổi.
  • Tham số format phả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ố id là 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_url không hợp lệ hoặc không thể truy cập.
  • Chỉ định format khô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_crf ngoà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
}