跳转到主要内容

聊天创作图

部分模型(如 gpt-4ogpt-4o-image)支持在聊天对话中直接生成图片。模型会根据对话内容自动判断是否需要生成图片,并在回复中返回图片。
聊天创作图与独立的 Images API(/v1/images/generations)不同。这里是通过聊天对话的方式让模型生成图片,模型可以同时返回文字和图片。

基本用法

curl https://crazyrouter.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "gpt-4o",
    "messages": [
      {
        "role": "user",
        "content": "画一只在月光下奔跑的猫,赛博朋克风格"
      }
    ],
    "max_tokens": 4096
  }'

响应格式

当模型生成图片时,content 字段会返回包含图片的多部分内容:
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1709123456,
  "model": "gpt-4o",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": [
          {
            "type": "text",
            "text": "这是我为你创作的赛博朋克风格月光猫:"
          },
          {
            "type": "image_url",
            "image_url": {
              "url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUg..."
            }
          }
        ]
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 20,
    "completion_tokens": 1024,
    "total_tokens": 1044
  }
}

图片编辑

你也可以发送一张图片并要求模型对其进行修改:
Python
response = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "把这张图片改成水彩画风格"},
                {
                    "type": "image_url",
                    "image_url": {"url": "https://example.com/photo.jpg"}
                }
            ]
        }
    ],
    max_tokens=4096
)
图片生成会消耗较多 Token。生成的图片以 Base64 格式返回,请注意响应体积可能较大。