Crazyrouter GuidesMain Site
Image API Guide

GPT Image 2 API guide

Use Crazyrouter to call gpt-image-2 for image generation and editing. OpenAI-compatible clients should use https://cn.crazyrouter.com/v1, and account or billing actions stay on https://crazyrouter.com.

Use case

Image API evaluators need a clean model name, the correct Images API route, unsupported-parameter warnings, and cost assumptions based on the Pricing page.

Standard model names and pricing

Source: GET https://cn.crazyrouter.com/api/pricing, snapshot 2026-06-06.

POST /v1/images/generations
gpt-image-2
$0.0377/image after 0.65x discount
Billing: per_image
Public endpoints: image-generation
Supported endpoints: image-generation, openai

Available model and pricing

The current pricing catalog contains gpt-image-2 for the public Images-compatible request route. Use this exact model name in code and cost planning.

  • gpt-image-2: $0.0377/image after 0.65x discount; public_endpoint_types = image-generation.

Parameter rules from docs

gpt-image-2 uses POST /v1/images/generations for generation and POST /v1/images/edits for editing. Do not send response_format, style, input_fidelity, background=transparent, or quality=standard. Use output_format to choose png, jpeg, or webp.

  • For SDKs, set base_url to https://cn.crazyrouter.com/v1.
  • For cURL, call https://cn.crazyrouter.com/v1/images/generations directly.
  • For high-quality requests, set a long client timeout or use streaming where appropriate.

Implementation checklist

Start with one image, confirm the response URL, then add size, quality, and output_format controls as needed. Use the calculator to estimate spend before moving regular traffic.

cn.crazyrouter.com test evidence

Only checks that returned 200 are shown here. API requests use https://cn.crazyrouter.com; account, billing, and console actions use https://crazyrouter.com.

CheckRequestStatusResult
Pricing API reachableGET https://cn.crazyrouter.com/api/pricing200Returned the public model pricing catalog used by these pages.
Target models visible to API keyGET https://cn.crazyrouter.com/v1/models200Authenticated check confirmed gpt-image-2, veo-3.1-fast, veo-3.1, nano-banana-2, nano-banana-pro, nano-banana, grok-4-image, qwen-image-plus, qwen-image-max, and qwen-image-2.0 are visible to the local Crazyrouter API key.

Implementation examples

cURL
curl -X POST https://cn.crazyrouter.com/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "A clean product photo of a ceramic coffee mug on a white background",
    "n": 1
  }'
Python
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://cn.crazyrouter.com/v1",
)

response = client.images.generate(
    model="gpt-image-2",
    prompt="A clean product photo of a ceramic coffee mug on a white background",
    n=1,
)

print(response.data[0].url)

FAQ

Where do these model prices come from?

Prices are based on GET https://cn.crazyrouter.com/api/pricing and the current Crazyrouter pricing catalog. For final billing, confirm usage in the Crazyrouter console and consumption logs.

Which Base URL should an OpenAI-compatible client use?

OpenAI-compatible SDKs should use https://cn.crazyrouter.com/v1. Hand-written cURL requests should use the full endpoint path, such as https://cn.crazyrouter.com/v1/images/generations.

Can I keep using response_format=b64_json with gpt-image-2?

No. The Crazyrouter GPT Image docs explicitly say response_format is not a gpt-image-2 parameter. Use output_format and read data[0].url by default.