图片生成与编辑

通过 BigModel.io 兼容 OpenAI 的 /v1/images/generations 与 /v1/images/edits 接口生成和编辑图片,按张计费,失败的图片不收费。

本页目录
  1. 生成图片
  2. 请求字段
  3. 编辑图片
  4. 作为视频首帧
  5. 验证配置
  6. 常见问题排查
  7. 相关文档

图片模型使用 OpenAI Images API。请求会等到图片生成完毕,一次性返回结果。按返回的图片张数计费,生成失败的图片不收费。

任务 请求 计价
文生图 POST /v1/images/generations 按张
编辑、改风格、放大或抠图 POST /v1/images/edits 按张

模型 ID 和价格见 模型目录 → 图像。实际可用的模型取决于 API Key 所在分组,可用 GET /v1/models 查看。

#生成图片

cURL
curl https://bigmodel.io/v1/images/generations \
  -H "Authorization: Bearer $BIGMODEL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen-image-2.1",
    "prompt": "清晨薄雾笼罩的湖面上漂浮着一盏纸灯笼,灯笼上写着“早安”",
    "size": "1536x1024",
    "n": 1
  }'
Python
import os
from openai import OpenAI

client = OpenAI(base_url="https://bigmodel.io/v1", api_key=os.environ["BIGMODEL_API_KEY"])

result = client.images.generate(
    model="qwen-image-2.1",
    prompt="清晨薄雾笼罩的湖面上漂浮着一盏纸灯笼",
    size="1536x1024",
)
print(result.data[0].url)
Node.js
import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://bigmodel.io/v1", apiKey: process.env.BIGMODEL_API_KEY });

const result = await client.images.generate({
  model: "qwen-image-2.1",
  prompt: "清晨薄雾笼罩的湖面上漂浮着一盏纸灯笼",
  size: "1536x1024",
});
console.log(result.data[0].url);

返回 {"created": 1760000000, "data": [{"url": "https://bigmodel.io/v1/media/..."}]}。链接无需 API Key 即可访问,有效期 24 小时;需要长期保存请下载文件,并且不要公开这个链接。

#请求字段

字段 说明
model 必填,图片模型 ID。
prompt 生成时必填;image-upscale 等工具模型可不填。
size 宽x高,如 1024x1024、1536x1024。它决定画幅比例和清晰度档位:最长边小于 1800 px 为 1K,1800 px 起为 2K,3500 px 起为 4K。以模型自身的上限为准。
n 1 到 4 张,每张单独生成、单独计费。
response_format url(默认),或 b64_json 直接返回图片数据。
background 支持透明背景的模型(模型说明中注明)可传 transparent,返回透明 PNG。

这些模型不支持 stream。

#编辑图片

上传一张或多张图片并给出修改要求。输入可以是公开的 https:// 链接,或 base64 data URI(data:image/png;base64,...),单张不超过 50 MB,每次最多 10 张。

cURL
curl https://bigmodel.io/v1/images/edits \
  -H "Authorization: Bearer $BIGMODEL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen-image-2.1",
    "prompt": "改成下雪的冬日傍晚,保持构图不变",
    "images": [{"image_url": "https://example.com/street.jpg"}]
  }'
Python
import os
from openai import OpenAI

client = OpenAI(base_url="https://bigmodel.io/v1", api_key=os.environ["BIGMODEL_API_KEY"])

with open("street.jpg", "rb") as image:
    result = client.images.edit(
        model="qwen-image-2.1",
        image=image,
        prompt="改成下雪的冬日傍晚,保持构图不变",
    )
print(result.data[0].url)

也支持 multipart 上传(字段 image,多张用 image[]),OpenAI SDK 默认就是这种方式。传入多张图时,第一张是要编辑的图,其余作为参考图。

工具模型只需要输入图片,不需要提示词:image-upscale 返回放大后的图片,image-remove-background 返回去掉背景的透明图。

#作为视频首帧

大多数视频模型需要一张首帧。先在这里生成图片,再把它的链接作为 image 传给 POST /v1/videos。

#验证配置

运行上面的生成示例。返回 200,且 data[0].url 能打开图片,就说明这个 Key 可以使用图片模型。扣费会在用量中按请求逐条显示。

#常见问题排查

404:模型不可用。 该模型不在 Key 所在分组中。用 GET /v1/models 查看,或换用包含图片模型的分组的 Key。

400 invalid_request_error:“An input image could not be read”。 图片链接不是公开的 https://,或 data URI 格式有误、超过 50 MB。

400:“This model edits images: send an input image”。 该模型只做编辑,请调用 /v1/images/edits 并传入图片。

400:“n must be at most 4”。 每次最多生成 4 张。

502 upstream_error。 图片未能生成,常见原因是提示词或输入图片。能确定原因时消息里会说明。失败的图片不收费。

403 billing_error。 余额不足,请到充值页面充值。

#相关文档

更新于 · 以 Markdown 查看