图片生成与编辑
通过 BigModel.io 兼容 OpenAI 的 /v1/images/generations 与 /v1/images/edits 接口生成和编辑图片,按张计费,失败的图片不收费。
图片模型使用 OpenAI Images API。请求会等到图片生成完毕,一次性返回结果。按返回的图片张数计费,生成失败的图片不收费。
| 任务 | 请求 | 计价 |
|---|---|---|
| 文生图 | POST /v1/images/generations |
按张 |
| 编辑、改风格、放大或抠图 | POST /v1/images/edits |
按张 |
模型 ID 和价格见 模型目录 → 图像。实际可用的模型取决于 API Key 所在分组,可用 GET /v1/models 查看。
#生成图片
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
}'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)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 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"}]
}'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 查看