文件分片上传
https://openupos.bilivideo.com/video/v2/part/upload
开放能力 / 视频稿件管理 / 服务端视频稿件投递
该接口用于分片上传视频文件到文件服务器,属于视频实体分片上传阶段 本接口 body 只接受裸文件二进制流。请勿使用 `multipart/form-data`(form 表单)方式上传**,详见下方「常见错误」 分片大小:除最后一个分片外,其余分片大小必须完全一致,建议 10MB。最后一个分片为剩余字节数,可小于或等于其他分片 分片无需以独立文件形式存在**,可在程序中按偏移量从原文件读取后直接上传,详见下文「无需物理切片文件」一节 分
url 参数
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| upload_token | string | 是 | 通过[文件上传预处理](https://open.bilibili.com/doc/4/0c532c6a-e6fb-0aff-8021-905ae2409095)接口获取 |
| part_number | int | 是 | 分片号,从 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" } 取结构化规格。