API Tạo hình thu nhỏ video
Giá cả
35 credits cho mỗi yêu cầu
Chi phí cố định bất kể độ dài video hay số lượng hình thu nhỏ.
Tổng quan
Endpoint https://api.revidapi.com/paid/video/thumbnail cho phép người dùng trích xuất hình ảnh thu nhỏ từ một timestamp cụ thể trong video. Endpoint này là một phần của khả năng xử lý video của API, bao gồm các tính năng khác như ghép nối video và thêm phụ đề.
Endpoint
- URL:
https://api.revidapi.com/paid/video/thumbnail - Method:
POST
Yêu cầu
Headers
x-api-key: Bắt buộc. API key xác thực của bạn.
Tham số Body
| Tham số | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
video_url |
string (định dạng URI) | Có | URL của video để trích xuất hình thu nhỏ |
second |
number (tối thiểu: 0) | Không | Timestamp tính bằng giây để trích xuất hình thu nhỏ (mặc định là 0) |
webhook_url |
string (định dạng URI) | Không | URL để nhận kết quả xử lý không đồng bộ |
id |
string | Không | Mã định danh tùy chỉnh để theo dõi yêu cầu |
Ví dụ yêu cầu
{
"video_url": "https://example.com/video.mp4",
"second": 30,
"webhook_url": "https://your-service.com/webhook",
"id": "custom-request-123"
}
Ví dụ lệnh cURL
curl -X POST \
https://api.revidapi.com/paid/video/thumbnail \
-H 'Content-Type: application/json' \
-H 'x-api-key: your-api-key' \
-d '{
"video_url": "https://example.com/video.mp4",
"second": 30,
"webhook_url": "https://your-service.com/webhook",
"id": "custom-request-123"
}'
Phản hồi
Phản hồi ngay lập tức (Mã trạng thái: 202)
Khi cung cấp webhook URL, API ngay lập tức trả về phản hồi 202 Accepted và xử lý yêu cầu không đồng bộ:
{
"code": 202,
"id": "custom-request-123",
"job_id": "550e8400-e29b-41d4-a716-446655440000",
"message": "processing",
"pid": 12345,
"queue_id": 67890,
"max_queue_length": "unlimited",
"queue_length": 1,
"build_number": "1.0.0"
}
Phản hồi thành công (Mã trạng thái: 200)
Khi không cung cấp webhook URL hoặc khi webhook được gọi sau khi xử lý:
{
"code": 200,
"id": "custom-request-123",
"job_id": "550e8400-e29b-41d4-a716-446655440000",
"response": "https://storage.example.com/thumbnails/video-thumbnail-123.jpg",
"message": "success",
"run_time": 1.234,
"queue_time": 0.567,
"total_time": 1.801,
"pid": 12345,
"queue_id": 67890,
"queue_length": 0,
"build_number": "1.0.0"
}
Phản hồi lỗi
Yêu cầu không hợp lệ (Mã trạng thái: 400)
{
"code": 400,
"message": "Invalid request: 'video_url' is a required property",
"job_id": "550e8400-e29b-41d4-a716-446655440000"
}
Hàng đợi đầy (Mã trạng thái: 429)
{
"code": 429,
"id": "custom-request-123",
"job_id": "550e8400-e29b-41d4-a716-446655440000",
"message": "MAX_QUEUE_LENGTH (100) reached",
"pid": 12345,
"queue_id": 67890,
"queue_length": 100,
"build_number": "1.0.0"
}
Lỗi server (Mã trạng thái: 500)
{
"code": 500,
"id": "custom-request-123",
"job_id": "550e8400-e29b-41d4-a716-446655440000",
"message": "Failed to download video from provided URL",
"pid": 12345,
"queue_id": 67890,
"queue_length": 0,
"build_number": "1.0.0"
}
Xử lý lỗi
Endpoint xử lý các kịch bản lỗi khác nhau:
- Thiếu tham số bắt buộc: Trả về lỗi 400 nếu
video_urlbị thiếu. - Định dạng tham số không hợp lệ: Trả về lỗi 400 nếu tham số không khớp với định dạng mong đợi (ví dụ: URL không hợp lệ).
- Dung lượng hàng đợi: Trả về lỗi 429 nếu hàng đợi xử lý đầy.
- Lỗi xử lý: Trả về lỗi 500 nếu có vấn đề trong quá trình trích xuất hoặc tải lên hình thu nhỏ.
Ghi chú sử dụng
- Xử lý không đồng bộ: Đối với các thao tác chạy lâu, hãy cung cấp
webhook_urlđể nhận kết quả không đồng bộ. - Lựa chọn timestamp: Chọn giá trị
secondphù hợp để chụp một frame có ý nghĩa từ video. - Theo dõi yêu cầu: Sử dụng tham số
idđể theo dõi yêu cầu của bạn trong các hệ thống của bạn. - Quản lý hàng đợi: API sử dụng hệ thống hàng đợi với độ dài tối đa có thể cấu hình (được đặt bởi biến môi trường
MAX_QUEUE_LENGTH).
Vấn đề thường gặp
- URL video không thể truy cập: Đảm bảo URL video có thể truy cập công khai hoặc có xác thực phù hợp.
- Timestamp không hợp lệ: Nếu giây được chỉ định vượt quá thời lượng video, API có thể sử dụng frame cuối cùng hoặc trả về lỗi.
- Lỗi Webhook: Nếu endpoint webhook của bạn không khả dụng, bạn sẽ không nhận được kết quả xử lý.
- Video lớn: Xử lý video rất lớn có thể mất nhiều thời gian hơn và có thể bị timeout.
Thực hành tốt nhất
- Sử dụng Webhooks cho video dài: Luôn sử dụng webhooks khi xử lý video lớn để tránh vấn đề HTTP timeout.
- Tối ưu hóa lựa chọn hình thu nhỏ: Chọn timestamp có ý nghĩa cho hình thu nhỏ (ví dụ: sau các chuỗi intro).
- Xử lý lỗi: Triển khai xử lý lỗi phù hợp trong ứng dụng của bạn để quản lý lỗi API một cách nhẹ nhàng.
- Giới hạn tốc độ: Giám sát độ dài hàng đợi trong phản hồi để tránh làm quá tải dịch vụ.
- Yêu cầu idempotent: Sử dụng tham số
idđể làm cho yêu cầu idempotent và tránh xử lý trùng lặp.
Giá cả
35 credits cho mỗi yêu cầu
Chi phí cố định bất kể độ dài video hay số lượng hình thu nhỏ.
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
}