01
快速开始
设置服务地址和主 Token,然后创建任务。
鉴权
除健康检查和签名下载链接外,所有 API 都需要
Authorization: Bearer <MASTER_TOKEN>。
返回值中的 job.id 是后续查询、签名、取消和删除操作使用的
JOB_ID。
02
查询与 CLI 下载
等待状态变成 ready,再生成临时下载链接。
Shell · 查询状态
export JOB_ID="从创建任务响应中取得的 UUID"
curl --fail-with-body --silent \
-H "Authorization: Bearer $R2_PROXY_TOKEN" \
"$R2_PROXY_URL/api/jobs/$JOB_ID" | jq
浏览器 / curl
适合小文件或快速测试,使用一个标准 HTTP 下载连接。
aria2c(推荐)
使用多路 Range 请求,跨境链路通常比浏览器单连接更快。
Shell · 生成签名并用 aria2c 下载
SIGNED_URL=$(curl --fail-with-body --silent \
-X POST \
-H "Authorization: Bearer $R2_PROXY_TOKEN" \
"$R2_PROXY_URL/api/jobs/$JOB_ID/sign" | jq -r '.url')
aria2c -c -x 8 -s 8 -k 4M \
--file-allocation=none \
"$SIGNED_URL"
依赖
macOS 可运行 brew install aria2 jq。签名链接与文件同时
到期;文件剩余多久,链接就最多有效多久。
Shell · 取消或删除
# 取消正在运行的任务
curl --fail-with-body --silent -X POST \
-H "Authorization: Bearer $R2_PROXY_TOKEN" \
"$R2_PROXY_URL/api/jobs/$JOB_ID/cancel" | jq
# 删除任务记录、R2 对象和未完成分片
curl --fail-with-body --silent -X DELETE \
-H "Authorization: Bearer $R2_PROXY_TOKEN" \
"$R2_PROXY_URL/api/jobs/$JOB_ID"
03
REST API
响应均为 JSON;删除成功时返回空的 204 响应。
| 方法 |
路径 |
用途 |
| GET |
/health |
无需鉴权的健康检查 |
| POST |
/api/jobs |
创建拉取任务,返回 202 |
| GET |
/api/jobs |
列出全部任务摘要 |
| GET |
/api/jobs/:id |
读取任务进度和 Workflow 状态 |
| POST |
/api/jobs/:id/sign |
生成临时签名下载 URL |
| POST |
/api/jobs/:id/cancel |
终止任务并清理未完成上传 |
| DELETE |
/api/jobs/:id |
删除任务及其 R2 文件 |
| GET |
/api/files/:id |
Bearer 或签名鉴权下载,支持单段 Range |
| HEAD |
/api/files/:id |
读取文件大小、ETag 和下载元数据 |
queued
→
probing
→
downloading
→
ready
任一步骤失败会进入 error;主动取消会进入
canceled。
04
创建任务字段
POST /api/jobs 接收以下 JSON 对象。
| 字段 |
类型 |
说明 |
url |
string |
必填,任意绝对 HTTP(S) 资源地址 |
filename |
string | null |
可选;为空时从 URL 或响应头推断 |
headers |
object |
可选;发往源站的请求头,例如源站 Authorization |
forwardSensitiveHeaders |
boolean |
跨域重定向后是否继续发送敏感请求头,默认 false |
JSON · 带源站鉴权
{
"url": "https://example.com/private/model.safetensors",
"filename": "model.safetensors",
"headers": {
"Authorization": "Bearer <SOURCE_TOKEN>"
},
"forwardSensitiveHeaders": false
}
- 不要把主 Token、源站 Token 或签名下载链接分享给其他人。
- 主 Token 只保存在当前浏览器的
sessionStorage。
-
跨域重定向默认移除
Authorization、Cookie 和
Proxy-Authorization。
- 文件在任务完成 24 小时后自动从 R2 删除。
- 下载支持断点续传;无效或超出文件范围的 Range 返回 416。