Bỏ qua

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ụ đề.

Tutorials RevidAPI

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) 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_url bị 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

  1. 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ộ.
  2. Lựa chọn timestamp: Chọn giá trị second phù hợp để chụp một frame có ý nghĩa từ video.
  3. 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.
  4. 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

  1. 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.
  2. 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.
  3. 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ý.
  4. 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

  1. 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.
  2. 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).
  3. 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.
  4. 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ụ.
  5. 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
}