音訊操作

線上裁剪音訊——切出任意區間,直接輸出託管 MP3。

Fotovid 裁剪音訊時不必重新編碼——編解碼器與位元率原樣保留,剪出來的片段與來源完全一致。一次呼叫,什麼都不用安裝。

curl -X POST https://api.fotovid.co/v1/audio/trim \
  -H "Authorization: Bearer p6_YOUR_KEY_ID:YOUR_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "source_url": "https://cdn.yoursite.com/voice-note.mp3",
    "params": {
      "start": 18.7,
      "end": 42
    }
  }'

為什麼不自己跑 ffmpeg 就好?

裁剪音訊只是一行 ffmpeg 指令——直到你想把它部署到 serverless 上。ffmpeg 二進位檔遠遠超過大多數函式的打包上限,冷啟動時間跟著暴增,而你還是得自己下載來源檔、開子行程、接住輸出,再把結果推到可長期保存的地方。為了「剪一小段音檔」這麼簡單的事,這些全是跟你產品價值無關的底層雜活。

  • ffmpeg 靜態二進位檔直接撐爆 Lambda/Vercel/Netlify 的打包體積與記憶體上限,改走 layer 這條路又很難長期維護
  • 你得自己抓取輸入檔、開子行程執行指令,還要一邊串流 stdout,一邊避免把函式的磁碟空間或逾時上限撐爆
  • 剪好的檔案還是得有地方放——儲存、託管、清理全都是你的事
  • 想做鈴聲、短樣本、裁剪過的語音訊息或試聽片段,又不想維運上面這一整套時,就用這個端點

請求參數

POST /v1/audio/trim

FieldTypeDefaultDescription
source_url*string (URL)來源音訊的 HTTPS URL(MP3、M4A、WAV 等)
params.start*string | number"HH:MM:SS(.mmm)" 格式或秒數(例如 18.73)
params.end*string | number必須大於 start;超過檔案結尾(EOF)時會截斷
How it works

三個步驟完成第一次呼叫

  1. 1
    取得免費 API 金鑰

    註冊後在控制台建立金鑰。每個請求都以 Authorization: Bearer p6_<key_id>:<secret> 標頭進行驗證。新金鑰一開始就附贈免費的用量 credits——包含音訊裁剪在內的大多數操作,一次只要 1 credit($1 = 100 credits)。

  2. 2
    POST 到 /v1/audio/trim

    送出一份 JSON:source_url 指向你輸入音訊的 https URL,params 物件裡放 start 與 end。兩者都可以是 HH:MM:SS.mmm 格式的時間字串,或是秒數——例如 start: "00:00:12.500"、end: "00:00:27"。Fotovid 會下載來源檔、切出這段區間,並把結果編碼成 MP3。

  3. 3
    使用回傳的 MP3 URL

    回應是扁平的 JSON:{ id, type, url, expires_at, duration }。其中 url 就是 Fotovid 託管、你裁剪後的 MP3。你可以直接播放,也可以下載後在自己的 bucket 存一份,保存期限完全由你掌控。

常見問題

一次 API 呼叫就能上線

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