Files
FileHost/docs-site/guide/api.md
T
O96u ff20f97522 release: v1.2.1 — login captcha, docs site, and bug fixes
Add slider captcha for web login, VitePress documentation on GitHub Pages,
and fixes for gallery delete refresh, pagination jump, and copy-format persistence.
2026-08-29 11:42:18 +08:00

2.5 KiB
Raw Blame History

API

PicHost 提供 REST 接口与 Twikoo 兼容端点。部署后登录 API 页可查看当前 Token 与可复制 cURL 示例。

鉴权

所有 REST 接口使用请求头:

Auth-Token: YOUR_TOKEN
Token 类型 获取方式 说明
全局 Token 管理员 API 页生成;或 API_UPLOAD_TOKEN 环境变量 环境变量优先且锁定后台重新生成
个人 Token 各用户 API 页 仅用于该用户脚本,上传归属本人

表单上传仍可使用字段 token(Twikoo 协议)。

接口列表

1. 上传图片

POST /api/images/upload

上传单张或多张图片。字段 image 传图片;仍兼容 file、files。存入 images/。

curl -X POST "https://admin.example.com/api/images/upload" \
  -H "Auth-Token: YOUR_TOKEN" \
  -F "image=@./demo.png"

2. 获取图片列表

GET /api/images

分页列出图库。limit 默认 20、最大 100。

curl "https://admin.example.com/api/images?limit=20&page=1" \
  -H "Auth-Token: YOUR_TOKEN"

3. 搜索图片

GET /api/images/search

按文件名或路径关键词搜索,参数 q 必填。

curl "https://admin.example.com/api/images/search?q=demo&limit=20&page=1" \
  -H "Auth-Token: YOUR_TOKEN"

4. 删除图片

DELETE /api/images

通过 key 删除单张,key 为存储路径(如 images/2026/08/xxx.webp)。

curl -X DELETE "https://admin.example.com/api/images?key=images/2026/08/xxxx.webp" \
  -H "Auth-Token: YOUR_TOKEN"

5. 批量删除

POST /api/images/batch-delete

请求体 JSON:{"keys":["images/2026/08/a.webp","images/2026/08/b.webp"]}

curl -X POST "https://admin.example.com/api/images/batch-delete" \
  -H "Auth-Token: YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"keys":["images/2026/08/a.webp","images/2026/08/b.webp"]}'

错误格式

REST 接口返回 JSON,含 code 与 message(如 UNAUTHORIZED、FORBIDDEN、INVALID_REQUEST)。Twikoo 端点使用 EasyImage 兼容 JSON 格式。

权限与可见范围

  • 普通用户 Token:列表/搜索/删除仅作用于自己的图片
  • 管理员 Token:可访问全部图片
  • 全局 Token 上传的图片归属管理员

详见 用户与权限。

Twikoo

POST /api/index.php 见 Twikoo。

相关