音频操作

在线剪辑音频——任选起止区间,直接输出托管 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;超出文件末尾时按末尾截断
How it works

三步完成第一次调用

  1. 1
    免费获取 API 密钥

    注册后在控制台创建密钥。每个请求都通过 Authorization: Bearer p6_<key_id>:<secret> 请求头完成鉴权。新密钥自带免费用量 credits——包括音频剪辑在内的大多数操作,每次消耗 1 credit($1 = 100 credits)。

  2. 2
    向 /v1/audio/trim 发起 POST 请求

    发送一个 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。你可以直接播放,也可以下载后在自己的存储桶里留一份,保留多久完全由你决定。

常见问题

一次 API 调用即可上线

领一个免费密钥,五分钟内完成你的第一次调用。