For AI agents: a documentation index is available at the root level at /llms.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Re-renders the masked regions of the product photo in the materials
shown by the reference images — matching each one's color, texture,
pattern scale, and orientation — while preserving the product's
silhouette, construction, seams, and shading, and keeping every region
outside the masks unchanged.
The request is processed asynchronously. Poll
`GET /v1/generations/{generation_id}` with the returned `generation_id`
until the generation is completed or failed.
Supply the product photo as either an `AssetIdentifier` reference
(`image_asset_identifier`) or the raw image bytes directly (`image`,
multipart requests only). Provide exactly one of the two forms;
supplying both, or neither, is rejected with a 400.
Supply the masks marking the regions to re-material as either
`AssetIdentifier` references (`mask_asset_identifiers`) or the raw mask
bytes directly (`masks`, multipart requests only) — up to 4 regions; a
single-region edit is a one-item list. Provide exactly one of the two
forms. Every mask must have the same pixel dimensions as the product
photo. White pixels mark the region to change; black pixels are
preserved. Alpha-only masks are also supported: opaque pixels mark the
region to change and transparent pixels are preserved.
Supply the material references as either `AssetIdentifier` references
(`material_asset_identifiers`) or the raw image bytes directly
(`materials`, multipart requests only). Provide exactly one of the two
forms. Send either one material, which every mask takes, or exactly one
material per mask, paired by position.
Authentication
Api-Keystring
API key for access control. Use in the header with the name “Api-Key”
Request
The product photo, one mask or several masks marking the regions to change, and either one shared material reference or one per mask. Use multipart/form-data to upload raw bytes directly, or application/json (or multipart with *_asset_identifiers fields) to reference existing assets instead.
image_asset_identifierobjectOptional
An identifier for an ideogram asset.
imagefileOptional
The product photo to edit (max size 25MB), as raw bytes; only
JPEG, PNG, and WEBP formats are supported. Multipart requests only.
Provide exactly one of image_asset_identifier or image.
mask_asset_identifierslist of objectsOptional
The masks marking the regions of the product photo to change, by
reference (max 4). Every mask must have the same pixel dimensions
as the product photo. White pixels mark the region to change; black
pixels are preserved. Alpha-only masks are also supported: opaque
pixels mark the region to change and transparent pixels are
preserved. Provide exactly one of `mask_asset_identifiers` or
`masks`.
masksfilesOptional
The masks marking the regions of the product photo to change (max
4, max size 25MB each), as raw bytes; only JPEG, PNG, and WEBP
formats are supported. Every mask must have the same pixel
dimensions as the product photo, and follows the same pixel rules
as `mask_asset_identifiers`. Multipart requests only. Provide
exactly one of `mask_asset_identifiers` or `masks`.
material_asset_identifierslist of objectsOptional
The material reference images, by reference. Only their material —
color, texture, pattern scale, and orientation — is applied to the
masked regions. Send one material, which every mask takes, or
exactly one per mask paired by position. Provide exactly one of
material_asset_identifiers or materials.
materialsfilesOptional
The material reference images (max size 25MB each), as raw bytes;
only JPEG, PNG, and WEBP formats are supported. Only their material
— color, texture, pattern scale, and orientation — is applied to
the masked regions. Send one material, which every mask takes, or
exactly one per mask paired by position. Multipart requests only.
Provide exactly one of `material_asset_identifiers` or `materials`.
The aspect ratio of the generated image. Defaults to the aspect
ratio of the product photo when omitted, which preserves the
original framing exactly. When a different ratio is requested, the
scene is extended to fill the new shape rather than cropped, so
part of the frame is newly generated. Supported values are `1:1`,
`3:4`, `4:3`, `16:9`, and `9:16`.
qualityenumOptional
The quality tier for the image edit. Higher tiers may improve detail
and take longer to complete.
HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a
JSON POST to this URL once all images for the request have finished
generating. The body mirrors the synchronous generate response:
`request_id`, `created`, and a `data` array
containing every generated image (`url`, `prompt`, `resolution`, `seed`,
`is_image_safe`). Each delivery is signed with Ed25519 and verifiable
against the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;
private and loopback hosts and the cloud metadata service are rejected.
Response
Material swap accepted for asynchronous processing.
generation_idstring
URL-safe base64 ID accepted by the generation polling endpoint.
Errors
400
Bad Request Error
401
Unauthorized Error
402
Payment Required Error
403
Forbidden Error
429
Too Many Requests Error
Re-renders the masked regions of the product photo in the materials
shown by the reference images — matching each one’s color, texture,
pattern scale, and orientation — while preserving the product’s
silhouette, construction, seams, and shading, and keeping every region
outside the masks unchanged.
The request is processed asynchronously. Poll
GET /v1/generations/{generation_id} with the returned generation_id
until the generation is completed or failed.
Supply the product photo as either an AssetIdentifier reference
(image_asset_identifier) or the raw image bytes directly (image,
multipart requests only). Provide exactly one of the two forms;
supplying both, or neither, is rejected with a 400.
Supply the masks marking the regions to re-material as either
AssetIdentifier references (mask_asset_identifiers) or the raw mask
bytes directly (masks, multipart requests only) — up to 4 regions; a
single-region edit is a one-item list. Provide exactly one of the two
forms. Every mask must have the same pixel dimensions as the product
photo. White pixels mark the region to change; black pixels are
preserved. Alpha-only masks are also supported: opaque pixels mark the
region to change and transparent pixels are preserved.
Supply the material references as either AssetIdentifier references
(material_asset_identifiers) or the raw image bytes directly
(materials, multipart requests only). Provide exactly one of the two
forms. Send either one material, which every mask takes, or exactly one
material per mask, paired by position.
The masks marking the regions of the product photo to change, by
reference (max 4). Every mask must have the same pixel dimensions
as the product photo. White pixels mark the region to change; black
pixels are preserved. Alpha-only masks are also supported: opaque
pixels mark the region to change and transparent pixels are
preserved. Provide exactly one of mask_asset_identifiers or
masks.
The masks marking the regions of the product photo to change (max
4, max size 25MB each), as raw bytes; only JPEG, PNG, and WEBP
formats are supported. Every mask must have the same pixel
dimensions as the product photo, and follows the same pixel rules
as mask_asset_identifiers. Multipart requests only. Provide
exactly one of mask_asset_identifiers or masks.
The material reference images (max size 25MB each), as raw bytes;
only JPEG, PNG, and WEBP formats are supported. Only their material
— color, texture, pattern scale, and orientation — is applied to
the masked regions. Send one material, which every mask takes, or
exactly one per mask paired by position. Multipart requests only.
Provide exactly one of material_asset_identifiers or materials.
The aspect ratio of the generated image. Defaults to the aspect
ratio of the product photo when omitted, which preserves the
original framing exactly. When a different ratio is requested, the
scene is extended to fill the new shape rather than cropped, so
part of the frame is newly generated. Supported values are 1:1,
3:4, 4:3, 16:9, and 9:16.
HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a
JSON POST to this URL once all images for the request have finished
generating. The body mirrors the synchronous generate response:
request_id, created, and a data array
containing every generated image (url, prompt, resolution, seed,
is_image_safe). Each delivery is signed with Ed25519 and verifiable
against the public keys at https://api.ideogram.ai/v1/.well-known/jwks.json. Must be HTTPS;
private and loopback hosts and the cloud metadata service are rejected.