Bỏ qua

Chuyển đổi phương tiện sang MP3

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.

Endpoint https://api.revidapi.com/paid/media/convert/mp3 là một phần của ứng dụng Flask API và chịu trách nhiệm chuyển đổi các tệp phương tiện khác nhau sang định dạng MP3.

Chi tiết Endpoint

URL Path: https://api.revidapi.com/paid/media/convert/mp3

1. Tổng quan

Endpoint https://api.revidapi.com/paid/media/convert/mp3 là một phần của chức năng chuyển đổi phương tiện của API. Nó cho phép người dùng chuyển đổi các tệp phương tiện khác nhau (âm thanh hoặc video) sang định dạng MP3.

Tutorials RevidAPI

2. Endpoint

POST https://api.revidapi.com/paid/media/convert/mp3

3. Yêu cầu

Headers

  • x-api-key (bắt buộc): API key để xác thực.

Tham số Body

  • media_url (bắt buộc, string): URL của tệp phương tiện cần chuyển đổi.
  • webhook_url (tùy chọn, string): URL để nhận thông báo webhook khi hoàn tất.
  • id (tùy chọn, string): Mã định danh duy nhất cho yêu cầu.
  • bitrate (tùy chọn, string): Bitrate mong muốn cho tệp MP3 đầu ra, theo định dạng <value>k (ví dụ: 128k). Nếu không được cung cấp, mặc định là 128k.

Directive validate_payload trong tệp routes áp dụng schema JSON sau cho body yêu cầu:

{
    "type": "object",
    "properties": {
        "media_url": {"type": "string", "format": "uri"},
        "webhook_url": {"type": "string", "format": "uri"},
        "id": {"type": "string"},
        "bitrate": {"type": "string", "pattern": "^[0-9]+k$"}
    },
    "required": ["media_url"],
    "additionalProperties": False
}

Ví dụ yêu cầu

{
    "media_url": "https://example.com/video.mp4",
    "webhook_url": "https://example.com/webhook",
    "id": "unique-request-id",
    "bitrate": "192k"
}
curl -X POST \
     -H "x-api-key: YOUR_API_KEY" \
     -H "Content-Type: application/json" \
     -d '{"media_url": "https://example.com/video.mp4", "webhook_url": "https://example.com/webhook", "id": "unique-request-id", "bitrate": "192k"}' \
     https://api.revidapi.com/paid/media/convert/mp3

4. Phản hồi

Phản hồi thành công

Phản hồi thành công tuân theo cấu trúc phản hồi chung được định nghĩa trong app.py. Đây là ví dụ:

{
    "endpoint": "/v1/media/convert/mp3",
    "code": 200,
    "id": "unique-request-id",
    "job_id": "a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6",
    "response": "https://cloud-storage.example.com/converted-file.mp3",
    "message": "success",
    "pid": 12345,
    "queue_id": 6789,
    "run_time": 5.234,
    "queue_time": 0.123,
    "total_time": 5.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 không hợp lệ hoặc thiếu tham số bắt buộc.
  • 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: 'media_url' is a required property",
    "pid": 12345,
    "queue_id": 6789,
    "queue_length": 0,
    "build_number": "1.0.0"
}

5. Xử lý lỗi

Endpoint xử lý các lỗi phổ biến sau:

  • Thiếu hoặc tham số media_url không hợp lệ: Trả về lỗi 400 Bad Request.
  • Tham số bitrate không hợp lệ: Trả về lỗi 400 Bad Request.
  • Lỗi xác thực: Trả về lỗi 401 Unauthorized.
  • Ngoại lệ không mong muốn trong quá trình chuyển đổi: Trả về lỗi 500 Internal Server Error.

Ngoài ra, ngữ cảnh ứng dụng chính (app.py) bao gồm xử lý lỗi cho quá tải hàng đợi. Nếu đạt đến độ dài hàng đợi tối đa, endpoint sẽ trả về lỗi 429 Too Many Requests.

6. Ghi chú sử dụng

  • Tham số media_url nên trỏ đến tệp phương tiện hợp lệ (âm thanh hoặc video) có thể được chuyển đổi sang định dạng MP3.
  • 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 có thể được sử dụng để xác định duy nhất yêu cầu, điều này có thể hữu ích cho mục đích theo dõi và ghi nhật ký.
  • Tham số bitrate cho phép bạn chỉ định bitrate mong muốn cho tệp MP3 đầu ra. Nếu không được cung cấp, bitrate mặc định 128k sẽ được sử dụng.

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.
  • Cố gắng chuyển đổi các định dạng phương tiện không được hỗ trợ.
  • Vượt quá độ dài hàng đợi tối đa, dẫn đến lỗi 429 Too Many Requests.

8. Thực hành tốt nhất

  • Xác thực tham số media_url trước khi gửi yêu cầu để đảm bảo nó trỏ đến tệp phương tiện hợp lệ và có thể truy cập.
  • Cân nhắc cung cấp tham số webhook_url để nhận thông báo về việc hoàn tất quá trình chuyển đổi.
  • Sử dụng tham số id duy nhất cho mỗi yêu cầu để hỗ trợ theo dõi và ghi nhật ký.
  • Triển khai cơ chế thử lại trong trường hợp lỗi tạm thời hoặc tình huống quá tải hàng đợ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.

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.

Endpoint https://api.revidapi.com/paid/media/convert/mp3 là một phần của ứng dụng Flask API và chịu trách nhiệm chuyển đổi các tệp phương tiện khác nhau sang định dạng MP3.

Chi tiết Endpoint

URL Path: https://api.revidapi.com/paid/media/convert/mp3


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
}