Skip to main content

Chat Image Generation

POST /v1/chat/completions
As of March 23, 2026, production checks against Crazyrouter showed:
  • gpt-4o returns 200, but message.content is plain text, not standard multipart image content
  • gpt-4o-image also returns 200, but the current response shape is still text or Markdown containing a parameter block, an ID, and a preview link, not the standard OpenAI image_url multipart structure
  • If you need stable, machine-readable image output, the current recommended path is /v1/images/generations with gpt-image-1
  • If you need reference-image editing or multi-image input, use the Nano Banana family Images API pages: Nano Banana, Nano Banana Pro, and Nano Banana 2
Do not parse the current Crazyrouter chat-image response as if it were standard OpenAI content: [{type: "image_url", ...}].

Currently Reproducible Chat Behavior

The following request hit gpt-4o-image in production and returned 200:
curl https://crazyrouter.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "gpt-4o-image",
    "messages": [
      {
        "role": "user",
        "content": "Generate an image of a red square on a white background."
      }
    ],
    "max_tokens": 512
  }'
The observed message.content was a string shaped roughly like:
{
  "prompt": "Generate an image of a red square on a white background.",
  "ratio": "1:1",
  "n": 1
}

ID: ...
Data Preview: https://...
That means the current chat path behaves more like text-wrapped image-task output than a standardized multipart image message object.

Stable Path: Images API

If you need programmatic image retrieval, use:
curl -X POST https://crazyrouter.com/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "gpt-image-1",
    "prompt": "A red square on a white background"
  }'
The 2026-03-23 production check returned:
  • data[0].b64_json
  • data[0].revised_prompt
So the stable automation path is still the Images API, not the chat-image compatibility path.
If you are only testing manually, the gpt-4o-image chat path is still useful for observation. If you need backend automation, storage, or post-processing, use the GPT Image docs directly. If your workload depends on reference-image editing or multi-image input, use Nano Banana, Nano Banana Pro, or Nano Banana 2 instead.