Thumbnail video / ảnh bìa

Video Thumbnail API: trích khung hình cover tại bất kỳ mốc thời gian nào

Chỉ cần cho Fotovid biết mốc thời gian, nó sẽ chụp đúng khung hình đó thành một ảnh hosted — sẵn sàng dùng ngay làm gallery preview, feed thumbnail, hoặc video poster.

curl -X POST https://api.fotovid.co/v1/video/extract-cover \
  -H "Authorization: Bearer p6_YOUR_KEY_ID:YOUR_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "source_url": "https://cdn.yoursite.com/clip.mp4",
    "params": {
      "at": 3
    }
  }'

Vì sao lấy một khung hình lại khó hơn tưởng tượng

Về mặt khái niệm, video thumbnail rất đơn giản: tua đến một mốc thời gian, giải mã một khung hình, mã hóa nó thành ảnh. Nhưng trên thực tế, bạn hoặc phải tự chạy ffmpeg, hoặc phải lệ thuộc vào một nền tảng media cồng kềnh. Đóng gói ffmpeg binary sẽ vượt quá giới hạn kích thước và bộ nhớ của serverless, cold-start chậm đi, và việc giải mã một nguồn video lớn có thể vượt quá timeout của function. Và phần lớn thời gian bạn không cần cả bộ công cụ — bạn chỉ cần lấy ra một khung hình.

  • ffmpeg binary quá lớn với hầu hết các gói serverless và ngốn hết ngân sách cold-start
  • Giải mã một video lớn chỉ để lấy một khung hình có thể làm vượt giới hạn bộ nhớ và timeout của function
  • Bạn phải tự tải nguồn video, chạy xử lý, rồi tự upload kết quả lên đâu đó
  • Các nền tảng media đầy đủ gộp chung transform, storage và CDN mà bạn không cần chỉ để lấy một poster

Tham số request

POST /v1/video/extract-cover

FieldTypeDefaultDescription
source_url*string (URL)URL HTTPS của video nguồn (đọc qua HTTP Range)
params.atnumber1Số giây tính từ đầu video để lấy khung hình
How it works

Lệnh gọi đầu tiên chỉ với ba bước

  1. 1
    Lấy một API key miễn phí

    Đăng ký và tạo một key. Bạn xác thực mọi request bằng header Authorization: Bearer p6_<key_id>:<secret>. Key mới sẽ có sẵn credit sử dụng miễn phí, nên bạn có thể tích hợp tính năng thumbnail trước khi phải trả bất kỳ khoản nào.

  2. 2
    Gọi POST /v1/video/extract-cover

    Gửi một envelope JSON với source_url trỏ đến URL https của video, cùng một object params nơi bạn có thể chỉ định mốc thời gian cần lấy (dưới dạng chuỗi HH:MM:SS.mmm hoặc số giây). Fotovid sẽ tải nguồn video, giải mã khung hình tại mốc đó, và mã hóa thành ảnh trên hạ tầng của chúng tôi — không cần ffmpeg trong stack của bạn.

  3. 3
    Dùng URL ảnh hosted được trả về

    Phản hồi là JSON phẳng gồm id, type, và một url được host bởi Fotovid trỏ đến khung hình đã trích, cùng với expires_at. Bạn có thể render trực tiếp làm thumbnail hoặc poster, hoặc tải về và lưu bản sao riêng trong bucket của bạn để tự kiểm soát thời gian tồn tại của nó.

Câu hỏi thường gặp

Triển khai chỉ với một lệnh gọi API

Lấy một key miễn phí và thực hiện lệnh gọi đầu tiên trong chưa đầy năm phút.