影片縮圖 / 封面

影片縮圖 API:擷取任意時間點的封面影格

把時間點交給 Fotovid,它就會把那一格畫面擷取成託管圖片——直接拿去當相簿預覽圖、動態消息縮圖或影片封面都行。

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
    }
  }'

為什麼只取一格畫面沒你想的那麼簡單

影片縮圖在概念上很單純:跳到某個時間點、解碼一格畫面、再把它編碼成圖片。但實際做起來,你要嘛自己跑 ffmpeg,要嘛得依賴一套臃腫的媒體平台。把 ffmpeg 二進位檔打包進去會遠遠超出 serverless 的體積與記憶體上限,冷啟動跟著變慢,而解碼一支大檔來源還可能超出函式的執行時間上限。何況你根本用不到整套工具鏈——你要的只是一格畫面。

  • ffmpeg 二進位檔對多數 serverless bundle 來說都太大,還會吃掉冷啟動的時間預算
  • 為了取出一格畫面而解碼整支大影片,很容易撞上函式的記憶體與執行時間上限
  • 你得自己抓來源檔、跑完處理程序,再把結果上傳到某個地方
  • 完整的媒體平台會把轉換、儲存空間和 CDN 綁在一起賣,但你只是想要一張封面圖

請求參數

POST /v1/video/extract-cover

FieldTypeDefaultDescription
source_url*string (URL)來源影片的 HTTPS URL(透過 HTTP Range 讀取)
params.atnumber1要擷取畫面的位置,即影片開始後的秒數
How it works

三個步驟完成第一次呼叫

  1. 1
    取得免費 API 金鑰

    註冊後建立一組金鑰。每次請求都用 Authorization: Bearer p6_<key_id>:<secret> 標頭來驗證。新金鑰一開始就附有免費的用量 credits,所以你可以先把縮圖功能接起來,之後再付費。

  2. 2
    呼叫 POST /v1/video/extract-cover

    送出一份 JSON 請求主體,其中 source_url 指向你影片的 https URL,再加上一個 params 物件,在裡面指定要擷取的時間點(可用 HH:MM:SS.mmm 字串或秒數)。Fotovid 會抓取來源、解碼該時間點的那一格畫面,並在我們的基礎設施上把它編碼成圖片——你的技術堆疊裡完全不需要 ffmpeg。

  3. 3
    使用回傳的託管圖片 URL

    回應是扁平的 JSON,包含 id、type,以及一個指向擷取結果的 fotovid 託管 url,另外還有 expires_at。你可以直接把它渲染成縮圖或封面,也可以下載下來存進自己的 bucket,自行掌控保存期限。

常見問題

一次 API 呼叫就能上線

拿一把免費金鑰,五分鐘內完成你的第一次呼叫。