Built-in API Docs

API 文档

现在这页已经改成内置文档页,同时提供原始 Markdown 地址和 AI 接入提示词。你可以直接把提示词复制给 AI,让它按文档完成接入。

打开 Markdown

Base URL

https://img.czl.net/api/v1

Markdown

https://img.czl.net/api-docs.md

旧地址兼容

https://img.czl.net/page/api-docs.html

Markdown Source

文档正文

CZL 图床 API 文档

接入说明

  • 所有接口都返回 JSON。
  • 当前版本接口采用「Bearer Token」的方式验证授权,从个人中心获取 Token 后,通过 Authorization 请求头传递,例如:Authorization: Bearer 1|1bJbwlqBfnggmOMEZqXT5XusaIwqiZjCDs7r1Ob5
  • 上传接口使用 multipart/form-data,文件字段名固定为 file
  • POST /upload 在未携带 Authorization 时会按游客上传处理;是否允许游客上传取决于后台配置。
  • GET /strategies 在未登录时会返回游客组可用策略;登录后返回当前用户组可用策略。
  • 文档中接口的请求参数,使用红色「*」符号或"必填=是"标注,则表示为必传项。

统一响应结构

{
  "status": true,
  "message": "success",
  "data": {}
}
字段 类型 说明
status Boolean 状态,true 或 false
message String 描述信息
data Object 数据,空数据时返回空对象

公共请求 headers

字段 类型 必填 说明
Authorization String 授权 Token,例如:Bearer 1|1bJbwlqBfnggmOMEZqXT5XusaIwqiZjCDs7r1Ob5
Accept String 必须设置为 application/json

公共响应 headers

字段 类型 说明
X-RateLimit-Limit Integer 当前客户端一分钟内请求配额
X-RateLimit-Remaining Integer 当前客户端剩余请求配额

响应状态码 HTTP Status Code 说明

状态码 说明
200 请求成功
401 未登录或授权失败
403 管理员关闭了接口功能或没有该接口权限
429 超出请求配额,请求受限
500 服务端出现异常

快速示例

获取当前用户资料

curl --request GET "https://img.czl.net/api/v1/profile" \
  --header "Accept: application/json" \
  --header "Authorization: Bearer YOUR_TOKEN"

上传图片

curl --request POST "https://img.czl.net/api/v1/upload" \
  --header "Accept: application/json" \
  --header "Authorization: Bearer YOUR_TOKEN" \
  --form "file=@/path/to/demo.png" \
  --form "strategy_id=1" \
  --form "permission=0"

用户相关

GET /profile

获取当前登录用户资料。

  • 认证要求: 必须登录
  • 请求参数: 无

返回参数:

字段 类型 说明
status Boolean 状态,true 或 false
message String 描述信息
data Object 数据
data.username String 用户名
data.name String 昵称
data.avatar String 头像地址
data.email String 邮箱地址
data.capacity Float 总容量
data.size Float 已使用容量
data.url String 个人主页地址
data.image_num Integer 图片数量
data.album_num Integer 相册数量
data.registered_ip String 注册 IP

策略相关

GET /strategies

获取当前用户组可用的储存策略列表。

  • 认证要求: 可匿名;未登录时返回游客组可用策略,登录时按当前用户组返回
  • 请求体类型: 无

请求参数(Query):

字段 类型 必填 说明
q String 筛选关键字

返回参数:

字段 类型 说明
status Boolean 状态,true 或 false
message String 描述信息
data Object 数据
data.strategies Object[] 策略数据
data.strategies[].id Integer 策略 ID
data.strategies[].name String 策略名称

图片相关

POST /images/tokens

生成临时上传 Token。

  • 认证要求: 必须登录
  • 请求体类型: application/json 或表单均可

请求参数(Body):

字段 类型 必填 说明
num Integer 生成数量,最大 100
seconds Integer 有效期(秒),最大 2626560(一个月)

返回参数:

字段 类型 说明
status Boolean 状态,true 或 false
message String 描述信息
data Object 数据
data.tokens Object[] 临时 Token 列表
data.tokens[].token String token
data.tokens[].expired_at String 到期时间,格式 yyyy-MM-dd HH:mm:ss

POST /upload

上传图片。

  • 认证要求: 可匿名;登录后可使用用户能力、相册、默认策略等
  • 请求体类型: multipart/form-data

Headers:

字段 类型 必填 说明
Content-Type String 需要设置为 multipart/form-data

请求参数(Body):

字段 类型 必填 说明
file File 图片文件
token String 临时上传 Token;适合无需长期 Bearer Token 的上传场景
permission Integer 图片广场展示状态,1=展示到图片广场,0=不展示到图片广场;不影响原图 URL 访问
image_id Integer 重新上传并覆盖当前用户已有图片时使用
strategy_id Integer 储存策略 ID
album_id Integer 相册 ID
expired_seconds Integer 自动删除秒数,最大 15759360(约 6 个月)
expired_at String 图片过期时间,格式 yyyy-MM-dd HH:mm:ss

补充说明:

  • 当用户组配置了固定过期时间时,自定义 expired_seconds / expired_at 会被系统策略覆盖。
  • 自定义删除时间最长不能超过 1 年。
  • 如果不传 strategy_id,系统会优先使用用户默认策略,否则回退到当前组的第一个可用策略。

返回参数:

字段 类型 说明
status Boolean 状态,true 或 false
message String 描述信息
data Object 数据
data.key String 图片唯一密钥
data.name String 图片名称
data.pathname String 图片路径名
data.origin_name String 图片原始名
data.size Float 图片大小,单位 KB
data.mimetype String 图片类型
data.extension String 图片拓展名
data.md5 String 图片 md5 值
data.sha1 String 图片 sha1 值
data.links Object 链接
data.links.url String 图片访问 url
data.links.html String HTML 嵌入代码
data.links.bbcode String BBCode
data.links.markdown String Markdown 图片语法
data.links.markdown_with_link String 带跳转链接的 Markdown
data.links.thumbnail_url String 缩略图 url
data.links.delete_url String 图片删除 url

GET /images

分页获取当前用户的图片列表。

  • 认证要求: 必须登录

请求参数(Query):

字段 类型 必填 说明
page Integer 页码
order String 排序方式:newest=最新,earliest=最早,utmost=最大,least=最小,like-desc=点赞最多,like-asc=点赞最少,view-desc=浏览最多,view-asc=浏览最少,origin-name-asc=原始名升序,origin-name-desc=原始名降序
permission String 图片广场展示筛选:public=展示到图片广场,private=不展示到图片广场
album_id Integer 相册 ID
q String 筛选关键字

返回参数:

字段 类型 说明
status Boolean 状态,true 或 false
message String 描述信息
data Object 数据
data.current_page Integer 当前所在页页码
data.last_page Integer 最后一页页码
data.per_page Integer 每页展示数据数量
data.total Integer 图片总数量
data.data Object[] 图片列表
data.data[].key String 图片唯一密钥
data.data[].name String 图片名称
data.data[].origin_name String 图片原始名称
data.data[].pathname String 图片路径名
data.data[].size Float 图片大小,单位 KB
data.data[].mimetype String 图片类型
data.data[].extension String 图片拓展名
data.data[].width Integer 图片宽度
data.data[].height Integer 图片高度
data.data[].md5 String 图片 md5 值
data.data[].sha1 String 图片 sha1 值
data.data[].human_date String 上传时间(友好格式)
data.data[].date String 上传日期,格式 yyyy-MM-dd HH:mm:ss
data.data[].links Object 链接,与上传接口返回参数中的 links 相同

DELETE /images/{key}

删除指定图片。

  • 认证要求: 必须登录

请求参数(Params):

字段 类型 必填 说明
key String 图片密钥

返回参数:

字段 类型 说明
status Boolean 状态,true 或 false
message String 描述信息
data Object 数据

相册相关

GET /albums

分页获取当前用户的相册列表。

  • 认证要求: 必须登录

请求参数(Query):

字段 类型 必填 说明
page Integer 页码
order String 排序方式:newest=最新,earliest=最早,most=图片最多,least=图片最少,like-desc=点赞最多,like-asc=点赞最少,view-desc=浏览最多,view-asc=浏览最少
permission String 权限筛选:public=公开,private=私有
q String 筛选关键字

返回参数:

字段 类型 说明
status Boolean 状态,true 或 false
message String 描述信息
data Object 数据
data.current_page Integer 当前所在页页码
data.last_page Integer 最后一页页码
data.per_page Integer 每页展示数据数量
data.total Integer 相册总数量
data.data Object[] 相册列表
data.data[].id Integer 相册自增 ID
data.data[].name String 相册名称
data.data[].intro String 相册简介
data.data[].image_num Integer 相册图片数量

DELETE /albums/{id}

删除指定相册。

  • 认证要求: 必须登录

请求参数(Params):

字段 类型 必填 说明
id String 相册自增 ID

返回参数:

字段 类型 说明
status Boolean 状态,true 或 false
message String 描述信息
data Object 数据

给 AI / 插件作者的建议

  • 优先读取这份 Markdown 文档,而不是解析页面 DOM。
  • 上传接口必须使用 multipart/form-data,并确认文件字段名是 file
  • 分页接口请按统一响应结构读取 data.current_pagedata.last_pagedata.totaldata.data
  • 如果你在做 WordPress、Obsidian、Raycast、n8n、Dify、Coze、浏览器扩展或自定义 SDK,建议先接通 GET /strategiesPOST /uploadGET /images 这三条主链路。