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ạngHH: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ạngHH: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-keybị 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-keykhô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_urlnê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ố
startvàendlà 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ố
noisecho 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ố
durationchỉ đị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ố
monoxá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_urlkhông hợp lệ hoặc không thể truy cập. - Chỉ định thời gian
startvàendnằm ngoài thời lượng của tệp phương tiện. - Đặt tham số
durationthà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ố
startvàendđể 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ố
noisevàdurationdự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ố
monothànhfalse. - 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
}