> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apimart.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Grok Imagine Image 2.0 Official Generation and Editing

> Asynchronous image generation and editing with grok-imagine-image-2.0

<Info>
  This is an **asynchronous image endpoint**. A successful submission returns a task ID. Poll [Get Task Status](/en/api-reference/tasks/status) for the final result. Omit `image_urls` for text-to-image; include them for image editing or multi-image reference.
</Info>

<RequestExample>
  ```bash cURL theme={null}
  curl --request POST \
    --url https://api.apimart.ai/v1/images/generations \
    --header 'Authorization: Bearer <token>' \
    --header 'Content-Type: application/json' \
    --header 'X-APIMart-Response-Version: 2026-07-27' \
    --data '{
      "model": "grok-imagine-image-2.0",
      "prompt": "A cinematic neon-lit city street in the rain",
      "n": 1,
      "aspect_ratio": "16:9",
      "resolution": "2k",
      "quality": "medium"
    }'
  ```
</RequestExample>

<ResponseExample>
  ```json 202 theme={null}
  {
    "code": 202,
    "request_id": "req_xxx",
    "data": {
      "id": "task_01KZQE5CM0Y3KZ6M1N1BK619MX",
      "object": "generation.task",
      "type": "image",
      "status": "pending",
      "progress": 0,
      "poll_url": "/v1/tasks/task_01KZQE5CM0Y3KZ6M1N1BK619MX"
    }
  }
  ```
</ResponseExample>

## Model capabilities

| Model                    | Resolution | `quality`                                | Input images | Outputs |
| ------------------------ | ---------- | ---------------------------------------- | -----------: | ------: |
| `grok-imagine-image-2.0` | `1k`, `2k` | `low` or `medium` for text-to-image only |          0–3 |    1–10 |

## Authorization

<ParamField header="Authorization" type="string" required>
  Use `Bearer YOUR_API_KEY`.
</ParamField>

## Body

<ParamField body="model" type="string" default="grok-imagine-image-2.0" required>
  Must be `grok-imagine-image-2.0`.
</ParamField>

<ParamField body="prompt" type="string" required>
  Image generation or editing instructions. Must be non-empty after trimming and no longer than 8,000 characters.
</ParamField>

<ParamField body="n" type="integer" default="1">
  Number of output images, from `1` to `10`.
</ParamField>

<ParamField body="aspect_ratio" type="string" default="auto">
  Supported values: `1:1`, `3:4`, `4:3`, `9:16`, `16:9`, `2:3`, `3:2`, `9:19.5`, `19.5:9`, `9:20`, `20:9`, `1:2`, `2:1`, and `auto`.
</ParamField>

<ParamField body="resolution" type="string" default="1k">
  `1k` or `2k`.
</ParamField>

<ParamField body="quality" type="string">
  Text-to-image only: `low` or `medium` (default). Do not send this field when `image_urls` is present.
</ParamField>

<ParamField body="image_urls" type="array">
  One to three reference images. Supports public HTTP(S) URLs and JPEG, PNG, or WebP Base64 Data URLs. Omit the field when there is no reference image.
</ParamField>

## Asynchronous task flow

The submission response uses HTTP `202`; the task ID is in `data.id`. Use `data.poll_url` or `GET /v1/tasks/{task_id}` until the task becomes `completed` or `failed`. See [Get Task Status](/en/api-reference/tasks/status).

<Warning>
  Do not expose a long-lived APIMart API key in browser code, public environment variables, URLs, local storage, or client logs. Call this endpoint from your backend or BFF.
</Warning>
