---
title: "Generate an image"
method: POST
path: "/v1/images/generate"
tags: ["Images"]
---

# Generate an image

`POST /v1/images/generate`

## Request

- Base URL: `https://www.postquick.ai/api`
- URL: `https://www.postquick.ai/api/v1/images/generate`
- Auth: HTTP bearer

Generate an AI image with any model from listModels (default: gemini-flash). The image is uploaded to storage and the response includes its public URL. A built-in model counts as 1 image generation; a catalog model counts what its price works out to (see `creditsUsed`). A failed generation is not charged.

## Request body

- object
  - `prompt` string, required: Detailed image prompt
  - `model` string: Image generation model: a model id from GET /v1/models?kind=image, or a built-in name ("gemini-flash", "gpt-image-1.5", "nano-banana-pro").

## Response `200`

Generated image.

- object
  - `success` true, required
  - `data` object, required
    - `imageUrl` string, uri, required
    - `model` string, required
    - `prompt` string, required
    - `creditsUsed` integer, required: Image generations counted against the monthly allowance.

## Other responses

- `400`: Unknown or unavailable model.
- `403`: Monthly image generation limit exceeded.

---

[API](https://skmtc.dev/postquick/apis/postquickai-api.md) · [All operations](https://skmtc.dev/postquick/apis/postquickai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/postquick/apis/postquickai-api/revisions/d9bc2bcf3042?raw)
