图片下载
原图、缩略图、下载参数与保留期
出图结果和图片包里的图都通过同一个接口取:
GET /api/file/<filename>
Authorization: Bearer sk_你的密钥需要 assets:read 权限。filename 来自 POST /api/v1/generate 响应的 images[].url,或图片包快照里的 download_url,两者都是 /api/file/<filename> 形式的相对路径,拼上你请求的域名即可。
302 跳转
接口本身不传图片字节,鉴权通过后 302 到一个一小时有效的直链,图片字节从对象存储直接给你。所以:
- 客户端要跟随跳转(curl 加
-L,多数 HTTP 库默认跟随) - 不要把跳转后的地址存起来复用,一小时后失效;存
/api/file/<filename>这个相对路径 - 跳转后的请求不需要再带
Authorization
参数
| 参数 | 说明 |
|---|---|
| 无 | 原图。生成的图一律是无损 PNG |
?w=<宽度> | 缩略图,按宽度取整到最近的档位:42 / 48 / 56 / 68 / 96 / 104 / 120 / 160 / 180 / 200 / 210 / 220 / 240 / 640 / 840 / 1024 / 2048。第一次请求某个档位会现生成,之后直接命中 |
?dl=1 | 以附件方式下载,响应头带 Content-Disposition,浏览器会另存为原文件名 |
列表或预览用缩略图,入库、上架用原图。
错误
这条接口不在 /api/v1 下,出错返回纯文本,不是 JSON:
| 状态码 | 含义 |
|---|---|
401 | 没带密钥 / 密钥无效、已撤销或已过期 |
403 | 密钥没有 assets:read,或账号已封禁 |
404 | 文件不存在,或不属于当前账号 |
429 | 密钥超过限额 |
图片保留多久
每个账号的图片总量有上限(默认 1000 张,运营可调)。超过后从最旧的图开始滚动清理,原图和缩略图一起删。
不会被清理的:
- 设为常用参考图的
- 模特的素材图
- 图片包草稿里引用的、已发布版本里引用的
出图结果不在豁免名单里。用 API 出的图请及时下载到自己的存储,不要把拍图猫当图床。被清理的图再请求返回 404,作为 ref_image_ids 传回去返回 400 reference_image_missing。
拍图猫文档