生成图片
需要 GPT 分组的密钥。图片以 base64 返回,自己解码保存:
import base64
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["MALLOW_API_KEY"],
base_url="https://api.mallowapi.com/v1",
)
result = client.images.generate(
model="gpt-image-2",
prompt="清晨的木桌上放着一杯拿铁,侧光,写实摄影",
size="1024x1024",
)
with open("latte.png", "wb") as f:
f.write(base64.b64decode(result.data[0].b64_json))用 curl:
curl https://api.mallowapi.com/v1/images/generations \
-H "Authorization: Bearer $MALLOW_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "gpt-image-2", "prompt": "窗台上的橘猫,水彩风格", "size": "1024x1024"}'返回的 data[0].b64_json 就是图片内容。
编辑图片
上传一张图片,并用文字说明要怎么改:
result = client.images.edit(
model="gpt-image-2",
image=open("latte.png", "rb"),
prompt="把背景换成咖啡馆的吧台",
)
with open("latte-bar.png", "wb") as f:
f.write(base64.b64decode(result.data[0].b64_json))参数和计费
size、quality等参数沿用 OpenAI 官方图片接口的写法,可选值以官方说明为准。尺寸越大、质量越高,输出的图片 token 越多,费用越高。- 按 token 计费:文字输入和图片输出分别计价,单价见模型价格和 gpt-image-2 模型页。
- 生成图片通常比文字请求慢,代码里的超时时间要留够。