# GPT Image 2

> Anything with exact words on it: posters, signs, covers. Also strong from text alone.

Source: https://docs.nocamclub.com/models/gpt-image-2

- **Model id:** `gpt-image-2`
- **Makes:** photos
- **From:** 4 credits ($0.04)
- **Routes:** 2

## Writing prompts

- Write the words exactly, say where they go, and add "the spelling must be exact".
- Say what shouldn't be there as well: "no words, letters, logos or people" gives you a clean background.
- At 2K and 4K it's sold in medium quality only. Check `prices`.


## A real result: A poster with real words

![A street poster: the purple character holds up a glowing lime key under the headline ONE KEY. EVERY MODEL. and the words NoCam API.](https://docs.nocamclub.com/examples/poster.jpg)

Made through this API: 768×1024, 4 credits, 40 seconds, from [this photo](https://docs.nocamclub.com/examples/mascot.jpg). The call below is the one that made it.

## 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: gpt-image-2-$(date +%s)" \
  -d '{
  "model": "gpt-image-2",
  "input": {
    "prompt": "A bold street poster. the purple character from img1, with the same black cap, yellow sunglasses, black hoodie, cargo pants and sneakers holds up a big glowing lime green key. Black background with spray paint texture. At the top, the large headline in white block letters: ONE KEY. EVERY MODEL. At the bottom, smaller lime green letters: NoCam API. The spelling must be exact.",
    "resolution": "1K",
    "quality": "medium",
    "aspect_ratio": "3:4",
    "images": [
      "https://docs.nocamclub.com/examples/mascot.jpg"
    ]
  }
}'
```

**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": "gpt-image-2",
    "input": {
      "prompt": "A bold street poster. the purple character from img1, with the same black cap, yellow sunglasses, black hoodie, cargo pants and sneakers holds up a big glowing lime green key. Black background with spray paint texture. At the top, the large headline in white block letters: ONE KEY. EVERY MODEL. At the bottom, smaller lime green letters: NoCam API. The spelling must be exact.",
      "resolution": "1K",
      "quality": "medium",
      "aspect_ratio": "3:4",
      "images": [
        "https://docs.nocamclub.com/examples/mascot.jpg"
      ]
    }
  }),
});
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": "gpt-image-2",
        "input": {
            "prompt": "A bold street poster. the purple character from img1, with the same black cap, yellow sunglasses, black hoodie, cargo pants and sneakers holds up a big glowing lime green key. Black background with spray paint texture. At the top, the large headline in white block letters: ONE KEY. EVERY MODEL. At the bottom, smaller lime green letters: NoCam API. The spelling must be exact.",
            "resolution": "1K",
            "quality": "medium",
            "aspect_ratio": "3:4",
            "images": [
                "https://docs.nocamclub.com/examples/mascot.jpg"
            ]
        }
    },
    timeout=90,
)
generation = res.json()
```

**MCP tool**

```json
{
  "name": "generate",
  "arguments": {
    "model": "gpt-image-2",
    "prompt": "A bold street poster. the purple character from img1, with the same black cap, yellow sunglasses, black hoodie, cargo pants and sneakers holds up a big glowing lime green key. Black background with spray paint texture. At the top, the large headline in white block letters: ONE KEY. EVERY MODEL. At the bottom, smaller lime green letters: NoCam API. The spelling must be exact.",
    "resolution": "1K",
    "quality": "medium",
    "aspect_ratio": "3:4",
    "images": [
      "https://docs.nocamclub.com/examples/mascot.jpg"
    ]
  }
}
```


## 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`, `21:9` | `1:1` |  |
| `resolution` | `1K`, `2K`, `4K` | `1K` |  |
| `quality` | `low`, `medium`, `high` | `medium` |  |
| `output_format` | `png`, `jpeg` |  |  |
| `images` | Up to 5 |  | Photos: file ids from /v1/uploads, or https addresses. |

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/gpt-image-2`.

| Size | low | medium | high |
|---|---|---|---|
| 1K | 4 | 4 | 4 |
| 2K | — | 8 | — |
| 4K | — | 12 | — |
