Bỏ qua

Endpoint Phát hiện khoảng lặng

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/silence là một phần của Media API và được thiết kế để phát hiện các khoảng lặng trong một tệp phương tiện đã cho. Nó nhận URL phương tiện, cùng với các tham số khác nhau để cấu hình quá trình phát hiện khoảng lặng, và trả về các khoảng lặng được phát hiện.

2. Endpoint

POST https://api.revidapi.com/paid/media/silence

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 nên là đối tượng JSON với các tham số sau:

  • media_url (bắt buộc, string): URL của tệp phương tiện cần xử lý.
  • start (tùy chọn, string): Thời gian bắt đầu cho quá trình phát hiện khoảng lặng, theo định dạng HH:MM:SS.ms. Nếu không được cung cấp, quá trình sẽ bắt đầu từ đầu tệp phương tiện.
  • end (tùy chọn, string): Thời gian kết thúc cho quá trình phát hiện khoảng lặng, theo định dạng HH:MM:SS.ms. Nếu không được cung cấp, quá trình sẽ tiếp tục cho đến cuối tệp phương tiện.
  • noise (tùy chọn, string): Ngưỡng nhiễu cho phát hiện khoảng lặng, tính bằng decibel (dB). Mặc định là -30dB.
  • duration (bắt buộc, number): Thời lượng tối thiểu (tính bằng giây) để một khoảng lặng được coi là hợp lệ.
  • mono (tùy chọn, boolean): Có xử lý âm thanh dưới dạng mono (kênh đơn) hay không. Mặc định là true.
  • webhook_url (bắt buộc, string): URL nơi phản hồi sẽ được gửi dưới dạng webhook.
  • id (bắt buộc, string): Mã định danh duy nhất cho yêu cầu.

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"},
        "start": {"type": "string"},
        "end": {"type": "string"},
        "noise": {"type": "string"},
        "duration": {"type": "number", "minimum": 0.1},
        "mono": {"type": "boolean"},
        "webhook_url": {"type": "string", "format": "uri"},
        "id": {"type": "string"}
    },
    "required": ["media_url", "duration"],
    "additionalProperties": False
}

Ví dụ yêu cầu

{
    "media_url": "https://example.com/audio.mp3",
    "start": "00:00:10.0",
    "end": "00:01:00.0",
    "noise": "-25dB",
    "duration": 0.5,
    "mono": false,
    "webhook_url": "https://example.com/webhook",
    "id": "unique-request-id"
}
curl -X POST \
  https://api.revidapi.com/paid/media/silence \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "media_url": "https://example.com/audio.mp3",
    "start": "00:00:10.0",
    "end": "00:01:00.0",
    "noise": "-25dB",
    "duration": 0.5,
    "mono": false,
    "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ẽ được gửi dưới dạng webhook đến webhook_url đã chỉ định. Định dạng phản hồi tuân theo cấu trúc phản hồi chung được định nghĩa trong ngữ cảnh ứng dụng chính (app.py). Đây là ví dụ:

{
    "endpoint": "/v1/media/silence",
    "code": 200,
    "id": "unique-request-id",
    "job_id": "a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6",
    "response": [
        {
            "start": 10.5,
            "end": 15.2
        },
        {
            "start": 20.0,
            "end": 25.7
        }
    ],
    "message": "success",
    "pid": 12345,
    "queue_id": 1234567890,
    "run_time": 1.234,
    "queue_time": 0.123,
    "total_time": 1.357,
    "queue_length": 0,
    "build_number": "1.0.0"
}

Phản hồi lỗi

  • 400 Bad Request: Lỗi này được trả về khi body yêu cầu bị thiếu hoặc chứa tham số không hợp lệ. Ví dụ phản hồi:
{
    "code": 400,
    "message": "Invalid request payload"
}
  • 401 Unauthorized: Lỗi này được trả về khi header x-api-key bị thiếu hoặc không hợp lệ. Ví dụ phản hồi:
{
    "code": 401,
    "message": "Unauthorized"
}
  • 500 Internal Server Error: Lỗi này được trả về khi có lỗi không mong muốn xảy ra trong quá trình phát hiện khoảng lặng. Ví dụ phản hồi:
{
    "code": 500,
    "message": "An error occurred during the silence detection process"
}

5. Xử lý lỗi

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

  • Thiếu hoặc tham số yêu cầu không hợp lệ: Trả về lỗi 400 Bad Request.
  • Thiếu hoặc header x-api-key không hợp lệ: Trả về lỗi 401 Unauthorized.
  • Ngoại lệ không mong muốn trong quá trình phát hiện khoảng lặng: Trả về lỗi 500 Internal Server Error.

Ngữ cảnh ứng dụng chính (app.py) cũng bao gồm xử lý lỗi cho các tình huống khi hàng đợi tác vụ đạt đến độ dài tối đa (MAX_QUEUE_LENGTH). Trong những trường hợp như vậy, lỗi 429 Too Many Requests được trả về.

6. Ghi chú sử dụng

  • Tham số media_url nên trỏ đến tệp phương tiện hợp lệ có thể được xử lý bởi dịch vụ phát hiện khoảng lặng.
  • Các tham số startend là tùy chọn và có thể được sử dụng để chỉ định phạm vi thời gian trong tệp phương tiện để phát hiện khoảng lặng.
  • Tham số noise cho phép bạn điều chỉnh ngưỡng nhiễu cho phát hiện khoảng lặng. Giá trị thấp hơn (ví dụ: -40dB) sẽ phát hiện nhiều khoảng lặng hơn, trong khi giá trị cao hơn (ví dụ: -20dB) sẽ phát hiện ít khoảng lặng hơn.
  • Tham số duration chỉ định thời lượng tối thiểu (tính bằng giây) để một khoảng lặng được coi là hợp lệ. Điều này có thể hữu ích để lọc ra các khoảng lặng rất ngắn có thể không liên quan.
  • Tham số mono xác định liệu âm thanh có nên được xử lý dưới dạng kênh đơn (mono) hay nhiều kênh (stereo hoặc surround).

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 thời gian startend nằm ngoài thời lượng của tệp phương tiện.
  • Đặt tham số duration thành giá trị thấp không hợp lý, điều này có thể dẫn đến phát hiện quá nhiều khoảng lặng ngắn.

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

  • Xác thực tham số media_url để đả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 sử dụng các tham số startend để tập trung phát hiện khoảng lặng vào một phạm vi thời gian cụ thể trong tệp phương tiện, nếu cần.
  • Điều chỉnh các tham số noiseduration dựa trên trường hợp sử dụng và yêu cầu cụ thể của bạn cho phát hiện khoảng lặng.
  • Nếu bạn cần xử lý âm thanh stereo hoặc surround, đặt tham số mono thành false.
  • Giám sát phản hồi từ endpoint để đảm bảo quá trình phát hiện khoảng lặng hoàn tất thành công và các khoảng lặng được phát hiện đáp ứng kỳ vọng của bạ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.


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
}