图片生成
根据文字描述生成图片。
与 OpenAI 图片生成接口兼容。可用的图片模型见 模型广场,例如 gpt-image-1。要修改已有图片,见 图片编辑。
POST https://tokenfunc.com/v1/images/generationscURL
curl https://tokenfunc.com/v1/images/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-xxxxxxxxxxxxxxxx" \
-d '{
"model": "gpt-image-1",
"prompt": "一只戴着围巾的橘猫坐在窗台上,水彩风格",
"size": "1024x1024",
"n": 1
}'Python
import base64
from openai import OpenAI
client = OpenAI(base_url="https://tokenfunc.com/v1", api_key="sk-xxxxxxxxxxxxxxxx")
resp = client.images.generate(
model="gpt-image-1",
prompt="一只戴着围巾的橘猫坐在窗台上,水彩风格",
size="1024x1024",
)
image = resp.data[0]
if image.b64_json:
with open("cat.png", "wb") as f:
f.write(base64.b64decode(image.b64_json))
else:
print(image.url)Node.js
import { writeFileSync } from 'node:fs'
import OpenAI from 'openai'
const client = new OpenAI({ baseURL: 'https://tokenfunc.com/v1', apiKey: 'sk-xxxxxxxxxxxxxxxx' })
const resp = await client.images.generate({
model: 'gpt-image-1',
prompt: '一只戴着围巾的橘猫坐在窗台上,水彩风格',
size: '1024x1024',
})
const image = resp.data[0]
if (image.b64_json)
writeFileSync('cat.png', Buffer.from(image.b64_json, 'base64'))
else console.log(image.url)请求参数
200
{
"created": 1760000000,
"data": [{ "b64_json": "iVBORw0KGgo..." }],
"background": "opaque",
"output_format": "png",
"size": "1024x1024",
"quality": "medium",
"usage": {
"total_tokens": 1102,
"input_tokens": 46,
"output_tokens": 1056,
"input_tokens_details": { "text_tokens": 46, "image_tokens": 0 }
}
}响应字段
流式输出
设置 stream: true 后以 SSE 返回。设置了 partial_images 会先收到几条 image_generation.partial_image 事件(中间预览图),最后一条 image_generation.completed 事件带最终图片和 usage:
event: image_generation.partial_image
data: {"type":"image_generation.partial_image","b64_json":"...","partial_image_index":0}
event: image_generation.completed
data: {"type":"image_generation.completed","b64_json":"...","usage":{"total_tokens":1102,"input_tokens":46,"output_tokens":1056,"input_tokens_details":{"text_tokens":46,"image_tokens":0}}}计费
图片模型通常按张计费,不同尺寸、画质价格不同;部分模型按 Token 计费。价格以 模型广场 为准。