Bbili-open-mcpMCP
★

文件分片上传

POST#9api ARC_BASE
https://openupos.bilivideo.com/video/v2/part/upload

开放能力 / 视频稿件管理 / 服务端视频稿件投递

该接口用于分片上传视频文件到文件服务器,属于视频实体分片上传阶段 本接口 body 只接受裸文件二进制流。请勿使用 `multipart/form-data`(form 表单)方式上传**,详见下方「常见错误」 分片大小:除最后一个分片外,其余分片大小必须完全一致,建议 10MB。最后一个分片为剩余字节数,可小于或等于其他分片 分片无需以独立文件形式存在**,可在程序中按偏移量从原文件读取后直接上传,详见下文「无需物理切片文件」一节 分

url 参数

名称类型必填说明
upload_tokenstring是通过[文件上传预处理](https://open.bilibili.com/doc/4/0c532c6a-e6fb-0aff-8021-905ae2409095)接口获取
part_numberint是分片号,从 1 开始(非 0)

调用方式

javascript
// 让 AI 直接调(需要开放平台凭据)
bili_api_call { "ref": "9", "query": {…}, "body": {…} }

// 只看将要发出的请求(不需要凭据)
bili_api_call { "ref": "9", "dryRun": true }

// 生成完整调用代码
bili_codegen { "ref": "9", "lang": "python" }

官方请求示例

bash
TOKEN="xxx"           # 由文件上传预处理接口获取
FILE="./video.mp4"

# 1. 切片:每片 10MB。-d -a 4 使用 4 位数字后缀,产出 part_0000 / part_0001 / ...
#    数字后缀保证 for 循环按文件顺序遍历(字母后缀在分片数多时排序易错)
split -b 10m -d -a 4 "$FILE" part_

# 2. 按序上传。注意 part_number 从 1 开始,与文件后缀(从 0000 开始)相差 1,
#    编号由 n 独立递增,不要直接取文件后缀作为 part_number
n=1
for f in part_*; do
  curl -X POST \
    "https://openupos.bilivideo.com/video/v2/part/upload?upload_token=${TOKEN}&part_number=${n}" \
    -H 'Content-Type: application/octet-stream' \
    --data-binary @"$f" \
    || { echo "分片 ${n} (${f}) 上传失败"; exit 1; }
  n=$((n + 1))
done

# 3. 全部分片上传成功后,调用合片接口

原始文档:009_文件分片上传.md(5714 字节)。用 bili_docs_get { "ref": "9" } 读全文,或用 bili_api_spec { "ref": "9" } 取结构化规格。