API 文档
可编程译制管线 · beta 按需开通 · 更新于 2026 年 10 月 15 日
API 现状:以下即我们自家工作台正在使用的真实接口,封闭 beta 中对外按需开通。API key 按申请发放——邮件 [email protected] 说明场景与用量即可。Webhook 与按 key 限速在近期内 roadmap,下方明确标注规划中;我们不虚构还没跑通的功能。
快速上手
Base URL https://app.voxtakes.com/api。现阶段使用浏览器会话 Cookie 鉴权;beta key 用户获发 Authorization: Bearer。一次完整译制只要三步:
# 1. 预约上传位,PUT 你的文件到对象存储
curl -X POST https://app.voxtakes.com/api/uploads \
-H 'content-type: application/json' \
-d '{"name":"launch.mp4","type":"video/mp4","size":52428800}'
curl -X PUT --upload-file launch.mp4 "<返回的 uploadUrl>"
# 2. 创建任务
curl -X POST https://app.voxtakes.com/api/jobs \
-H 'content-type: application/json' \
-d '{"src":{"kind":"upload","key":"users/…/launch.mp4"},
"langs":["es","de"],
"delivery":{"subs":true,"dub":true,"clean":true},
"style":"bold_pop",
"glossary":[{"term":"ZELOS","keep":true}]}'
# 3. 轮询进度
curl https://app.voxtakes.com/api/jobs/<id>
接口一览
POST/uploads入参 {name, type, size}(≤500 MB)。返回存储 key 与限时签名 uploadUrl,直接裸 PUT 上传,该请求不带任何凭据。
创建译制任务,字段:
| 字段 | 说明 |
|---|---|
| src | {kind:"upload", key} 或 {kind:"url", url}(YouTube)。链接拉取属便利路径,上传才是稳定路径——上游平台会对服务端抓取做风控。 |
| langs | 目标语言数组,取 en es de fr pt ja ko zh(ar 为 beta,需申请)。源语言自动识别。 |
| delivery | {subs, dub, clean}——纯字幕、配音、或两者;clean:true 先从画面擦除烧录字幕(一次擦除,全语言共用)。 |
| style | 字幕预设:clean 简洁 / bold_pop 醒目 / word_highlight 逐词高亮 / bilingual 双语。 |
| glossary | 可选按任务术语锁定:{term, translations?:{lang→text}, keep?:bool};keep:true=所有语言原样保留。 |
响应含 credits_preauth(预扣估算;按实际成片分钟结算)。
任务状态机。status ∈ queued → running → awaiting_review → done(另有 failed / cancelled)。运行中给出每语言阶段时间线:
clean → asr → translate:<lang> → tts_qc:<lang> → mix:<lang> → bundle
tts_qc 对每一句做“回听转写比对”产出 0–1 质量分;低分句被标记待审而非静默交付。awaiting_review 时 results[lang].lines 逐句暴露时间码、译文、分数与音频。
单句修改,不动其余:
-d '{"lang":"es","edits":[
{"line_id":7,"text":"新文本"},
{"line_id":12,"seed":"重抽一条"},
{"line_id":20,"voice":"alt_02"}]}'
计费 每重录句 1 额度。新旧两条音轨都保留,可 A/B 后再替换母版。若原任务用了 clean,重配复用已擦除母版——擦除费绝不重复收。
仅重跑失败/取消的阶段;已通过 QC 的部分永不重渲染、永不重复计费。
GET/jobs/:id/bundle整包 zip:各语言 MP4 + SRT/VTT + 逐句音频 + 术语命中报告。素材 7 天自动删除,请及时下载。
GET/glossary · POST/glossary工作区级术语表,跨任务持久(增删改查同上)。
额度与计费
| 项目 | 消耗 |
|---|---|
| 配音成片(每语言) | 1 额度/成片分钟 |
| 纯字幕交付 | 0.4 额度/成片分钟 |
| 硬字幕擦除 | +0.5 额度/成片分钟,按任务只收一次 |
| 单句重录 | 1 额度/句;QC 不合格导致的重录免费 |
Creator 定价下 1 额度 ≈ $0.48。额度不过期;超出按 $0.89/成片分钟。
错误码
| 状态 · code | 含义 |
|---|---|
400 invalid_request | 参数问题(消息里带字段名)。 |
401 unauthenticated | 会话/key 缺失或过期。 |
402 insufficient_credits | 额度不足。 |
403 not_approved | 账户尚未通过内测审核。 |
404 not_found | 任务不存在或素材已过期。 |
409 job_conflict | 同一任务有其他变更进行中。 |
500 / 超时 | 我方问题——按上面的 retry 规则免费重跑。 |
限制与计划
- 单任务 60 分钟 / 2 GB 源片;最多 8 个目标语言。
- 规划中:阶段/状态变更的 webhook 回调 · 带 scope 的正式 API key · 批量队列接口 · Studio 更高并行度。优先级跟内测需求走,申请时直接提。