← 返回主页

// SERVER INFO //

版本--
单文件上限--
游客模式--
自动审核--
支持格式--

// AUTHENTICATION //

通过账号密码登录获取 JWT,用于浏览器端 API 调用。7 天有效,过期需重新登录。

# 获取 JWT curl -X POST http://your-domain/api/auth/login \ -H "Content-Type: application/json" \ -d '{"username":"USERNAME","password":"PASSWORD"}' # 响应 { "code":0, "data":{ "jwt":"eyJ...", ... } } # 使用 JWT 调用需要鉴权的接口 curl http://your-domain/api/list \ -H "Authorization: Bearer eyJ..."

登录后在用户面板获取 API Token,用于 PicGo、Typora、Obsidian 等外部工具直传。长期有效,可随时重置。

# 使用 API Token 上传(请求头 x-upload-token) curl -X POST http://your-domain/api/upload \ -H "x-upload-token: YOUR_API_TOKEN" \ -F "files=@image.png"

// API ENDPOINTS //

认证

POST /api/auth/register 公开
注册新账号。username 为 3~20 位字母数字下划线,password 至少 6 位。
curl -X POST http://your-domain/api/auth/register \ -H "Content-Type: application/json" \ -d '{"username":"user","password":"123456"}'
{ "code": 0, "data": { "username": "user", "apiToken": "xxx..." } }
POST /api/auth/login 公开
登录并返回 JWT(7 天有效)和 API Token。
curl -X POST http://your-domain/api/auth/login \ -H "Content-Type: application/json" \ -d '{"username":"user","password":"123456"}' { "code": 0, "data": { "jwt": "eyJ...", "username": "user", "apiToken": "xx..." } }
GET /api/auth/me JWT
获取当前登录用户的用户名和 API Token。
curl http://your-domain/api/auth/me \ -H "Authorization: Bearer " { "code": 0, "data": { "username": "user", "apiToken": "xx..." } }
POST /api/auth/reset-token JWT
重置当前用户的 API Token,旧 Token 立即失效。
curl -X POST http://your-domain/api/auth/reset-token \ -H "Authorization: Bearer " { "code": 0, "data": { "apiToken": "new_token..." } }

图片上传

POST /api/upload JWT / Token
上传图片(需鉴权)。multipart/form-data,字段名 files,单次最多 10 张,单文件最大 20MB。支持 JPG / PNG / GIF / WEBP / SVG。
curl -X POST http://your-domain/api/upload \ -H "Authorization: Bearer " \ -F "files=@image.png" \ -F "files=@photo.jpg" { "code": 0, "data": [{ "id": "...", "url": "http://your-domain/i/...", ... }] }
POST /api/guest/upload 公开
游客上传(无需鉴权)。仅支持 JPG / PNG / WEBP,单文件最大 10MB,单次最多 3 张。图片保留 30 天后自动清理,每日每 IP 限量。
curl -X POST http://your-domain/api/guest/upload \ -F "files=@image.png" { "code": 0, "data": [{ "id": "...", "url": "http://your-domain/i/...", "expiresAt": "..." }] }

图库管理

GET /api/list JWT
获取当前用户的图片列表(不含已拒绝和他人数据)。
curl http://your-domain/api/list \ -H "Authorization: Bearer " { "code": 0, "data": [{ "id": "...", "name": "image.png", "url": "...", "tags": [] }] }
PATCH /api/image/:id/rename JWT
重命名图片(仅更新元数据,不改实际文件名)。中文/字母/数字/空格/连字符/下划线/点,最长 100 字符。
curl -X PATCH http://your-domain/api/image/ID.png/rename \ -H "Content-Type: application/json" \ -H "Authorization: Bearer " \ -d '{"name":"new-name.png"}' { "code": 0, "data": { "id": "ID.png", "name": "new-name.png" } }
POST /api/image/:id/tags JWT
设置图片标签(覆盖式)。每个标签 1~20 字符,中文/字母/数字/下划线/连字符,最多 10 个。
curl -X POST http://your-domain/api/image/ID.png/tags \ -H "Content-Type: application/json" \ -H "Authorization: Bearer " \ -d '{"tags":["截图","参考图"]}' { "code": 0, "data": { "id": "ID.png", "tags": ["截图","参考图"] } }
DELETE /api/image/:id/tags/:tag JWT
删除图片的单个标签。:tag 参数使用 encodeURIComponent 编码。
curl -X DELETE http://your-domain/api/image/ID.png/tags/%E6%88%AA%E5%9B%BE \ -H "Authorization: Bearer " { "code": 0 }
DELETE /api/image/:id JWT
删除图片(软删除,移入回收站,30 天后可永久清除)。
curl -X DELETE http://your-domain/api/image/ID.png \ -H "Authorization: Bearer " { "code": 0, "msg": "已移入回收站" }

回收站

GET /api/trash JWT
获取当前用户的回收站列表(含剩余天数字段 daysLeft)。
curl http://your-domain/api/trash \ -H "Authorization: Bearer "
POST /api/restore/:id JWT
从回收站恢复图片到图库。
curl -X POST http://your-domain/api/restore/ID.png \ -H "Authorization: Bearer " { "code": 0, "msg": "已恢复" }
DELETE /api/purge/:id JWT
永久删除图片(不可恢复,会删除磁盘文件)。
curl -X DELETE http://your-domain/api/purge/ID.png \ -H "Authorization: Bearer "

统计 & 信息

GET /api/stats/me JWT
获取当前用户的统计数据:图片总数、存储量、本月上传、近 7 天趋势。
curl http://your-domain/api/stats/me \ -H "Authorization: Bearer " { "code": 0, "data": { "totalImages": 5, "totalSize": 45718623, ... } }
GET /api/info 公开
获取服务基本信息(版本号、上限配置、功能开关),无需鉴权。
curl http://your-domain/api/info { "code": 0, "data": { "version": "1.4.0", "maxFileSize": 20971520, ... } }

// PICGO INTEGRATION //

通过 PicGo 的 web-uploader 插件接入 NEON.IMG,支持快捷上传和自动生成链接。

配置步骤

1. 登录 NEON.IMG,点击 HUD 顶栏用户名 → 复制「API TOKEN」 2. 在 PicGo 中安装 web-uploader 插件(或使用内置 Custom 图床) 3. 填写以下配置参数: API URL: http://your-domain/api/upload Request Header: x-upload-token: YOUR_API_TOKEN Response Key: data[0].url

限制

· 支持格式:JPG / PNG / GIF / WEBP / SVG
· 单文件最大 20MB
· 单次最多 10 张
· 游客上传最大 10MB,保留 30 天
· API Token 在用户面板可随时重置