开放 API
接口文档
贴一条链接,程序里直接取回成品。和网页共用同一个积分池,按条扣分,失败不扣。
一、鉴权
去「额度」页新建密钥,然后二选一放进请求头:
Authorization: Bearer cg_你的密钥
# 或者
X-API-Key: cg_你的密钥
密钥和取件码共用同一个积分池,所以 API 扣的就是你账户里的积分。密钥可随时吊销。
二、三个端点就够用
| 方法 | 路径 | 作用 |
|---|---|---|
POST | /api/parse | 提交取件任务,立刻返回任务号 |
GET | /api/job/{任务号} | 查进度和产物清单 |
GET | /api/file/{任务号}/{文件名} | 下载产物 |
GET | /api/meta | 价目表(免鉴权) |
GET | /api/jobs | 历史记录 |
三、完整跑一遍
提交任务:
curl -X POST https://你的域名/api/parse \
-H "Authorization: Bearer cg_你的密钥" \
-H "Content-Type: application/json" \
-d '{"urls":["https://v.douyin.com/xxxx/"],"outs":["video","cover","transcript"]}'
返回(任务已排队,马上开始跑):
{"jobs":[{"id":"a1b2c3d4e5f6a7b8","url":"https://v.douyin.com/xxxx/"}]}
# B站同一套接口,直接把 url 换成 B站链接即可
-d '{"urls":["https://www.bilibili.com/video/BV1zqW765E2b"],"outs":["video","transcript"]}'
轮询进度(建议 3 秒一次):
curl https://你的域名/api/job/a1b2c3d4e5f6a7b8 \
-H "Authorization: Bearer cg_你的密钥"
状态到 done 就能下载了:
{
"id": "a1b2c3d4e5f6a7b8",
"status": "done",
"cost": 5,
"title": "作品标题",
"artifacts": [
{"kind":"video","name":"video.mp4","size":1795883},
{"kind":"cover","name":"cover.jpg","size":65792},
{"kind":"transcript","name":"transcript.srt","size":9633}
]
}
# 下载
curl -O https://你的域名/api/file/a1b2c3d4e5f6a7b8/video.mp4 \
-H "Authorization: Bearer cg_你的密钥"
状态值:queued 排队中 · running 处理中 · done 全部完成 ·
partial 部分完成(看 failures)· failed 失败(不扣分)
四、Python 示例
import time, requests
BASE = "https://你的域名"
H = {"Authorization": "Bearer cg_你的密钥"}
r = requests.post(BASE + "/api/parse", headers=H, json={
"urls": ["https://v.douyin.com/xxxx/"],
"outs": ["video", "script", "transcript"],
}).json()
jid = r["jobs"][0]["id"]
while True:
time.sleep(3)
j = requests.get(BASE + "/api/job/" + jid, headers=H).json()
if j["status"] in ("done", "partial", "failed"):
break
print("扣分", j["cost"], "产物", [a["name"] for a in j["artifacts"]])
for a in j["artifacts"]:
data = requests.get(BASE + "/api/file/%s/%s" % (jid, a["name"]), headers=H).content
open(a["name"], "wb").write(data)
五、错误码
| 码 | 含义 | 怎么办 |
|---|---|---|
400 | 参数不对(缺链接、选项不认识) | 看 detail 字段的说明 |
401 | 密钥无效或已吊销 | 重新建一个 |
402 | 积分不足 | 充值,或减少勾选项 |
404 | 任务或文件不存在 | 文件有保留期,过期需重新取 |
502 | 上游源站异常 | 链接可能失效或作品已删除 |
六、注意事项
- 产物文件有保留期,取完请尽快下载到自己的存储。
- 同一批里重复的链接会自动去重。
- 只在成功产出后扣积分;解析失败、作品已删除、产物不存在都不扣。
- 请遵守目标平台的服务条款与著作权规定,取回内容的使用责任由使用者承担。
完整价目见 积分与价目,
也可以直接 GET /api/meta 拿机器可读的价目表。