API外接七牛云手册

七牛云对象存储配置手册

本文用于指导你配置七牛云对象存储,将本地图片转换成可公网访问的图片 URL,
再用于图生图接口的 images / image 字段。



一、为什么建议配置七牛云对象存储?

图生图接口支持两种参考图方式:base64 和图片 URL
小图、单图、偶尔图生图可以直接使用 base64;但如果图片较大、图片较多,或者需要频繁进行图生图,推荐使用图片 URL。

使用场景 推荐方式 原因
小图、单图、偶尔图生图 base64 使用简单,不需要额外配置存储
大图、多图、频繁图生图 图片 URL 更适合稳定读取图片,减少 base64 体积膨胀导致的失败概率
单张图片平均大于 3MB 图片 URL 更适合大图、多图和长期稳定调用
Agent / 工作流 / 批量调用 图片 URL + 对象存储 便于自动化上传、复用图片链接和统一管理临时图片
如果大量使用图生图功能,且图片质量平均大于 3MB 以上,为保证生成成功率和稳定性,强烈建议自行配置七牛云对象存储。
推荐方案:公开空间 + 自定义图片访问域名 + HTTPS + 随机文件名 + 生命周期 1~3 天自动删除

二、免费额度说明

七牛云对象存储对实名认证用户提供一定免费额度,适合轻量图片存储和图生图参考图上传使用。
具体额度与计费规则可能调整,请以七牛云官方最新说明为准。

项目 免费额度
标准存储空间 10GB / 月
标准存储 CDN 回源流量 10GB / 月
PUT / DELETE 请求 10 万次 / 月
GET 请求 100 万次 / 月
上传流量 通常不限制免费上传流量,具体以官方计费页为准
免费额度用完后会按七牛云官方价格规则计费。建议开启生命周期自动删除临时图片,避免临时参考图长期占用存储空间。
重要成本提示:如果只是用于图生图参考图 URL,成本优先时不建议开启七牛云 CDN HTTPS。
七牛云官方说明中,CDN 免费额度主要是 HTTP 下载流量;HTTPS 域名产生的用量不计入免费额度,并会按 HTTPS 协议价格计费。
因此本手册推荐在 API 参考图中使用 http://你的图片域名/xxx.png

三、开始前需要准备什么?

准备项 说明
七牛云账号 需要注册并完成实名认证
对象存储空间 Bucket 用于存放图生图参考图
图片访问域名 建议使用独立二级域名,例如 img.example.com
DNS 解析权限 用于给图片域名添加 CNAME 解析
HTTP 图片访问 成本优先时推荐使用 http:// 图片链接;HTTPS 会产生单独计费
AccessKey / SecretKey 仅在自动化上传时需要;手动上传不一定需要
安全提醒:SecretKey 不要公开,不要发给陌生人,不要写进前端网页源码。
如果要做自动化上传,应由后端生成上传凭证,前端不要直接保存 SecretKey。

四、配置步骤

1注册并实名认证七牛云账号

先注册七牛云账号,并完成实名认证。实名认证后,才能正常使用对象存储服务及免费额度。

2创建对象存储空间 Bucket

进入七牛云控制台:

操作路径
七牛云控制台
→ 对象存储 Kodo
→ 空间管理
→ 新建空间

建议配置如下:

配置项 建议
空间名称 自定义,例如 ima2-imagesai-images
存储区域 选择离主要用户更近的区域;区域创建后通常不建议频繁变更
访问控制 建议第一版选择 公开空间
存储类型 标准存储
公开空间更适合图生图参考图 URL 读取。私有空间安全性更高,但需要签名 URL,涉及有效期和鉴权,初学者更容易配置失败。

3绑定自定义图片访问域名

建议使用一个独立的二级域名作为图片访问域名,例如:

域名示例
img.example.com
image.example.com
cdn.example.com

进入空间的域名管理:

操作路径
对象存储 Kodo
→ 空间管理
→ 选择你的空间
→ 域名管理
→ 绑定自定义 CDN 加速域名

如果是国内域名,绑定自定义域名通常需要完成备案。具体以七牛云控制台提示和相关规定为准。

4添加 CNAME 解析

绑定域名后,七牛云会给你一个 CNAME 地址。你需要到域名服务商处添加 CNAME 解析。

CNAME 示例
记录类型:CNAME
主机记录:img
记录值:七牛云提供的 CNAME 地址
线路类型:默认
TTL:默认

CNAME 解析不能删除。它是图片域名正常访问七牛云对象存储的基础。

如果七牛云要求添加 TXT 记录用于域名所有权验证:

TXT 记录用于验证域名归属。验证完成后通常可以删除;如果不确定,也可以先保留。CNAME 解析不能删除。

5HTTP / HTTPS 选择建议

如果你的图片链接只是用于 API 图生图参考图读取,成本优先时建议使用 http:// 图片链接,
不建议给七牛云 CDN 图片域名开启 HTTPS。

重要:七牛云 CDN 的免费额度主要针对 HTTP 下载流量。根据七牛云官方说明,域名开启 HTTPS 配置以后,
该域名下所有流量会按 HTTPS 协议价格收费,HTTPS 域名产生的用量不计入免费额度。

推荐在 API 中使用这种图片 URL:

推荐 HTTP 图片 URL
http://img.example.com/uploads/test.png

不建议在成本优先场景下使用:

不推荐示例
https://img.example.com/uploads/test.png

说明:这里的 HTTP 图片链接是给 API 读取参考图使用,不是让你的网站页面降级成 HTTP。
你的网站和 API 地址仍然可以继续使用 HTTPS;只是七牛云参考图 URL 为了控制成本,建议使用 HTTP。
如果你特别需要在网页页面中直接展示图片,或者你的业务强制要求全站 HTTPS,可以开启 HTTPS,但需要接受相应的 HTTPS 计费。
如果已经给当前图片域名开启了 HTTPS,又希望使用免费 HTTP 流量,建议新建一个单独的 HTTP 图片域名用于 API 参考图。

6设置生命周期自动删除

图生图参考图通常是临时文件,不建议长期保留。建议设置生命周期自动删除,避免临时图片长期占用存储空间。

操作路径
对象存储 Kodo
→ 空间管理
→ 选择你的空间
→ 空间设置
→ 生命周期
→ 新建规则

建议规则:

规则项 建议值
匹配前缀 uploads/ 或者留空匹配整个空间
删除时间 1~3 天后删除
适合场景 临时图生图参考图
如果你的图片需要长期保存,不要给这些图片所在前缀设置过短生命周期。可以把临时图放在 uploads/temp/,长期图放在 uploads/permanent/

7上传图片并获取 URL

上传图片后,你需要得到类似这样的公网图片链接:

图片 URL 示例
http://img.example.com/uploads/test.png

建议文件命名方式:

推荐文件路径
uploads/2026/05/随机字符串.png
uploads/temp/随机字符串.jpg
uploads/temp/随机字符串.webp

不建议使用中文、空格、特殊符号作为文件名。推荐使用英文、数字、短横线、随机字符串。

五、在 API 中使用七牛云图片 URL

1. 在 /v1/api/generate 中使用

JSON 示例
{
  "model": "gpt-image-2",
  "prompt": "请参考这张图片,生成一张风格相似但更精致的图片",
  "images": [
    "http://img.example.com/uploads/test.png"
  ],
  "aspectRatio": "1024x1024",
  "replyType": "async"
}

2. 在 /v1/images/generations 中使用

JSON 示例
{
  "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、工作流自动上传图片,需要使用上传凭证。此时要特别注意:

不要把 SecretKey 写在前端网页、浏览器 JS、公开代码仓库或用户可见的配置里。

推荐流程:

安全上传流程
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 填入 imagesimage 后可正常提交图生图任务

八、常见问题

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 字段

配置完成后,你就可以把本地图片先上传到七牛云对象存储,再用图片 URL 调用图生图接口。
这种方式更适合大图、多图、批量图生图和 Agent 工作流。
© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容