# Grok Imagine

> A photo from text alone, at the lowest price. Good for drafts and for many tries.

Source: https://docs.nocamclub.com/models/grok-imagine

- **Model id:** `grok-imagine`
- **Makes:** photos
- **From:** 2 credits ($0.02)
- **Routes:** 1, so if it's down the model is down

## Writing prompts

- It takes no photos: for that, use `grok-imagine-quality`.
- Keep prompts direct, and judge the result for free ideas before moving to a dearer model.

## Good to know

- Our content check matters most here, since this model's own rules are reported to be softer. The same [content rules](https://docs.nocamclub.com/rules.md) apply.


## Call it

**cURL**

```bash
# A new Idempotency-Key for each new thing you want made, the same one when you retry it.
curl https://api.nocamclub.com/v1/generations \
  -H "Authorization: Bearer $NOCAM_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Prefer: wait=60" \
  -H "Idempotency-Key: grok-imagine-$(date +%s)" \
  -d '{
  "model": "grok-imagine",
  "input": {
    "prompt": "A yellow taxi in the rain at night, neon reflections on the wet road",
    "resolution": "1K",
    "aspect_ratio": "16:9"
  }
}'
```

**JavaScript**

```js
const res = await fetch("https://api.nocamclub.com/v1/generations", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.NOCAM_API_KEY}`,
    "Content-Type": "application/json",
    "Idempotency-Key": crypto.randomUUID(),
    Prefer: "wait=60",
  },
  body: JSON.stringify({
    "model": "grok-imagine",
    "input": {
      "prompt": "A yellow taxi in the rain at night, neon reflections on the wet road",
      "resolution": "1K",
      "aspect_ratio": "16:9"
    }
  }),
});
const generation = await res.json();
```

**Python**

```python
import os, uuid, requests

res = requests.post(
    "https://api.nocamclub.com/v1/generations",
    headers={"Authorization": f"Bearer {os.environ['NOCAM_API_KEY']}", "Prefer": "wait=60", "Idempotency-Key": str(uuid.uuid4())},
    json={
        "model": "grok-imagine",
        "input": {
            "prompt": "A yellow taxi in the rain at night, neon reflections on the wet road",
            "resolution": "1K",
            "aspect_ratio": "16:9"
        }
    },
    timeout=90,
)
generation = res.json()
```

**MCP tool**

```json
{
  "name": "generate",
  "arguments": {
    "model": "grok-imagine",
    "prompt": "A yellow taxi in the rain at night, neon reflections on the wet road",
    "resolution": "1K",
    "aspect_ratio": "16:9"
  }
}
```


## Options

| Field | Takes | Default | What it is |
|---|---|---|---|
| `prompt` (required) | Up to 10000 characters |  | What to make. Refer to files by order: img1, img2, video1, audio1. |
| `aspect_ratio` | `1:1`, `16:9`, `9:16`, `4:3`, `3:4`, `3:2`, `2:3` | `1:1` |  |
| `resolution` | `1K`, `2K` | `1K` |  |
| `output_format` | `png`, `jpeg` |  |  |

Any other field is refused. How files work: [Uploads](https://docs.nocamclub.com/api/uploads.md) and [Files in prompts](https://docs.nocamclub.com/api/files-in-prompts.md).

## Prices

In credits (1 credit = $0.01), as of 2026-11-07. For the current list: `GET /v1/models/grok-imagine`.

| Size | Credits |
|---|---|
| 1K | 2 |
| 2K | 2 |
