返回

给制作工具的接口

同一台机器上的剪辑或编排服务可以调用这些 JSON 接口,把公开素材先导入本地,再用媒体 URL 取文件。媒体 URL 本身就是访问凭证,不要当成可转发的公开地址。

解析

curl -s -X POST http://127.0.0.1:8741/api/v1/imports/resolve \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer $API_TOKEN" \
  -d '{"url":"https://www.bilibili.com/video/BV1xxxxxxxxxx"}'

开发环境没有设置 API_TOKEN 时,可以不带 Authorization。返回标题、作者、时长、封面路径和真正可保存的格式。封面和成片都是 /api/v1/media/{token}。

创建导入任务

curl -s -X POST http://127.0.0.1:8741/api/v1/imports \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer $API_TOKEN" \
  -d '{"url":"https://www.bilibili.com/video/BV1xxxxxxxxxx","format_id":"FORMAT_ID"}'

响应状态码 202。记下 id,轮询状态:

curl -s http://127.0.0.1:8741/api/v1/imports/IMPORT_ID \
  -H "Authorization: Bearer $API_TOKEN"

status 为 succeeded 后,media[].url 可以直接下载:

curl -L -o clip.mp4 \
  http://127.0.0.1:8741/api/v1/media/MEDIA_TOKEN?download=1

错误码

blocked_host 主机不在允许列表。private_address 解析到私网或保留地址。unsupported_extractor 没有可用 extractor,或链接形状不受支持。快手和视频号固定走这个错误。restricted 付费、DRM、私密、直播或地区限制。cookies_required extractor 要求登录或 cookies,默认不提供。too_large、too_long、quota_exceeded、timeout 是限额。

交互式文档在 /docs,机器可读的 OpenAPI 在 /openapi.json。