2528 字
13 分钟
初春图床API文档
2026-03-03
初春图床API文档
项目地址
Waiting for api.github.com...
API列表
TIP注意,以下返回json为统一返回格式
错误返回示例:
{ "code": 4xx-5xx, "message": "error message", "data": null}成功返回示例:
{ "code": 200, "message": "success message", "data": [ "data json..." ]}TIP
- 随机图
/api/images/randomtoken认证: 否
| 参数 | 类型 | 说明 |
|---|---|---|
| tag | text | 标签分类 |
| model | json/image | 返回数据类型(json、图片流) |
| limit | int | 返回数量限制(默认为1) |
返回示例:
{ "code": 200, "message": "ok", "data": [ { "image": "20250310-142106.webp", "url": "http://localhost:8080/uploads/2026/01/20250310-142106.webp" } ]}TIP
- 登录设置
/api/settings/logintoken认证: 否
| 参数 | 类型 | 说明 |
|---|
返回示例:
{ "code": 200, "message": "ok", "data": { "pow_verify": false, "tourist": true }}TIP
- SEO设置
/api/settings/seotoken认证: 否
| 参数 | 类型 | 说明 |
|---|
返回示例:
{ "code": 200, "message": "ok", "data": { "public_security": "", "seo_description": "初春图床,一个免费、稳定、高效的图床服务", "seo_icon": "", "seo_icp": "", "seo_keywords": "初春网络,雾创岛,初春图床,图床,免费,稳定,高效", "seo_title": "初春图床" }}WARNING以下所有接口都需要token认证,获取方式在后台->系统设置->API Token中生成获取(支持自定义),使用时必须开启“启用API”选项
TIP
- 用户信息
/api/user/statustoken认证: 是
| 参数 | 类型 | 说明 |
|---|---|---|
| Authorization | text | 请求头Bearer token |
返回示例:
{ "code": 200, "message": "已登录", "data": { "logged_in": true, "user_id": 1, "username": "admin" }}TIP
- 获取上传配置
/api/uploadConfigtoken认证: 是
| 参数 | 类型 | 说明 |
|---|---|---|
| Authorization | text | 请求头Bearer token |
返回示例:
{ "code": 200, "message": "ok", "data": { "buckets": [ { "id": 1, "name": "默认存储", "type": "default" }, { "id": 2, "name": "R2", "type": "r2" } ], "default_bucket": 1, "tags": [ { "id": 1, "name": "TG" } ] }}TIP
- 获取标签
/api/tagstoken认证: 是
| 参数 | 类型 | 说明 |
|---|---|---|
| Authorization | text | 请求头Bearer token |
返回示例:
{ "code": 200, "message": "ok", "data": { "list": [ { "id": 1, "name": "TG" } ], "total": 1 }}TIP
- 删除标签
/api/tag/:idtoken认证: 是
| 参数 | 类型 | 说明 |
|---|---|---|
| Authorization | text | 请求头Bearer token |
| id | int | 标签ID |
返回示例:
{ "code": 200, "message": "ok", "data": {}}TIP
- 添加标签
/api/tag请求数据类型: application/json token认证: 是
| 参数 | 类型 | 说明 |
|---|---|---|
| Authorization | text | 请求头Bearer token |
| name | text | 标签名称 |
返回示例:
{ "code":200, "message":"ok", "data": { "id":2, "name":"1111" }}TIP
- 存储桶列表
/api/buckets/listtoken认证: 是
| 参数 | 类型 | 说明 |
|---|---|---|
| Authorization | text | 请求头Bearer token |
返回示例:
{ "code": 200, "message": "ok", "data": [ { "id": 1, "name": "默认存储", "type": "default" }, { "id": 2, "name": "R2", "type": "r2" } ]}TIP
- 全部存储桶
/api/bucketstoken认证: 是
| 参数 | 类型 | 说明 |
|---|---|---|
| Authorization | text | 请求头Bearer token |
返回示例:
{ "code": 200, "message": "ok", "data": [ { "id": 1, "name": "默认存储", "type": "default", "capacity": 0, "config": { "storagePath": "/uploads" }, "usage": 274794356736, "usage_readable": "256.78 GB", "total_readable": "1.00 TB", "usage_percent": 24.98, "usage_free": "771.22 GB" } ]}TIP
- 新增存储桶
/api/buckets请求数据类型: application/json token认证: 是
| 参数 | 类型 | 说明 |
|---|---|---|
| Authorization | text | 请求头Bearer token |
| name | text | 存储桶名称 |
| type | text | 存储桶类型(s3、r2、ftp、webdav、telegram) |
| capacity | int | 存储桶容量(单位为GB,0表示不限制,Telegram类型可忽略) |
对应存储配置,添加至上方请求体中
S3
| 参数 | 类型 | 说明 |
|---|---|---|
| s3_endpoint | text | S3服务地址 |
| s3_access_key | text | S3访问密钥 |
| s3_secret_key | text | S3密钥 |
| s3_bucket | text | S3存储桶名称 |
R2
| 参数 | 类型 | 说明 |
|---|---|---|
| r2_endpoint | text | R2服务地址 |
| r2_access_key | text | R2访问密钥 |
| r2_secret_key | text | R2密钥 |
| r2_bucket | text | R2存储桶名称 |
FTP
| 参数 | 类型 | 说明 |
|---|---|---|
| ftp_host | text | FTP服务地址 |
| ftp_user | int | FTP用户名 |
| ftp_pass | text | FTP密码 |
| ftp_port | text | FTP端口 |
WebDav
| 参数 | 类型 | 说明 |
|---|---|---|
| webdav_url | text | WebDav服务地址 |
| webdav_user | int | WebDav用户名 |
| webdav_pass | text | WebDav密码 |
Telegram
| 参数 | 类型 | 说明 |
|---|---|---|
| tg_bot_token | text | Telegram Bot Token |
| tg_receivers | text | Telegram Chat ID |
返回示例:
{ "code": 200, "message": "添加成功", "data": { "id": 3, "name": "测试", "type": "webdav", "capacity": 119185342464, "config": { "webdav_pass": "111111111111", "webdav_url": "https://p.cv0.cn/dav", "webdav_user": "one@cvmail.cn" }, "usage": 0 }}TIP
- 删除存储桶
/api/buckets/:idtoken认证: 是
| 参数 | 类型 | 说明 |
|---|---|---|
| Authorization | text | 请求头Bearer token |
| id | int | 存储桶ID |
返回示例:
{ "code":200, "message":"删除成功", "data":null}TIP
- 更新存储桶
/api/buckets/:id请求数据类型: application/json token认证: 是
| 参数 | 类型 | 说明 |
|---|---|---|
| Authorization | text | 请求头Bearer token |
| id | int | 存储桶ID |
| name | text | 存储桶名称 |
| type | text | 存储桶类型(必须为添加时的存储类型) |
| capacity | int | 存储桶容量(单位为GB,0表示不限制,Telegram类型可忽略) |
对应存储配置,添加至上方请求体中
NOTE请参考上一个新增存储桶
TIP
- 数据统计
/api/stats/dashboardtoken认证: 是
| 参数 | 类型 | 说明 |
|---|---|---|
| Authorization | text | 请求头Bearer token |
| 返回示例: |
{ "code": 200, "message": "获取统计数据成功", "success": true, "data": { "total_images": 26, "total_size": 920903, "today_uploads": 0, "month_uploads": 0, "recent_images": [ { "id": 34, "url": "/uploads/2026/01/188f107f0b67c180175.webp", "thumbnail": "", "filename": "188f107f0b67c180175.webp", "file_size": 117818, "mimeType": "image/webp", "width": 640, "height": 640, "storage": "default", "bucket_id": 1, "user_id": 1, "md5": "d524973a0133f423b908f311d7bc089a", "uuid": "admin", "created_at": "2026-01-29T09:48:36.4202471+08:00" }, { "id": 33, "url": "/uploads/2026/01/188cac0b77f4c530867.webp", "thumbnail": "", "filename": "188cac0b77f4c530867.webp", "file_size": 117818, "mimeType": "image/webp", "width": 640, "height": 640, "storage": "r2", "bucket_id": 2, "user_id": 1, "md5": "1d0e90d59b3c1666340edb71ac56f8d0", "uuid": "admin", "created_at": "2026-01-21T14:45:20.0381164+08:00" }, { "id": 32, "url": "/uploads/2026/01/1889534a80182ddc297.webp", "thumbnail": "", "filename": "1889534a80182ddc297.webp", "file_size": 117818, "mimeType": "image/webp", "width": 640, "height": 640, "storage": "default", "bucket_id": 1, "user_id": 2873846347613367382, "md5": "ab34b8d2a98f7f9c6cab0ed633100790", "uuid": "35b3fcf8-cbbe-46db-88c0-b369da0c7213", "created_at": "2026-01-10T17:05:08.1640839+08:00" }, { "id": 31, "url": "/uploads/2026/01/1888f2ff17b11a34238.webp", "thumbnail": "", "filename": "1888f2ff17b11a34238.webp", "file_size": 117818, "mimeType": "image/webp", "width": 640, "height": 640, "storage": "default", "bucket_id": 1, "user_id": 1, "md5": "f7e0178ed45b0cd97c4d2967fe02bab7", "uuid": "admin", "created_at": "2026-01-09T11:40:31.1720163+08:00" }, { "id": 30, "url": "/uploads/2026/01/1888107f117d54ec498.svg", "thumbnail": "", "filename": "1888107f117d54ec498.svg", "file_size": 2261, "mimeType": "image/svg+xml", "width": 0, "height": 0, "storage": "default", "bucket_id": 1, "user_id": 1, "md5": "34d782dc4a2194c3e3fd82478a2e5aaf", "uuid": "admin", "created_at": "2026-01-06T14:29:51.6853567+08:00" }, { "id": 29, "url": "/uploads/2026/01/wps624.webp", "thumbnail": "", "filename": "wps624.webp", "file_size": 5084, "mimeType": "image/webp", "width": 480, "height": 300, "storage": "default", "bucket_id": 1, "user_id": 1, "md5": "42e425422e4d29803d1ec5722a647a47", "uuid": "admin", "created_at": "2026-01-04T11:37:05.908212+08:00" }, { "id": 28, "url": "/uploads/2026/01/tuba24.webp", "thumbnail": "", "filename": "tuba24.webp", "file_size": 5480, "mimeType": "image/webp", "width": 480, "height": 300, "storage": "default", "bucket_id": 1, "user_id": 1, "md5": "6851f0f6cb8014ced05b6ee5a6a46107", "uuid": "admin", "created_at": "2026-01-04T11:37:00.293054+08:00" }, { "id": 27, "url": "/uploads/2026/01/ip.webp", "thumbnail": "", "filename": "ip.webp", "file_size": 6832, "mimeType": "image/webp", "width": 480, "height": 300, "storage": "default", "bucket_id": 1, "user_id": 1, "md5": "9c33c7b55e97a329e50014f6bbd43f8e", "uuid": "admin", "created_at": "2026-01-04T11:26:14.3958124+08:00" }, { "id": 26, "url": "/uploads/2026/01/ip 拷贝.webp", "thumbnail": "", "filename": "ip 拷贝.webp", "file_size": 6548, "mimeType": "image/webp", "width": 480, "height": 300, "storage": "default", "bucket_id": 1, "user_id": 1, "md5": "e1227a1d993f9ec801792caa651f063f", "uuid": "admin", "created_at": "2026-01-04T11:26:14.3576183+08:00" }, { "id": 25, "url": "/uploads/2026/01/cha.webp", "thumbnail": "", "filename": "cha.webp", "file_size": 5066, "mimeType": "image/webp", "width": 480, "height": 300, "storage": "default", "bucket_id": 1, "user_id": 1, "md5": "bdd10397ad35e332b791ded2cc0fc263", "uuid": "admin", "created_at": "2026-01-04T11:26:14.3241777+08:00" } ], "upload_trend": [ { "date": "2026-02-25", "count": 0 }, { "date": "2026-02-26", "count": 0 }, { "date": "2026-02-27", "count": 0 }, { "date": "2026-02-28", "count": 0 }, { "date": "2026-03-01", "count": 0 }, { "date": "2026-03-02", "count": 0 }, { "date": "2026-03-03", "count": 0 } ], "format_stats": [ { "format": "image/jpeg", "count": 1, "size": 61868 }, { "format": "image/svg+xml", "count": 1, "size": 2261 }, { "format": "image/webp", "count": 24, "size": 856774 } ], "size_distribution": [ { "range": "\u003c 100KB", "count": 20 }, { "range": "100KB - 500KB", "count": 6 }, { "range": "500KB - 1MB", "count": 0 }, { "range": "1MB - 5MB", "count": 0 }, { "range": "5MB - 10MB", "count": 0 }, { "range": "\u003e 10MB", "count": 0 } ] }}TIP
- 每日上传统计
/api/stats/imagestoken认证: 是
| 参数 | 类型 | 说明 |
|---|---|---|
| Authorization | text | 请求头Bearer token |
| 返回示例 |
{ "code": 200, "message": "获取图片统计成功", "success": true, "data": [ { "date": "2025-04", "count": 0 }, { "date": "2025-05", "count": 0 }, { "date": "2025-06", "count": 0 }, { "date": "2025-07", "count": 0 }, { "date": "2025-08", "count": 0 }, { "date": "2025-09", "count": 0 }, { "date": "2025-10", "count": 0 }, { "date": "2025-11", "count": 0 }, { "date": "2025-12", "count": 2 }, { "date": "2026-01", "count": 24 }, { "date": "2026-02", "count": 0 }, { "date": "2026-03", "count": 0 } ]}TIP
- 图片上传接口
/api/upload/imagestoken认证: 是
| 参数 | 类型 | 说明 |
|---|---|---|
| Authorization | text | 请求头Bearer token |
| file | file | 文件 |
| bucket_id | int | 存储桶ID |
返回示例
{ "code": 200, "message": "上传成功", "data": { "count": 1, "files": [ { "success": true, "message": "上传成功", "url": "/uploads/2026/03/1899494c7aaf90d0839.webp", "storage": "default", "filename": "1899494c7aaf90d0839.webp", "file_size": 170092, "mime_type": "image/webp", "width": 2640, "height": 1488, "created_at": "2026-03-03 17:02:01" } ] }}TIP
- 图片批量上传接口
/api/upload/imagestoken认证: 是
| 参数 | 类型 | 说明 |
|---|---|---|
| Authorization | text | 请求头Bearer token |
| file[] | file[] | 文件列表 |
| bucket_id | int | 存储桶ID |
返回示例
{ "code": 200, "message": "上传成功", "data": { "count": 1, "files": [ { "success": true, "message": "上传成功", "url": "/uploads/2026/03/1899494c7aaf90d0839.webp", "storage": "default", "filename": "1899494c7aaf90d0839.webp", "file_size": 170092, "mime_type": "image/webp", "width": 2640, "height": 1488, "created_at": "2026-03-03 17:02:01" } ] }}TIP
- 图片删除接口
/api/images/:idtoken认证: 是
| 参数 | 类型 | 说明 |
|---|---|---|
| Authorization | text | 请求头Bearer token |
| id | int | 图片ID |
返回示例
{ "code":200, "message":"删除成功", "data":null}TIP
- 获取图片列表
/api/imagestoken认证: 是
| 参数 | 类型 | 说明 |
|---|---|---|
| Authorization | text | 请求头Bearer token |
| page | int | 页码 |
| limit | int | 每页数量 |
| sort_order | desc/asc | 排序方式 |
| order_by | created_at | 排序字段 |
| role | admin/guest | 角色 |
| tags | int | 标签ID(支持多条件,例如:0,1,2,3) |
| bucket_id | int | 存储桶ID |
返回示例
{ "code": 200, "message": "ok", "data": { "images": [ { "id": 32, "url": "/uploads/2026/01/1889534a80182ddc297.webp", "thumbnail": "", "filename": "1889534a80182ddc297.webp", "file_size": 117818, "mimeType": "image/webp", "width": 640, "height": 640, "storage": "default", "bucket_id": 1, "user_id": 2873846347613367382, "md5": "ab34b8d2a98f7f9c6cab0ed633100790", "uuid": "35b3fcf8-cbbe-46db-88c0-b369da0c7213", "created_at": "2026-01-10T17:05:08.1640839+08:00", "tags": [ { "id": 0, "name": "默认" } ] } ], "limit": 20, "page": 1, "total": 1, "total_pages": 1 }}TIP
- 获取图片详情
/api/images/:idtoken认证: 是
| 参数 | 类型 | 说明 |
|---|---|---|
| Authorization | text | 请求头Bearer token |
| id | int | 图片ID |
返回示例
{ "code": 200, "data": { "id": 1, "url": "/uploads/2025/12/18841fa146649ddc582.webp", "thumbnail": "/uploads/2025/12/thumbnails/18841fa146649ddc582.webp", "filename": "18841fa146649ddc582.webp", "file_size": 119370, "mimeType": "image/webp", "width": 640, "height": 640, "storage": "default", "bucket_id": 1, "user_id": 1, "md5": "fe5ba8b5ad6cc6b44ffc0471958ca417", "uuid": "admin", "created_at": "2025-12-24T18:22:11.3717763+08:00" }, "msg": "获取图片详情成功"}TIP
- 添加图片标签
/api/images/tagstoken认证: 是
| 参数 | 类型 | 说明 |
|---|---|---|
| Authorization | text | 请求头Bearer token |
| id | int | 图片ID |
| tags | int | 标签ID |
返回示例
{ "code": 200, "message": "标签添加成功", "data": null}TIP
- 删除图片标签
/api/images/tagstoken认证: 是
| 参数 | 类型 | 说明 |
|---|---|---|
| Authorization | text | 请求头Bearer token |
| id | int | 图片ID |
| tags | int | 标签ID |
返回示例
{ "code": 200, "message": "标签删除成功", "data": null}TIP
- 批量删除图片标签
/api/images/tagstoken认证: 是
| 参数 | 类型 | 说明 |
|---|---|---|
| Authorization | text | 请求头Bearer token |
| image_ids | []int | 图片ID列表 |
| tag_id | int | 标签ID |
返回示例
{ "code": 200, "message": "批量删除标签成功", "data": null}TIP
- 批量添加图片标签
/api/images/tagstoken认证: 是
| 参数 | 类型 | 说明 |
|---|---|---|
| Authorization | text | 请求头Bearer token |
| image_ids | []int | 图片ID列表 |
| tag_id | int | 标签ID |
返回示例
{ "code": 200, "message": "批量添加标签成功", "data": null}TIP
- 获取系统设置
/settings/gettoken认证: 是
| 参数 | 类型 | 说明 |
|---|---|---|
| Authorization | text | 请求头Bearer token |
返回示例
{ "code": 200, "message": "ok", "data": { "id": 1, "original_image": false, "save_webp": true, "thumbnail": false, "tourist": true, "tg_notice": false, "pow_verify": false, "tg_bot_token": "", "tg_receivers": "", "tg_notice_text": "", "start_api": false, "api_token": "", "save_original_name": false, "default_storage": 1, "watermark_enable": false, "watermark_text": "初春图床", "watermark_pos": "bottom-right", "watermark_size": 10, "watermark_color": "#000000", "watermark_opac": 0.5, "referer_white_enable": false, "referer_white_list": "", "seo_title": "初春图床", "seo_description": "初春图床,一个免费、稳定、高效的图床服务", "seo_keywords": "初春网络,雾创岛,初春图床,图床,免费,稳定,高效", "seo_icp": "", "public_security": "", "seo_icon": "" }}TIP
- 更新设置
/api/settings/updatetoken认证: 是
| 参数 | 类型 | 说明 |
|---|---|---|
| Authorization | text | 请求头Bearer token |
| key | string | 配置项名称 |
| value | string | 配置项值 |
NOTEkey值请参考上方返回示例
返回示例
{ "code":200, "message":"更新成功", "data":null}TIP
- 图片外链自定义水印参数
/uploads/xxxx/xx/xxxxxxxxxxxxxx.xxxtoken认证: 否
| 参数 | 类型 | 说明 |
|---|---|---|
| watermark | bool | 是否开启水印 |
| wm_text | string | 水印文字 |
| wm_pos | string | 水印位置(top-left/top-right/bottom-left/bottom-right/center) |
| wm_size | float | 水印大小 |
| wm_dynamic | bool | 是否动态水印 |
| wm_ratio | int | 水印动态比例 |
| wm_min_size | int | 水印最小尺寸 |
| wm_max_size | int | 水印最大尺寸 |
| wm_color | string | 水印颜色(16进制) |
| wm_opacity | float | 水印透明度 |
| wm_font | string | 字体文件路径(建议不要加上,防止报错) |
TIP
- 通过URL上传图片
/api/images/urltoken认证: 是
| 参数 | 类型 | 说明 |
|---|---|---|
| Authorization | text | 请求头Bearer token |
| url | string | 图片URL |
| tag_id | int | 标签ID(可留空) |
| bucket_id | int | 存储桶ID(默认为1) |
返回示例
{ "code": 200, "message": "URL 图片上传成功", "data": null}写在后面
以上文档可能存在一些错误,如果发现请及时联系我进行修改,谢谢!