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"
}'
{
"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"
}
}
Grok Imagine 2.0 Ext
Grok Imagine Image 2.0 Official Generation and Editing
Asynchronous image generation and editing with grok-imagine-image-2.0
POST
/
v1
/
images
/
generations
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"
}'
{
"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"
}
}
This is an asynchronous image endpoint. A successful submission returns a task ID. Poll Get Task Status for the final result. Omit
image_urls for text-to-image; include them for image editing or multi-image reference.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"
}'
{
"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"
}
}
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
string
required
Use
Bearer YOUR_API_KEY.Body
string
default:"grok-imagine-image-2.0"
required
Must be
grok-imagine-image-2.0.boolean
default:"false"
Whether to run content moderation before submitting the image task.
true: useomni-moderation-latestto review prompts and input imagesfalseor omitted: do not send a moderation request, adding no moderation cost or latency (default)
string
required
Image generation or editing instructions. Must be non-empty after trimming and no longer than 8,000 characters.
integer
default:"1"
Number of output images, from
1 to 10.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.string
default:"1k"
1k or 2k.string
Text-to-image only:
low or medium (default). Do not send this field when image_urls is present.array
One to three reference images. Only publicly accessible absolute HTTP(S) URLs are accepted. Upload local images with
POST /v1/uploads/images, then use the returned url. Omit the field when there is no reference image.Asynchronous task flow
The submission response uses HTTP202; 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.
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.