Layerize the text in an image
Decompose a flat image into an editable design: the text in the image is detected, erased from the image, and returned as positioned text blocks with matched fonts, sizes, and colors, alongside a text-free base image.
Supply the source either as an image_asset_identifier reference (an image already stored with Ideogram) or as raw image bytes (multipart requests only). Provide exactly one of the two forms; supplying both, or neither, is rejected with a 400.
A prompt describing the image can guide text detection; when omitted, detection runs on the image alone.
By default the request blocks until layerization is complete and returns the result 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.
Request body
Example request
{
"image_asset_identifier": {
"asset_type": "RESPONSE",
"asset_id": "7uS_VESkRI6O3-sVgHQp_A"
},
"seed": 12345,
"webhook_url": "https://api.example.com/webhooks/ideogram"
}Response
The layerized design (synchronous requests), or an acknowledgement to poll with GET /v1/generations/{generation_id} (async requests).
Example response
{
"data": [
{
"seed": 12345,
"object_type": "layerized_image",
"resolution": "1024x1024",
"url": "https://openapi-generator.tech",
"base_image_url": "https://openapi-generator.tech",
"is_image_safe": true,
"text_blocks": [
{
"role": "heading",
"color": "#212121",
"font_alternatives": [
"font_alternatives",
"font_alternatives"
],
"font_size": 2,
"font_name": "font_name",
"line_height": 7.0614014,
"x": 0,
"width": 1,
"y": 6,
"angle": 5.637377,
"text": "Hello World",
"alignment": "left",
"formatting": [
"bold",
"bold"
],
"height": 5
},
{
"role": "heading",
"color": "#212121",
"font_alternatives": [
"font_alternatives",
"font_alternatives"
],
"font_size": 2,
"font_name": "font_name",
"line_height": 7.0614014,
"x": 0,
"width": 1,
"y": 6,
"angle": 5.637377,
"text": "Hello World",
"alignment": "left",
"formatting": [
"bold",
"bold"
],
"height": 5
}
]
},
{
"seed": 12345,
"object_type": "layerized_image",
"resolution": "1024x1024",
"url": "https://openapi-generator.tech",
"base_image_url": "https://openapi-generator.tech",
"is_image_safe": true,
"text_blocks": [
{
"role": "heading",
"color": "#212121",
"font_alternatives": [
"font_alternatives",
"font_alternatives"
],
"font_size": 2,
"font_name": "font_name",
"line_height": 7.0614014,
"x": 0,
"width": 1,
"y": 6,
"angle": 5.637377,
"text": "Hello World",
"alignment": "left",
"formatting": [
"bold",
"bold"
],
"height": 5
},
{
"role": "heading",
"color": "#212121",
"font_alternatives": [
"font_alternatives",
"font_alternatives"
],
"font_size": 2,
"font_name": "font_name",
"line_height": 7.0614014,
"x": 0,
"width": 1,
"y": 6,
"angle": 5.637377,
"text": "Hello World",
"alignment": "left",
"formatting": [
"bold",
"bold"
],
"height": 5
}
]
}
],
"seed": 12345,
"generation_id": "generation_id"
}