---
title: "Repaint a masked region with Ideogram 3.0, by asset id or by uploaded bytes"
method: POST
path: "/v2/images/inpaint/ideogram-v3"
tags: ["images-inpaint"]
---

# Repaint a masked region with Ideogram 3.0, by asset id or by uploaded bytes

`POST /v2/images/inpaint/ideogram-v3`

Repaint the masked region of a source image from a text prompt with
Ideogram 3.0. For each of the source image and the mask, supply either
an `AssetIdentifier` reference (`image_asset_identifier` /
`mask_asset_identifier`) or the raw image bytes directly (`image` /
`mask`, multipart requests only). If both a reference and bytes are
supplied for the same input, the reference wins and the bytes are
ignored.

Optional style controls: a style preset or style reference images.
Supply style references as a saved style
(`style_reference_collection_id`), as
`style_reference_asset_identifiers` references (images already stored
with Ideogram), or as raw `style_reference_images` bytes (multipart
requests only). If more than one form is supplied, the collection wins
over the identifiers, and the identifiers win over the bytes.

The output matches the size of the source image (snapped to the
nearest resolution the model renders). By default the request blocks
until the images are ready and returns them in `data`. Set `async` to
true to return immediately after the request is accepted, then poll
for completion and results with `GET /v1/generations/{generation_id}`
using the returned `generation_id`.

## Request body

- InpaintImageIdeogramV3Request — Supply the source image and the mask each as either an `AssetIdentifier` reference or (multipart requests only) raw image bytes. At least one of `image_asset_identifier` / `image` is required, and likewise at least one of `mask_asset_identifier` / `mask`; if both a reference and bytes are given for the same input, the reference is used and the bytes are ignored.
  - `prompt` string, required — The prompt describing the repainted result.
  - `image_asset_identifier` AssetIdentifier — An identifier for an ideogram asset.
    - `asset_type` 'ASSET' | 'CANVAS_ASSET' | 'LAYERED_ASSET' | 'RESPONSE' | 'UPLOAD', required
    - `asset_id` string, required
  - `image` string, binary — The source image to repaint (max size 25MB), as raw bytes; only JPEG, PNG, and WEBP formats are supported. Multipart requests only; ignored if `image_asset_identifier` is also supplied.
  - `mask_asset_identifier` AssetIdentifier — An identifier for an ideogram asset.
    - `asset_type` 'ASSET' | 'CANVAS_ASSET' | 'LAYERED_ASSET' | 'RESPONSE' | 'UPLOAD', required
    - `asset_id` string, required
  - `mask` string, binary — A black-and-white mask the same size as the source image, as raw bytes. Black marks the region to repaint; only JPEG, PNG, and WEBP formats are supported. Multipart requests only; ignored if `mask_asset_identifier` is also supplied.
  - `magic_prompt` 'AUTO' | 'ON' | 'OFF' — Determine if MagicPrompt should be used in generating the request or not.
  - `num_images` integer — The number of images to generate.
  - `seed` integer — Random seed. Set for reproducible generation.
  - `rendering_speed` 'TURBO' | 'DEFAULT' | 'QUALITY' — The rendering speed to use.
  - `style_type` 'AUTO' | 'GENERAL' | 'REALISTIC' | 'DESIGN' | 'CUSTOM' | 'FICTION' | 'STYLIZED' — The style type to generate with.
  - `style_preset` '80S_ILLUSTRATION' | '90S_NOSTALGIA' | 'ABSTRACT_ORGANIC' | 'ANALOG_NOSTALGIA' | 'ART_BRUT' | 'ART_DECO' | 'ART_POSTER' | 'AURA' | 'AVANT_GARDE' | 'BAUHAUS' | 'BLUEPRINT' | 'BLURRY_MOTION' | 'BRIGHT_ART' | 'C4D_CARTOON' | 'CHILDRENS_BOOK' | 'COLLAGE' | 'COLORING_BOOK_I' | 'COLORING_BOOK_II' | 'CUBISM' | 'DARK_AURA' | 'DOODLE' | 'DOUBLE_EXPOSURE' | 'DRAMATIC_CINEMA' | 'EDITORIAL' | 'EMOTIONAL_MINIMAL' | 'ETHEREAL_PARTY' | 'EXPIRED_FILM' | 'FLAT_ART' | 'FLAT_VECTOR' | 'FOREST_REVERIE' | 'GEO_MINIMALIST' | 'GLASS_PRISM' | 'GOLDEN_HOUR' | 'GRAFFITI_I' | 'GRAFFITI_II' | 'HALFTONE_PRINT' | 'HIGH_CONTRAST' | 'HIPPIE_ERA' | 'ICONIC' | 'JAPANDI_FUSION' | 'JAZZY' | 'LONG_EXPOSURE' | 'MAGAZINE_EDITORIAL' | 'MINIMAL_ILLUSTRATION' | 'MIXED_MEDIA' | 'MONOCHROME' | 'NIGHTLIFE' | 'OIL_PAINTING' | 'OLD_CARTOONS' | 'PAINT_GESTURE' | 'POP_ART' | 'RETRO_ETCHING' | 'RIVIERA_POP' | 'SPOTLIGHT_80S' | 'STYLIZED_RED' | 'SURREAL_COLLAGE' | 'TRAVEL_POSTER' | 'VINTAGE_GEO' | 'VINTAGE_POSTER' | 'WATERCOLOR' | 'WEIRD' | 'WOODBLOCK_PRINT' — A predefined style preset that applies a specific artistic style to the generated image.
  - `style_reference_collection_id` string — A saved style to apply, by its URL-safe base64 collection id. Takes priority over `style_reference_asset_identifiers` and `style_reference_images` if more than one is supplied.
  - `style_reference_collection_version_id` string — Optional URL-safe base64 version id pinning a specific version of the `style_reference_collection_id` collection. Ignored without it.
  - `style_reference_asset_identifiers` AssetIdentifier[] — Existing upload or generated image assets to use as style references, by reference. Takes priority over `style_reference_images` if both are supplied.
    - `asset_type` 'ASSET' | 'CANVAS_ASSET' | 'LAYERED_ASSET' | 'RESPONSE' | 'UPLOAD', required
    - `asset_id` string, required
  - `style_reference_images` string[] — Images to use as style references (max 10, max size 25MB per image), as raw bytes; only JPEG, PNG, and WEBP formats are supported. Multipart requests only; ignored if a style reference collection or asset identifiers are also supplied.
  - `enable_copyright_detection` boolean, nullable — Optional. Opt this request into post-generation copyright detection. Adds detection latency; flagged images come back with `is_image_safe: false`.
  - `async` boolean — When false (the default), the request blocks until the repainted images are ready and returns them in `data`. When true, the request returns as soon as it is accepted; poll for completion and results with `GET /v1/generations/{generation_id}` using the returned `generation_id`.

## Response `200`

The repainted images (synchronous requests), or an acknowledgement to poll with `GET /v1/generations/{generation_id}` (`async` requests).

- InpaintImageIdeogramV3Response — Response returned by `POST /v2/images/inpaint/ideogram-v3`. Synchronous requests (the default) include the repainted images in `data`. Requests with `async` set to true omit `data`; poll for completion and results with `GET /v1/generations/{generation_id}` using the returned `generation_id`. The seed, width, and height report the values the request resolved to when the caller left them unset.
  - `generation_id` string, required — URL-safe base64 ID of the accepted generation. Accepted by the `GET /v1/generations/{generation_id}` polling endpoint.
  - `data` InpaintedImageObject[] — The repainted images, in generation order. Present only for synchronous requests (`async` omitted or false).
    - `url` string, uri, nullable — The direct link to the repainted image. Empty when the image did not pass safety checks.
    - `prompt` string, required — The final prompt the image was generated from.
    - `resolution` string, required — The resolution of the repainted image, formatted as "WIDTHxHEIGHT".
    - `is_image_safe` boolean, required — Whether the image passed safety checks. If false, `url` is empty.
    - `seed` integer, required — Random seed. Set for reproducible generation.
  - `seed` integer, required — Random seed. Set for reproducible generation.
  - `width` integer, required — The output width in pixels this request resolved to.
  - `height` integer, required — The output height in pixels this request resolved to.

## Other responses

- `400` — Invalid input provided.
- `401` — Unauthorized.
- `402` — Insufficient credits or quota.
- `404` — A referenced asset or style collection was not found.
- `422` — The prompt did not pass safety checks.
- `429` — Too many requests.
- `500` — Internal server error.
- `503` — The endpoint is temporarily unavailable.

---

[API](https://skmtc.net/ideogram/apis/ideogram-openapi-3-0.md) · [All operations](https://skmtc.net/ideogram/apis/ideogram-openapi-3-0/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ideogram/ideogram-openapi-3-0/revisions/015774bae5bc/schema)
