---
title: "POST /api/high-quality-images/"
method: POST
path: "/api/high-quality-images/"
tags: ["AI Tools"]
---

# POST /api/high-quality-images/

`POST /api/high-quality-images/`

## Request

- The document declares no server URL.
- Auth: API key in header `X-API-ID` and API key in header `X-API-KEY`

Generate or edit images with GPT-image-2.5 and get the results in the
response. Same request body and price as the asset generator; no job to poll.

## Request body

- HighQualityImagesRequest
  - `model_name` string, required: A GPT-image-2.5 model: `gpt-image-2.5-flare` or `gpt-image-2.5-sunburst`. Pass `image_urls` in `input_params` (or append `/edit`) to edit instead of generate.
  - `input_params` unknown, required

## Response `200`

- HighQualityImagesResponse
  - `id` string, uuid, required: Call id; matches the credit ledger entry.
  - `model_name` string, required
  - `status` 'done' | 'failed', required: * `done` - done * `failed` - failed
  - `failed_reason` string, required: Raw provider error text, kept for compatibility; read `error`.
  - `error` HighQualityImagesError, required
    - `type` 'moderation_blocked' | 'invalid_request' | 'timeout' | 'provider_error', required: * `moderation_blocked` - moderation_blocked * `invalid_request` - invalid_request * `timeout` - timeout * `provider_error` - provider_error
    - `retryable` boolean, required: True only for timeout and provider_error; resending a blocked or invalid request unchanged fails the same way.
    - `message` string, required: What happened and what to do.
    - `provider_code` string, nullable, required
    - `provider_message` string, nullable, required
    - `provider_request_id` string, nullable, required: OpenAI's request id, for escalating a block.
    - `moderation_stage` union, required
      - 'input' | 'output': * `input` - input * `output` - output
      - unknown
    - `moderation_categories` string[], required
  - `assets` HighQualityImagesAsset[], required
    - `type` string, required
    - `url` string, uri, required: CDN URL; the file lands shortly after the response, so a fetch in the first second may 404.
    - `b64_json` string, required: The image itself, base64, in the requested output_format.
  - `credits_used` number, double, required
  - `duration` number, double, required: Seconds spent generating.

## Changes

- **2026-11-03** `8423ba73b422`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/creatify/apis/creatify-ai-api/changes/api/high-quality-images/post.md)

---

[API](https://skmtc.dev/creatify/apis/creatify-ai-api.md) - [All operations](https://skmtc.dev/creatify/apis/creatify-ai-api/llms.txt) - [OpenAPI document](https://skmtc.dev/creatify/apis/creatify-ai-api/revisions/8423ba73b422?raw)
