Amux

Create image

Last updated September 9, 2026

Generate images with x-ai/grok-imagine-image-2.0 through the OpenAI-compatible endpoint; official SDKs work as-is.

Text-to-image with x-ai/grok-imagine-image-2.0. It uses the OpenAI Images compatible endpoint, so pointing an official SDK at our base_url is enough.

This model does not support streaming.

POSThttps://gateway.amux.ai/v1/images/generations

Authorization

header
AuthorizationstringRequired

Bearer <your Amux key> Your Amux API key.

Request

application/json
modelstringRequired

Amux model ID. Append :provider to pin a specific provider.

promptstringRequired

The prompt.

nintegerDefault 1

How many images to produce (1–10, default 1). Billed per image; the hold scales with it too.

aspect_ratio"1:1" | "4:3" | "3:4" | "3:2" | "2:3" | "16:9" | "9:16" | "2:1" | "1:2" | "21:9" | "5:2" | "19.5:9" | "9:19.5" | "20:9" | "9:20" | "auto"Default "1:1"

Output aspect ratio, 1:1 by default. Identical to what the upstream model accepts — sixteen values:

1:1 4:3 3:4 3:2 2:3 16:9 9:16 2:1 1:2 21:9 5:2 19.5:9 9:19.5 20:9 9:20 auto

The ratio changes the shape of the output only and does not change the pricing tier — all sixteen were measured at the same price.

A ratio outside this set is dropped and explained in amux.notes.

image_size"1K" | "2K"Default "1K"

Resolution tier. 1K (default) or 2K. 4K is not supported.

It also determines the output format: 1K produces JPEG, 2K produces PNG.

Treat the extension of the returned URL as authoritative.

When omitted, 1K is sent explicitly — the tier is always written into the upstream

request rather than left to the upstream default.

quality"low" | "medium" | "auto"Default "low"

Rendering quality. low (default), medium or auto. high is not supported

the upstream model rejects that value outright.

auto is equivalent to low. When omitted, low is sent explicitly — the tier is always

written into the upstream request rather than left to the upstream default, which differs

between the generation and edit endpoints.

moderation"auto" | "low" | "high"Default "auto"

Moderation strength. auto (default), low or high.

userstring

End-user identifier for abuse tracking. Omit the field entirely if you do not need it.

Response

200response

Generation succeeded.

400response

Invalid request, or a capability this model does not support (such as streaming).

402response

Available balance cannot cover the upper-bound hold for this request.

503response

No available provider, or the in-flight queue is full.

Dimensions and format

Dimensions are expressed with two parameters: aspect_ratio and image_size. This model does not accept size (an exact pixel string); it is dropped and explained in amux.notes.

image_sizePixels at 1:1Output format
1K (default)1024 × 1024JPEG
2K2048 × 2048PNG

Other ratios scale within the same tier; the full list is in the next section. 4K is not supported.

The ratio changes the shape of the output only and does not change the pricing tier; the resolution tier does.

⚠️ The output format follows image_size and cannot be chosen — neither output_format nor output_compression has any effect on this model. Treat the extension of the returned URL as authoritative.

quality

low (default), medium or auto. high is not supported — the upstream model rejects that value outright. auto is equivalent to low.

quality and image_size together determine the pricing tier; each of the four combinations has its own rate, listed on the model detail page.

⚠️ When omitted, low is sent explicitly rather than left to the upstream default. The upstream default differs between the generation and edit endpoints, so writing the tier into every request is what keeps "the tier we bill" and "the tier the upstream charges" the same tier.

Aspect ratio

Output aspect ratio, 1:1 by default. Identical to what the upstream model accepts — sixteen values:

RatioPixels at 1KRatioPixels at 1K
1:11024 × 10242:11408 × 704
4:31152 × 8641:2704 × 1408
3:4864 × 115221:91568 × 672
3:21248 × 8325:21600 × 640
2:3832 × 124819.5:91248 × 576
16:91280 × 7209:19.5576 × 1248
9:16720 × 128020:91280 × 576
autochosen upstream9:20576 × 1280

The ratio changes the shape of the output only and does not change the pricing tier — all sixteen were measured at the same price.

A ratio outside this set is dropped and explained in amux.notes; we will not guess one for you.

Output files

Both data[].url and amux.images[].url point at our stored copy, not at an upstream temporary URL.

Stored files are cleaned up — download anything you need to keep, or the URL will return 404.

Unsupported parameters

Passing them is not an error: they are dropped and explained in amux.notes. If the result is not what you expected, check notes first.

ParameterWhy
sizeExact pixel strings are rejected upstream. Use aspect_ratio and image_size
maskThe upstream edit endpoint has no concept of a mask
backgroundNot accepted upstream; transparent backgrounds cannot be requested
output_format / output_compressionThe output format follows image_size and cannot be chosen
input_fidelityNot accepted upstream
stream / partial_imagesThis model does not support streaming image generation
seedThe OpenAI Images protocol has no such parameter
styleThe upstream model has this parameter; it is not exposed on Amux yet. ⚠️ It is the only one in this table dropped silently — see below

⚠️ style is the exception: dropping it produces no amux.notes entry. Every other parameter above is marked unsupported in this model's parameter matrix, so there is something to report; style is not a parameter Amux models at all, so it is discarded while the request is parsed. In other words, sending style gives you no feedback whatsoever — write your code as if it did not exist.

Errors

The error body matches OpenAI's shape. See Errors and retries for the type values and retry semantics.

cURL
curl https://gateway.amux.ai/v1/images/generations \
  -H "Authorization: Bearer $AMUX_API_KEY" \
  -d '{
    "model": "x-ai/grok-imagine-image-2.0",
    "prompt": "A red fox sitting in snow, photorealistic",
    "aspect_ratio": "16:9",
    "image_size": "1K"
  }'
{
  "created": 1786000000,
  "data": [
    {
      "url": "<string>"
    }
  ],
  "usage": {
    "output_images": 0,
    "input_images": 0
  },
  "amux": {
    "task_id": "<string>",
    "generation_id": "<string>",
    "provider": "<string>",
    "cost_nano": "<string>",
    "images": [
      {
        "index": 0,
        "url": "<string>"
      }
    ],
    "notes": [
      "<string>"
    ]
  }
}