Skip to content

图像

图像接口沿用 OpenAI 兼容格式。先在控制台查看图像模型名称,再写进客户端或脚本。

图像任务和普通文本任务不太一样。
很多时候不是地址或 Key 有问题,而是:

  • 模型类型选错了
  • 尺寸和数量一上来就拉得太大
  • 编辑任务没有按 multipart/form-data 上传文件

图像任务的费用和等待时间,通常都比普通文本请求更高。第一次测试时,建议先用一张小尺寸图、一条短提示词确认链路,再继续放大尺寸或批量生成。

第一次先确认什么

第一次接图像接口时,先别把目标定成“生成一张非常满意的图”。
更稳的顺序通常是先确认这三件事:

  1. 当前模型确实是图像模型
  2. 这条请求已经能返回图片结果
  3. 你拿到的结果格式,是你后面业务真正想用的格式

这样做的意义,是把“接口能不能出图”和“出图效果好不好”拆开。
前者是链路问题,后者更多是模型选择、提示词和尺寸策略问题。

生成图像 POST

地址:POST https://xiaolan.ainb.plus/v1/images/generations

常用请求参数

  • model:图像模型名称
  • prompt:描述词
  • size:尺寸
  • n:生成数量
  • response_format:常见是 urlb64_json

不同图像模型支持的参数并不完全一样。
第一次接入时,优先只用 modelpromptsizen 这几个最基础的字段,把“能不能生成出来”先确认清楚;确认成功后,再去加 qualitybackground、参考图之类的扩展能力。

第一次如果只是想肉眼看结果,response_format 先用 url 最省事。
如果你后面还要把结果继续交给脚本、后端或别的系统处理,再考虑切到 b64_json

示例请求

先把 MODEL 替换成模型广场里实际可用的图像模型名:

bash
MODEL="替换成模型广场里的图像模型名"

curl https://xiaolan.ainb.plus/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <你的 API Key>" \
  -d '{
    "model": "'"$MODEL"'",
    "prompt": "一个白底极简科技 logo",
    "size": "1024x1024",
    "n": 1,
    "response_format": "url"
  }'

如果你只是想确认接口是否可用,size 可以先从较小尺寸开始,n 也先保持 1
先验证返回结构,再继续放大尺寸或增加数量,这样更容易分清是接口没通,还是请求本身太重。

第一次接通时,先确认两件事:

  1. 当前模型确实是图像模型,不是文本模型
  2. 返回结构里你已经拿到了可下载的 URL 或可用的 base64 结果

如果第一步就只是为了确认接口通不通,提示词也尽量写得简单一点。
越简单的提示词,越容易把问题锁定在接口层;等你已经证明能稳定出图,再慢慢加风格词、构图词和约束词会更清楚。

使用建议

  • 模型名直接从模型广场复制
  • 先小图测试,再放大尺寸或批量生成
  • 大图或长任务先看余额
  • 图像任务通常比文本更贵,批量生成前先小额测试
  • 如果返回的是 url,尽快把图片下载保存,部分链接会在一段时间后失效
  • 如果你准备把结果继续传给别的程序处理,b64_json 往往比临时 URL 更稳定

如果你准备做批量生成,再多看一层:
同样是 n=4,和连续发 4 次 n=1,你后面做失败重试、结果保存和成本统计的方式并不完全一样。第一次联调时,先从 n=1 开始最稳。

编辑图像 POST

地址:POST https://xiaolan.ainb.plus/v1/images/edits

适合局部修改、风格调整、参考图改写等场景。不同模型支持的参数会有差异,以模型广场和客户端实际能力为准。

这一类请求和普通 JSON 不一样,通常要走 multipart/form-data
也就是说,你传进去的不只是文字参数,还会把本地图片文件一起上传。

编辑接口第一次建议先拿一张体积小、内容简单的图片测试。
如果原图本身很大、很复杂,你很难在第一次就判断到底是上传层、模型层,还是提示词本身没有描述清楚。

示例:

bash
MODEL="替换成模型广场里的图像模型名"

curl https://xiaolan.ainb.plus/v1/images/edits \
  -H "Authorization: Bearer <你的 API Key>" \
  -F model="$MODEL" \
  -F image="@input.png" \
  -F prompt="把背景改成白色极简科技风"

常见问题

返回模型不存在

图像模型和文本模型不是一类。回模型广场复制图像模型名。

生成很慢

图像生成通常不是秒级。先用小尺寸测试,再扩大尺寸。

如果小尺寸也明显很慢,再去看:

  • 当前模型是不是排队
  • 当前网络是否稳定
  • 余额是否足够支撑当前任务

返回内容看不到图片

不同模型可能返回 URL、base64 或任务结果。先打印完整响应,再按字段读取。

如果返回的是 URL,但浏览器里已经打不开,先不要急着怀疑接口。
很多图像模型返回的是临时下载地址,过一段时间后自然会失效,最好在第一次拿到结果时就立即保存。

编辑接口返回 400

优先先查这三层:

  • 你是不是用了 -F image=@input.png 这种文件上传写法
  • 图片文件路径是不是实际存在
  • 当前模型是不是支持编辑而不只是生成

提示词没问题,但效果很差

先不要急着怀疑接口。优先先看:

  • 你是不是用了错误的模型类别
  • 图片尺寸是不是过小
  • 提示词是否过短、过泛
  • 编辑任务里原图本身是否清晰

小蓝中转站使用文档