Skip to content

ASR_SRT API 接口文档 ​

🌐 语言切换 ​

中文版 | English

接口信息 ​

POST /openapi/autosubrt/v1/asr/srt

这是语音识别服务

本接口的基地址是 https://autosubrt.jcaigc.cn,与剪映小助手(https://capcut-mate.jcaigc.cn)不是同一个服务,路径前缀也不同。

完整请求地址 = https://autosubrt.jcaigc.cn + /openapi/autosubrt/v1/asr/srt

功能描述 ​

语音识别:把音频识别成 SRT 字幕文件,并把文件本体直接返回给调用方(Content-Disposition: attachment),服务端不落盘、不返回下载链接。

需要文案或时间线数据用 语音转文案;要按自己写的文本对齐时间线用 文本对齐时间线。

请求参数 ​

json
{
  "audio_url": "https://example.com/audio.mp3",
  "apiKey": "123e4567-e89b-12d3-a456-426614174000"
}

参数说明 ​

参数名类型必填默认值说明
audio_urlstring✅-音频文件 URL,需可被服务端直接下载,且必须是合法的 http/https 地址
apiKeystring开启计费时必填-合法 UUID;可登录 https://jcaigc.cn 获取

参数详解 ​

audio_url ​

  • 类型: string
  • 说明: 服务端会先把这个 URL 下载到本地再识别,因此必须是可直接访问的直链(不能是需要登录的网页地址)
  • 格式: 常见音视频文件均可,如 wav、mp3、m4a、aac、flac、ogg,mp4、mov 等视频文件也能直接传(服务端自动抽取音轨)
  • 限制: 单文件最大 100MB(服务端 FILE_SIZE_LIMIT 默认 104857600 字节)

apiKey ​

  • 类型: string
  • 说明: 必须是合法 UUID;计费开启时(默认开启)必填,且账户积分需大于 1

响应格式 ​

成功响应 (200) ​

成功时不是 JSON,响应体就是 SRT 文件内容:

HTTP/1.1 200 OK
Content-Type: application/x-subrip; charset=utf-8
Content-Disposition: attachment; filename="subtitle.srt"

1
00:00:02,810 --> 00:00:03,330
多谢

2
00:00:04,889 --> 00:00:06,009
请入席吧

响应头说明 ​

响应头值说明
Content-Typeapplication/x-subrip; charset=utf-8字幕文件;错误时是 application/json
Content-Dispositionattachment; filename="subtitle.srt"固定文件名 subtitle.srt

错误响应 ​

失败时返回 JSON 错误体(HTTP 仍是 200),按 Content-Type 区分是文件还是错误:

json
{
  "code": 2003,
  "message": "下载文件失败"
}
Content-Type含义
application/x-subrip; charset=utf-8SRT 字幕文件
application/json错误,按 code 判断具体原因

使用示例 ​

cURL 示例 ​

bash
curl -X POST https://autosubrt.jcaigc.cn/openapi/autosubrt/v1/asr/srt \
  -H "Content-Type: application/json" \
  -d '{
    "audio_url": "https://example.com/audio.mp3",
    "apiKey": "123e4567-e89b-12d3-a456-426614174000"
  }' \
  -o subtitle.srt

Python 示例 ​

python
import requests

resp = requests.post(
    "https://autosubrt.jcaigc.cn/openapi/autosubrt/v1/asr/srt",
    json={
        "audio_url": "https://example.com/audio.mp3",
        "apiKey": "123e4567-e89b-12d3-a456-426614174000",
    },
    timeout=600,
)

# 失败时返回的是 JSON 错误体,不是字幕文件
if resp.headers["Content-Type"].startswith("application/json"):
    raise RuntimeError(resp.json()["message"])

with open("subtitle.srt", "wb") as f:
    f.write(resp.content)

计费 ​

本接口按音频时长扣费,与剪映小助手共用同一套积分体系。

项说明
单价0.00022 积分 / 秒
计费依据音频实际时长(秒),由识别引擎给出
扣费时机识别成功之后才扣费;识别失败不扣费
余额门槛调用前账户积分需大于 1,否则直接拒绝(2035)
音频时长费用(积分)
10 秒0.002200
60 秒0.013200
1 小时0.792000

apiKey 必须是合法 UUID,可登录 https://jcaigc.cn 获取。

错误码说明 ​

错误码错误信息说明解决方案
1001参数校验失败缺少 audio_url、audio_url 不是合法 http/https 地址,或 apiKey 不是合法 UUID检查请求参数
2001识别音频失败音频无法解码、模型未加载,或 audio_url 返回 401/403/404换一个可正常播放的文件或可访问的直链
2002文件大小超出限制音频超过 100MB压缩或截取后再试
2003下载文件失败下载过程中网络或服务端错误,重试后仍失败确认是公网可直链下载的地址
2005下载文件超时下载整体超时换更快的源或更小的文件
2035账户余额不足账户积分需大于 1 才可继续使用服务完成充值后重试
2036无效的 apiKey计费开启时未传 apiKey登录 https://jcaigc.cn 获取 apiKey
9997服务器忙并发已达上限,请求未排队稍后重试
9998系统内部错误未预期的内部异常联系技术支持
9999未知异常积分服务不可用等稍后重试

注意事项 ​

  1. 响应体是文件本身,不是 {code, message, data}:「文件下载链接」这种返回形式已废弃,消费方需按 Content-Type 分流。
  2. 文件编码为 UTF-8,行尾为 \n,序号从 1 开始,时间戳格式为 时:分:秒,毫秒。
  3. 断句依据是静音:相邻两字间隔超过 250 毫秒就断开一条字幕,整段无法分割时合成一条。
  4. SRT 文本不经标点模型:内容直接来自识别结果,通常不带标点(与 语音转文案 的 text 不同)。
  5. 完全没识别到语音时会返回一条 0 秒 → 30 秒的空字幕,调用方可按「字幕内容为空」判断。
  6. 服务端不落盘:临时音频在请求结束时删除,不产生需要自行清理的静态文件。
  7. 重复调用会重复扣费,超时后请勿盲目重试。

工作流程 ​

  1. 校验 apiKey 与账户余额(计费开启时)
  2. 下载 audio_url 指向的音视频到服务端临时目录
  3. 语音识别,得到逐字时间线
  4. 按静音间隔把字序列切成字幕条目
  5. 识别成功后按音频时长扣费
  6. 以 UTF-8 文本直接返回 SRT 文件本体,删除临时文件

相关接口 ​