---
title: "POST /v1/images"
method: POST
path: "/v1/images"
tags: ["images"]
---

# POST /v1/images

`POST /v1/images`

## Request

- Base URL: `https://api.mangii.ai`
- URL: `https://api.mangii.ai/v1/images`
- Auth: HTTP bearer

## Headers

- `Idempotency-Key` string, required

## Request body

- CreateImageRequest
  - `prompt` string, required
  - `style_id` string, required
  - `quality` 'standard' | 'hd' | 'ultra'
  - `reference_image` string
  - `async` boolean

## Response `200`

Sync completion (opt-in, long-timeout host only)

- GenerationResult
  - `credits_charged` integer, required
  - `credits_remaining` integer, required
  - `quality` string, required
  - `request_id` string, required
  - `job_id` string
  - `story_id` string
  - `panel_id` string
  - `image_url` string: HTTPS URL of the finished panel.
  - `next_step` string: What to call next.

## Other responses

- `202`: Job accepted
- `402`: Uniform error
- `409`: Idempotency-Key is already in flight (idempotency_in_progress — retry the same key) or was reused with a different body (idempotency_conflict — pick a new key).
- `429`: Per-key rate limit exceeded for the current minute bucket. Every /v1 operation shares one per-key limiter, so any of them can return this.

---

[API](https://skmtc.dev/mangii/apis/mangii-headless-api.md) · [All operations](https://skmtc.dev/mangii/apis/mangii-headless-api/llms.txt) · [OpenAPI document](https://skmtc.dev/mangii/apis/mangii-headless-api/revisions/40aba1e6eae0?raw)
