API 文档
图床提供一组 HTTP API接口,您可以接入到自己的脚本、编辑器、图床客户端或网站。全部使用开放接口 Token 认证。
图片接口
兼容接口
获取 Token
- 登录后进入控制台 → 开放接口;
- 复制以
sk-开头的 Token,接口请求里带上它就能用了。
页面上的「更换Token」会立刻作废旧 Token,换完记得同步更新脚本或客户端的配置。
鉴权方式
所有接口都在请求头里带 Token,格式固定为 Bearer <token>:
curl --location 'https://www.imgurl.org/api/v3/album_list' \
--header 'Authorization: Bearer sk-xxx'
基础地址
本站的接口地址是 https://www.imgurl.org,各接口文档里的 /api/v3/... 都拼在它后面。例如上传接口:
https://www.imgurl.org/api/v3/upload
交给 AI 写代码(llms.txt)
如果想让 AI 编程助手直接帮你接入,把这份文档的索引丢给它即可:
https://www.imgurl.org/docs/llms.txt
这是纯文本文件,列出全部接口的标题、链接和一句话说明,模型一次读完就知道该看哪一篇,比让它逐页翻文档省事。Claude Code、Codex、OpenCode 等支持自定义上下文的工具都能用。
文档本身是普通网页,模型也能直接抓取;llms.txt 只是省掉逐篇查找的步骤。
统一响应
所有接口返回 JSON,结构固定:
{
"code": 200,
"msg": "success",
"data": {}
}
| 字段 | 类型 | 说明 |
|---|---|---|
| code | int | 200 为成功,其余为失败 |
| msg | string | 成功时为 success,失败时为错误标识或提示 |
| data | object | 业务数据,失败时一般为 null |
注意 HTTP 状态码是 200 时,code 也可能不为 200,请以 code 判断结果。
限流与配额
| 项目 | 限制 |
|---|---|
| 上传频率 | 每分钟 90 次 |
| 单张大小 | 取决于当前套餐 |
| 每日 / 每月上传数量 | 取决于当前套餐 |
| 存储总量 | 取决于当前套餐 |
| 删除 | 每天 10 次,每次最多 10 张 |
配额和限流都由账号的套餐决定,可以在个人中心查看当前额度。
错误码
| msg | 说明 | 处理建议 |
|---|---|---|
| invalid.token | Token 缺失、格式不对、已禁用或已过期 | 检查 Authorization 请求头 |
| no.sub | 账号没有有效套餐 | 在定价页开通或续费 |
| Exceeds the maximum size limit of xMB | 文件超过套餐的单张上限 | 压缩后重试,或升级套餐 |
| unsupported.image.format | 文件不是受支持的图片格式 | 改用 JPG、PNG、GIF、BMP、WebP 或 ICO |
| storage.quota.limit | 存储空间已满 | 清理图片或扩容 |
| daily.limit.exceeded | 达到每日上传次数 | 次日再试或升级套餐 |
| monthly.limit.exceeded | 达到每月上传次数 | 下月再试或升级套餐 |
| upload.too.frequent | 触发每分钟频率限制(HTTP 429) | 降低并发,稍后重试 |
| invalid.album | 相册不存在或不属于当前账号 | 用相册列表接口确认 album_id |
| invalid.params | params 不是合法 JSON |
检查 params 字符串 |
| invalid.file | 文件内容为空或读取失败 | 重新上传 |
| invalid.image | 图片已损坏、无法解码或宽高读取失败 | 用看图软件确认文件能正常打开 |
| image.too.small | 图片宽或高小于 8 像素 | 换用正常尺寸的图片 |
| image.too.large | 单边超过 30000 像素或总像素超过 1 亿 | 缩小尺寸后重试 |
| max.10.items | 删除接口一次超过 10 张 | 拆成多次请求 |
| delete.limit.reached | 删除接口超过每天 10 次 | 次日再试,或到网页版后台删除 |
| not.found.images | imgid 不存在或不属于当前账号 | 检查 imgid |