---
title: "Grok Imagine Image 2.0 Playground & API | Made"
description: "Try Grok Imagine Image 2.0 in Made's playground or integrate it with one API key. from 4 credits / image, priced before you run it."
url: https://www.made.app/playground/grok-imagine-image-2
---

Image from 4 credits / image

# Grok Imagine Image 2.0

Grok Imagine Image 2.0 is xAI’s newest image model in Made, covering fast text-to-image generation and reference-based editing at 1K or 2K across thirteen aspect ratios.

[View docs](https://www.made.app/developers) [Model guide](https://www.made.app/models/grok-imagine-image-2)

```
// Node.js. Running this creates one paid generation.
import { randomUUID } from 'node:crypto';
const base = "https://www.made.app/api";
const headers = {
  Authorization: `Bearer ${process.env.MADE_API_KEY}`,
  'Content-Type': 'application/json',
};
const input = {
  "model": "grok_imagine_image_2",
  "prompt": "Festival crowd at dusk with confetti suspended in the air and stage lights washing over raised hands. 35mm film still, soft natural light, muted earth tones with one magenta accent, shallow depth of field, subtle film grain, candid and unposed, no text, logos, or watermark.",
  "resolution": "1k",
  "aspect_ratio": "1:1"
};

async function api(path, body) {
  const response = await fetch(base + path, {
    method: body ? 'POST' : 'GET', headers,
    ...(body && { body: JSON.stringify(body) }),
  });
  if (!response.ok) throw new Error(await response.text());
  return response.json();
}

const { cost } = await api('/v1/cost', input);
console.log('Quoted cents:', cost.customerCostCents);
// Preserve this request ID when retrying a submission.
const requestId = randomUUID();
let job = await api('/v1/generations', {
  ...input, request_id: requestId,
  max_cost_cents: cost.customerCostCents,
});
console.log('Request:', job.id);
while (!['succeeded', 'failed', 'canceled'].includes(job.status)) {
  await new Promise(resolve => setTimeout(resolve, 3000));
  job = await api('/v1/generations/' + job.id);
}
if (job.status !== 'succeeded') throw new Error(JSON.stringify(job.error || job.status));
console.log(job.result.assets);
```

## Input

Prompt

Resolution Aspect ratio

**Advanced settings**

output format

[Sign in to generate](https://www.made.app/login?returnUrl=%2Fplayground%2Fgrok-imagine-image-2%23playground)

Uses your credits. See the exact price before generating.

## Result

Example

![festival crowd at dusk with confetti generated with Grok Imagine Image 2.0 in Made](https://www.made.app/images/models/grok-imagine-image-2/festival-dusk.jpg)

Grok Imagine Image 2.0: Festival crowd

## Price

from 4 credits / image. 1k 4 credits · 2k 8 credits Check the exact cost for your settings before generating. Failed generations are refunded. [Full price sheet](https://www.made.app/price-sheet).

## More models by xAI

Compare available models and their prices. The exact price depends on your settings.

| Model name | Price | Resolution | Duration |
| --- | --- | --- | --- |
| [Grok Imagine Image](https://www.made.app/playground/grok-imagine-image) | 2 credits / image | — | — |
| [Grok Imagine Image Quality](https://www.made.app/playground/grok-imagine-image-quality) | from 5 credits / image | 1k · 2k | — |
| [Grok Imagine Video](https://www.made.app/playground/grok-imagine-video) | 8 credits / second | — | 1–15s |
| [Grok Imagine Video 1.5](https://www.made.app/playground/grok-imagine-video-1-5) | from 8 credits / second | 480p · 720p · 1080p | 1–15s |
| [Grok Imagine Video Extend](https://www.made.app/playground/grok-imagine-video-extend) | 8 credits / second | — | 2–10s |

---

Markdown version of https://www.made.app/playground/grok-imagine-image-2. Every public Made page has one at its URL plus .md (https://www.made.app/playground/grok-imagine-image-2.md). Site summary for AI assistants: https://www.made.app/llms.txt
