← 返回图床管理页

API 文档

Base URL: https://img.01ai.space 全部接口需 Token 鉴权

鉴权

所有接口必须携带 Token(在管理页或 /www/wwwroot/img.01ai.space/config.php 查看),二选一:

# 方式一(推荐)
X-API-Token: <你的 Token>

# 方式二
Authorization: Bearer <你的 Token>

未带或 Token 错误返回 401{"success":false,"msg":"unauthorized..."}

接口列表

方法路径说明
POST/api/upload上传图片(multipart 或 raw 二进制)
GET/api/list图片列表(分页,时间倒序)
POST/api/delete删除图片
GET/api/settings读取存储策略(保留天数/空间上限/已用)
POST/api/settings修改存储策略

POST /api/upload — 上传图片

请求(multipart 表单,字段名 file):
curl -H "X-API-Token: <token>" -F file=@本地图片.png https://img.01ai.space/api/upload
请求(raw 二进制 body,Content-Type 填图片类型):
curl -H "Authorization: Bearer <token>" \
     -H "Content-Type: image/png" \
     --data-binary @本地图片.png https://img.01ai.space/api/upload
成功响应(200):
{"success": true, "data": {
  "id": "20260903_143000_ab12cd34ef56.png",     // 删除时用这个 id
  "url": "https://img.01ai.space/i/2026/09/03/20260903_143000_ab12cd34ef56.png",
  "size": 123456, "width": 1024, "height": 768,
  "markdown": "![](https://...)",
  "html": "<img src=\"...\" />",
  "time": 1788421130,
  "cleaned": ["被自动清理的旧图 id"]   // 本次上传触发的清理(无则为空数组)
}}

GET /api/list — 图片列表

参数:
参数类型默认必填说明
pageint1页码,从 1 开始
sizeint50每页条数,最大 100
curl -H "X-API-Token: <token>" "https://img.01ai.space/api/list?page=1&size=50"
响应:
{"success": true, "data": {"total": 2, "page": 1, "size": 50, "items": [
  {"id": "...", "url": "...", "size": 70, "time": 1788421130}
]}}

POST /api/delete — 删除图片

请求(按 id 或 url 均可,二选一):
curl -H "X-API-Token: <token>" -H "Content-Type: application/json" \
     -X POST -d '{"id":"20260903_143000_ab12cd34ef56.png"}' https://img.01ai.space/api/delete

# 或按 url:
curl -H "X-API-Token: <token>" -H "Content-Type: application/json" \
     -X POST -d '{"url":"https://img.01ai.space/i/2026/09/03/xxx.png"}' https://img.01ai.space/api/delete
响应:
{"success": true, "data": {"id": "20260903_143000_ab12cd34ef56.png"}}
# 不存在 → 404; 格式非法 → 400

GET /api/settings — 读取存储策略

curl -H "X-API-Token: <token>" https://img.01ai.space/api/settings
{"success": true, "data": {
  "retentionDays": 0,                    // 0=永久, 1/7/30 天
  "storageGb": 2,                        // 2/5/8 GB
  "updatedAt": 1788423177,
  "storageUsedBytes": 0,              // 当前已用
  "storageLimitBytes": 2147483648    // 空间上限
}}

POST /api/settings — 修改存储策略

请求:
curl -H "X-API-Token: <token>" -H "Content-Type: application/json" \
     -X POST -d '{"retentionDays":30,"storageGb":5}' https://img.01ai.space/api/settings
参数:
参数可选值必填说明
retentionDays0 / 1 / 7 / 300 = 永久保留(只按空间清理)
storageGb2 / 5 / 8总空间上限,超出时从最旧开始删
生效规则:
  • 保存后立即生效;改小保留天数时,会把已超龄的图一并清理(响应 cleaned 数组列出)
  • 上传接口每次调用后也会自动触发清理(超龄 + 超空间)

限制与约定

客户端接入示例

PicGo

安装 web-uploader 插件,新建自定义图床:

ShareX

Typora

设置 → 图像 → 上传服务选 PicGo(app),在 PicGo 里配上面那组参数即可。

浏览器 fetch

const fd = new FormData();
fd.append('file', fileInput.files[0]);
const r = await fetch('/api/upload', {
  method: 'POST',
  headers: { 'X-API-Token': token },
  body: fd
});
const j = await r.json();
// j.data.url 即外链