Remix an existing image with Ideogram 3.0, featuring a consistent character
Transform an existing image with Ideogram 3.0, guided by a text prompt and featuring a consistent character. Supply the source either as an image_asset_identifier reference (an image already stored with Ideogram) or as raw image bytes (multipart requests only). Supplying both is rejected rather than one being ignored. image_weight controls how closely the result follows the source; when omitted the server picks a value from your prompt.
Supply the character as a saved character (character_reference_collection_id), as character_reference_asset_identifiers references, or as raw character_reference_images bytes (multipart requests only, with an optional character_reference_mask marking where the character is in the reference). If more than one form is supplied, the collection wins over the identifiers, and the identifiers win over the bytes.
Omit resolution and aspect_ratio to keep the source image's shape. If you request a different shape, the source is center-cropped to fit it first, and whatever falls outside the new shape is discarded.
Style references may be supplied as a saved style (style_reference_collection_id), as style_reference_asset_identifiers references, or as raw style_reference_images bytes, with the same precedence as the character forms.
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.
Supplying a webhook_url makes the request asynchronous whatever async says: the response returns as soon as the request is accepted, and the finished result is POSTed to that URL.
Query parameters
When true, the request is validated and priced but not run: nothing is generated, stored, or billed, and no safety review is performed. The response is a PriceQuote object instead of the usual response for this endpoint. Send exactly the request you would send to generate, so the quote reflects the same options.
Request body
Example request
{
"image_asset_identifier": {
"asset_type": "RESPONSE",
"asset_id": "7uS_VESkRI6O3-sVgHQp_A"
},
"character_reference_asset_identifiers": [
{
"asset_type": "RESPONSE",
"asset_id": "7uS_VESkRI6O3-sVgHQp_A"
}
],
"seed": 12345,
"resolution": "1280x800",
"magic_prompt": "ON",
"style_reference_asset_identifiers": [
{
"asset_type": "RESPONSE",
"asset_id": "7uS_VESkRI6O3-sVgHQp_A"
}
],
"webhook_url": "https://api.example.com/webhooks/ideogram"
}Response
The remixed images (synchronous requests), or an acknowledgement to poll with GET /v1/generations/{generation_id} (async requests).
Example response
{
"data": [
{
"seed": 12345,
"prompt": "prompt",
"resolution": "1024x1024",
"url": "https://openapi-generator.tech",
"is_image_safe": true
},
{
"seed": 12345,
"prompt": "prompt",
"resolution": "1024x1024",
"url": "https://openapi-generator.tech",
"is_image_safe": true
}
],
"seed": 12345,
"generation_id": "generation_id"
}