用途:
如果经常使用图生图功能,或者单张图片平均大于 3MB,建议先把图片上传到七牛云对象存储,再把图片 URL 填入 API 的 images / image 字段中。这样可以提高大图、多图请求的成功率和稳定性,减少 base64 体积膨胀导致的失败概率。
推荐方案:
公开空间 + 自定义图片访问域名 + HTTPS + 随机文件名 + 生命周期 1~3 天自动删除。
准备内容:
1. 七牛云账号并完成实名认证
2. 一个可用的二级域名,例如 img.example.com
3. 对象存储空间 Bucket
4. 自定义 CDN 加速域名或源站域名
5. HTTPS 证书
6. 图片上传后得到的公网 URL
配置步骤:
1. 注册并实名认证七牛云账号。
2. 进入对象存储 Kodo,创建空间 Bucket。
3. 空间建议选择:公开空间、标准存储、离用户较近的存储区域。
4. 进入空间的域名管理,绑定自定义域名,例如 img.example.com。
5. 七牛云会提供 CNAME 地址,到你的域名服务商处添加 CNAME 解析。
6. CNAME 解析不能删除;它是图片域名正常访问的基础。
7. 配置 HTTPS 证书,确保可以通过 http://img.example.com/xxx.png 访问图片。
8. 设置生命周期规则,例如 uploads/ 前缀下的临时图片 1~3 天后自动删除。
9. 上传图片,获得图片 URL。
10. 在 API 请求中使用图片 URL。
/v1/api/generate 示例:
{
“model”: “gpt-image-2”,
“prompt”: “请参考这张图片,生成一张风格相似但更精致的图片”,
“images”: [
“http://img.example.com/uploads/test.png”
],
“aspectRatio”: “1024×1024”,
“replyType”: “async”
}
/v1/images/generations 示例:
{
“model”: “gpt-image-2”,
“prompt”: “请参考这张图片,生成一张风格相似但更精致的图片”,
“image”: [
“http://img.example.com/uploads/test.png”
],
“size”: “1024×1024”,
“response_format”: “url”
}
注意:
– SecretKey 不要公开,不要写进前端网页源码。
– 如果只是手动上传图片,普通用户不一定需要使用 AccessKey / SecretKey。
– 如果要自动化上传图片,需要在后端生成上传凭证,不要在前端暴露 SecretKey。
– 图片 URL 必须能公网访问。
– 成本优先时,建议在 API 参考图中使用 http:// 图片链接,不建议使用 https:// 七牛云图片链接。
– 如果你的七牛云图片域名已经开启 HTTPS,该域名下所有流量会按 HTTPS 协议价格计费,且 HTTPS 域名产生的用量不计入免费额度。
– 不建议使用带中文、空格、特殊符号的文件名。
– 建议使用随机长文件名,例如 uploads/2026/05/随机字符串.png。
– 当前 API 请求体限制为 30MB,base64 会比原图更大,大图和多图优先使用图片 URL。
– 七牛云对象存储每月有 10GB 标准存储免费额度,具体以七牛云官方最新说明为准。
七牛云对象存储配置手册
本文用于指导你配置七牛云对象存储,将本地图片转换成可公网访问的图片 URL,
再用于图生图接口的 images / image 字段。
一、为什么建议配置七牛云对象存储?
图生图接口支持两种参考图方式:base64 和图片 URL。
小图、单图、偶尔图生图可以直接使用 base64;但如果图片较大、图片较多,或者需要频繁进行图生图,推荐使用图片 URL。
| 使用场景 | 推荐方式 | 原因 |
|---|---|---|
| 小图、单图、偶尔图生图 | base64 | 使用简单,不需要额外配置存储 |
| 大图、多图、频繁图生图 | 图片 URL | 更适合稳定读取图片,减少 base64 体积膨胀导致的失败概率 |
| 单张图片平均大于 3MB | 图片 URL | 更适合大图、多图和长期稳定调用 |
| Agent / 工作流 / 批量调用 | 图片 URL + 对象存储 | 便于自动化上传、复用图片链接和统一管理临时图片 |
二、免费额度说明
七牛云对象存储对实名认证用户提供一定免费额度,适合轻量图片存储和图生图参考图上传使用。
具体额度与计费规则可能调整,请以七牛云官方最新说明为准。
| 项目 | 免费额度 |
|---|---|
| 标准存储空间 | 10GB / 月 |
| 标准存储 CDN 回源流量 | 10GB / 月 |
| PUT / DELETE 请求 | 10 万次 / 月 |
| GET 请求 | 100 万次 / 月 |
| 上传流量 | 通常不限制免费上传流量,具体以官方计费页为准 |
七牛云官方说明中,CDN 免费额度主要是 HTTP 下载流量;HTTPS 域名产生的用量不计入免费额度,并会按 HTTPS 协议价格计费。
因此本手册推荐在 API 参考图中使用
http://你的图片域名/xxx.png。
三、开始前需要准备什么?
| 准备项 | 说明 |
|---|---|
| 七牛云账号 | 需要注册并完成实名认证 |
| 对象存储空间 Bucket | 用于存放图生图参考图 |
| 图片访问域名 | 建议使用独立二级域名,例如 img.example.com |
| DNS 解析权限 | 用于给图片域名添加 CNAME 解析 |
| HTTP 图片访问 | 成本优先时推荐使用 http:// 图片链接;HTTPS 会产生单独计费 |
| AccessKey / SecretKey | 仅在自动化上传时需要;手动上传不一定需要 |
如果要做自动化上传,应由后端生成上传凭证,前端不要直接保存 SecretKey。
四、配置步骤
1注册并实名认证七牛云账号
先注册七牛云账号,并完成实名认证。实名认证后,才能正常使用对象存储服务及免费额度。
2创建对象存储空间 Bucket
进入七牛云控制台:
七牛云控制台
→ 对象存储 Kodo
→ 空间管理
→ 新建空间
建议配置如下:
| 配置项 | 建议 |
|---|---|
| 空间名称 | 自定义,例如 ima2-images、ai-images |
| 存储区域 | 选择离主要用户更近的区域;区域创建后通常不建议频繁变更 |
| 访问控制 | 建议第一版选择 公开空间 |
| 存储类型 | 标准存储 |
3绑定自定义图片访问域名
建议使用一个独立的二级域名作为图片访问域名,例如:
img.example.com
image.example.com
cdn.example.com
进入空间的域名管理:
对象存储 Kodo
→ 空间管理
→ 选择你的空间
→ 域名管理
→ 绑定自定义 CDN 加速域名
4添加 CNAME 解析
绑定域名后,七牛云会给你一个 CNAME 地址。你需要到域名服务商处添加 CNAME 解析。
记录类型:CNAME
主机记录:img
记录值:七牛云提供的 CNAME 地址
线路类型:默认
TTL:默认
如果七牛云要求添加 TXT 记录用于域名所有权验证:
5HTTP / HTTPS 选择建议
如果你的图片链接只是用于 API 图生图参考图读取,成本优先时建议使用 http:// 图片链接,
不建议给七牛云 CDN 图片域名开启 HTTPS。
该域名下所有流量会按 HTTPS 协议价格收费,HTTPS 域名产生的用量不计入免费额度。
推荐在 API 中使用这种图片 URL:
http://img.example.com/uploads/test.png
不建议在成本优先场景下使用:
https://img.example.com/uploads/test.png
你的网站和 API 地址仍然可以继续使用 HTTPS;只是七牛云参考图 URL 为了控制成本,建议使用 HTTP。
如果已经给当前图片域名开启了 HTTPS,又希望使用免费 HTTP 流量,建议新建一个单独的 HTTP 图片域名用于 API 参考图。
6设置生命周期自动删除
图生图参考图通常是临时文件,不建议长期保留。建议设置生命周期自动删除,避免临时图片长期占用存储空间。
对象存储 Kodo
→ 空间管理
→ 选择你的空间
→ 空间设置
→ 生命周期
→ 新建规则
建议规则:
| 规则项 | 建议值 |
|---|---|
| 匹配前缀 | uploads/ 或者留空匹配整个空间 |
| 删除时间 | 1~3 天后删除 |
| 适合场景 | 临时图生图参考图 |
uploads/temp/,长期图放在 uploads/permanent/。
7上传图片并获取 URL
上传图片后,你需要得到类似这样的公网图片链接:
http://img.example.com/uploads/test.png
建议文件命名方式:
uploads/2026/05/随机字符串.png
uploads/temp/随机字符串.jpg
uploads/temp/随机字符串.webp
五、在 API 中使用七牛云图片 URL
1. 在 /v1/api/generate 中使用
{
"model": "gpt-image-2",
"prompt": "请参考这张图片,生成一张风格相似但更精致的图片",
"images": [
"http://img.example.com/uploads/test.png"
],
"aspectRatio": "1024x1024",
"replyType": "async"
}
2. 在 /v1/images/generations 中使用
{
"model": "gpt-image-2",
"prompt": "请参考这张图片,生成一张风格相似但更精致的图片",
"image": [
"http://img.example.com/uploads/test.png"
],
"size": "1024x1024",
"response_format": "url"
}
/v1/api/generate 使用 images;/v1/images/generations 使用 image。
六、自动化上传时的安全提醒
如果你只是手动上传图片到七牛云控制台,再复制图片 URL 使用,一般不需要处理 AccessKey / SecretKey。
如果你要让程序、Agent、工作流自动上传图片,需要使用上传凭证。此时要特别注意:
推荐流程:
1. 后端保存 AccessKey / SecretKey
2. 前端向后端请求上传凭证
3. 后端生成短时有效的上传凭证
4. 前端拿上传凭证上传图片到七牛云
5. 上传成功后得到图片 URL
6. 将图片 URL 填入 images / image 字段调用 API
七、配置完成后的检查清单
| 检查项 | 正确结果 |
|---|---|
| 图片域名 CNAME | 已经指向七牛云提供的 CNAME 地址 |
| HTTP 访问 | 成本优先时,图片可以通过 http:// 正常访问 |
| HTTPS | 不建议成本优先用户开启;如果开启,需要接受 HTTPS 计费 |
| 空间权限 | 公开空间可以直接访问图片 URL |
| 图片 URL | 复制到浏览器可以直接打开 |
| 生命周期 | 临时图片可设置 1~3 天自动删除 |
| API 调用 | 图片 URL 填入 images 或 image 后可正常提交图生图任务 |
八、常见问题
1. 图片链接打不开
可能原因:
空间不是公开空间
域名 CNAME 没生效
HTTPS 没配置好
图片路径写错
文件已经被生命周期规则删除
文件名包含特殊字符导致路径不正确
2. CNAME 配了但七牛云还提示未生效
可能原因:
DNS 解析还没完全生效
主机记录填错
记录类型不是 CNAME
同一个子域名已有 A 记录或其他冲突记录
记录值没有填写七牛云提供的 CNAME 地址
3. 为什么不建议开启 HTTPS?
因为七牛云 CDN 的 HTTP 下载流量有免费额度,而 HTTPS 域名产生的用量不计入免费额度,并会按 HTTPS 协议价格计费。
如果图片只是作为 API 图生图参考图使用,推荐使用 HTTP 图片 URL。
http://img.example.com/uploads/test.png
https://img.example.com/uploads/test.png
4. 图片 URL 能打开,但 API 还是失败
可能原因:
图片格式不支持
图片太大
图片访问速度太慢
URL 有防盗链限制
URL 已经过期
URL 不是公网可访问
接口字段写错:images / image 混用
5. 什么时候不要用生命周期自动删除?
如果图片需要长期保存,或者后续还要复用,不要把它放在会自动删除的前缀下。
可以把临时图和长期图分开管理。
uploads/temp/ 临时图生图参考图,1~3 天删除
uploads/permanent/ 长期保存图片,不设置短生命周期
九、最终推荐配置
空间类型:公开空间
存储类型:标准存储
图片域名:独立二级域名,例如 img.example.com
域名解析:CNAME 指向七牛云提供的 CNAME 地址
HTTPS:成本优先时不建议开启;API 参考图推荐使用 HTTP URL
文件命名:随机长文件名,避免中文和空格
生命周期:临时图片 1~3 天自动删除
API 调用:将图片 URL 填入 images 或 image 字段
这种方式更适合大图、多图、批量图生图和 Agent 工作流。











暂无评论内容