三种输入方式,覆盖绝大多数音视频转写场景。
传入短视频分享链接,服务端自动解析并转写,省去你下载上传的步骤。
支持 mp4 / mov / m4v 等常见格式,原生解析音轨,无需 ffmpeg 预处理。
支持 mp3 / wav / m4a / aac / amr 等格式,适合播客、会议录音、口播素材。
提交后立即返回任务号,轮询取结果。不受同步接口超时限制,长音频也稳。
按句末标点智能分段,返回的文本可直接阅读与二次加工,不是一大坨。
同一次调用即可产出 SRT / VTT 字幕,带逐句时间轴(词级对齐),可直接导入剪辑软件或网页播放器。不额外计费。
同一套 Key 与额度,已按 Model Context Protocol 暴露,任何支持 MCP 的 AI 客户端都能直接调用。
只按识别成功的音频时长扣费,不足 1 分钟按 1 分钟计。识别失败不扣额度。
三步跑通第一次调用,五分钟内可完成。
注册账号后会自动签发一个 Key,格式形如 xkw_live_xxxxxxxxxxxx。请只在服务端使用,不要写进前端代码或提交到代码仓库。
带上 Key 调用提交接口,拿到一个任务号。
# 提交一个链接转写任务 curl -X POST https://kapi.xinxiaowen.com/v1/transcribe \ -H "Authorization: Bearer xkw_live_xxxxxxxxxxxx" \ -H "Content-Type: application/json" \ -d '{"type":"link","url":"<粘贴短视频分享链接>"}' # 返回 { "taskId": "tsk_9f8a7b6c", "status": "processing", "estimateSeconds": 180 }
建议每 3~5 秒查询一次,直到 status 变为 success 或 failed。
curl https://kapi.xinxiaowen.com/v1/tasks/tsk_9f8a7b6c \ -H "Authorization: Bearer xkw_live_xxxxxxxxxxxx" # 识别完成后返回 { "taskId": "tsk_9f8a7b6c", "status": "success", "text": "今天教大家做一个特别下饭的糖醋排骨。\n排骨先冷水下锅…", "durationSeconds": 186, "wordCount": 512, "billedMinutes": 4 }
所有接口都需要在请求头携带 Authorization: Bearer <你的 Key>。
| 字段 | 类型 | 说明 |
|---|---|---|
type | string | link / video / audio,三选一 |
url | string | type=link 时必填,短视频分享链接 |
fileUrl | string | type=video/audio 时必填,可公网访问的文件地址 |
callbackUrl | string | 可选。填了就不必轮询,完成后我们主动 POST 结果到这个地址 |
| 字段 | 说明 |
|---|---|
taskId | 任务号,用于后续查询 |
status | 固定为 processing |
estimateSeconds | 预估完成时间(秒),仅供参考 |
| 字段 | 说明 |
|---|---|
format | 可选,读时决定,不影响计费。text(默认)只回纯文本;segments 额外返回结构化分段 [{startMs, endMs, text}];srt / vtt 额外返回 subtitle 字幕全文。 |
| 字段 | 说明 |
|---|---|
status | processing / success / failed |
text | 识别文本,已按句子自动分段 |
durationSeconds | 音频实际时长(秒) |
wordCount | 字数统计(中文按字、英文按词) |
billedMinutes | 本次计费的分钟数,不足 1 分钟按 1 分钟 |
hasSubtitle | 是否已生成字幕时间轴 |
subtitle / segments | 按 format 返回 |
error | 仅失败时返回,为可直接展示给用户的中文说明 |
任务结果保留 24 小时,请及时取走并自行存储。识别失败的任务不计费。
字幕示例:GET /v1/tasks/tsk_xxx?format=srt
| 字段 | 说明 |
|---|---|
balanceMinutes | 剩余可用额度(分钟) |
usedMinutes | 累计已用额度(分钟) |
monthUsedMinutes | 本月已用(分钟),用于对账 |
| 状态码 | 含义 | 处理建议 |
|---|---|---|
400 | 参数错误 | 检查 type 与 url / fileUrl 是否匹配 |
401 | Key 无效或已吊销 | 检查 Key 是否复制完整,或到控制台重新签发 |
402 | 额度不足 | 购买用量包后自动恢复 |
413 | 文件过大 | 单个文件上限 50 MB,请先压缩或裁剪 |
429 | 请求过于频繁 | 默认每分钟 60 次,超出请加退避重试 |
500 | 服务端异常 | 不扣额度,可重试 |
同一套 Key 与额度,已按 Model Context Protocol 暴露。任何支持 MCP 的 AI 客户端(编程助手、Agent 平台、企业 AI 工作台)配置后即可直接调用,不用再写适配代码。
请求头带 Authorization: Bearer <你的 Key>。
initialize 与 tools/list 无需鉴权,tools/call 必须有。
MCP 调用与 REST 调用共享同一个额度池,同样只按识别成功时长计费。
| 工具 | 说明 |
|---|---|
transcribe_media | 传入短视频分享链接或音视频文件地址,返回文字。也可以直接传整段分享文案,会自动提取其中的链接 |
get_transcribe_result | 按 taskId 查询结果,可指定 format 取 SRT / VTT 字幕 |
get_account_quota | 查询剩余额度、累计已用与本月已用 |
{
"mcpServers": {
"transcribe": {
"type": "http",
"url": "https://kapi.xinxiaowen.com/mcp",
"headers": { "Authorization": "Bearer xkw_live_xxxxxxxxxxxx" }
}
}
}