音频操作
在线剪辑音频——任选起止区间,直接输出托管 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
| Field | Type | Default | Description |
|---|---|---|---|
| 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免费获取 API 密钥
注册后在控制台创建密钥。每个请求都通过 Authorization: Bearer p6_<key_id>:<secret> 请求头完成鉴权。新密钥自带免费用量 credits——包括音频剪辑在内的大多数操作,每次消耗 1 credit($1 = 100 credits)。
- 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使用返回的 MP3 URL
响应是一个扁平的 JSON:{ id, type, url, expires_at, duration }。其中 url 就是 Fotovid 托管的剪辑成品 MP3。你可以直接播放,也可以下载后在自己的存储桶里留一份,保留多久完全由你决定。
