---
title: "Layerize Text"
method: POST
path: "/v1/ideogram-v3/layerize-text"
tags: ["generate"]
---

# Layerize Text

`POST /v1/ideogram-v3/layerize-text`

Analyzes an image to detect text regions, then returns each detected text block with its position, content, font information, and styling.

The response includes a text-erased base image (background with all text removed) and a flat list of detected text blocks.

Supported image formats include JPEG, PNG, and WebP (max size 10MB).

Image links are available for a limited period of time; if you would like to keep the image, you must download it.

## Response `200`

Text layers detected and extracted successfully.

- LayerizeTextResponse — The response containing detected text blocks and a text-erased base image. Image links are available for a limited period of time; if you would like to keep the image, you must download it.
  - `base_image_url` string, uri, required — URL of the image with all detected text removed.
  - `original_image_url` string, uri, nullable — URL of the original image with text intact.
  - `text_blocks` DetectedTextBlock[], required — Flat list of detected text regions in the image.
    - `x` integer, required — X coordinate in pixels from the top-left corner.
    - `y` integer, required — Y coordinate in pixels from the top-left corner.
    - `width` integer, required — Width of the text region in pixels.
    - `height` integer, required — Height of the text region in pixels.
    - `text` string, required — The detected text content. Line breaks are represented as \n.
    - `alignment` 'left' | 'center' | 'right', required — Detected text alignment.
    - `angle` number, float — Rotation angle in degrees (clockwise). Defaults to 0.
    - `font_name` string, nullable — Best-matching font name from the font library.
    - `font_alternatives` string[], nullable — Alternative font matches, ranked by similarity.
    - `font_size` integer, nullable — Detected font size in points.
    - `line_height` number, float, nullable — Line height multiplier (e.g., 1.2).
    - `color` string, nullable — Detected text color in hex format.
    - `formatting` string[], required — Detected text formatting effects.
    - `role` 'heading' | 'subheading' | 'body' | 'caption', nullable — Inferred typographic role of this text block.
  - `seed` integer, required — Random seed. Set for reproducible generation.

## Other responses

- `400` — Invalid input provided.
- `401` — Not authorized.
- `429` — Too many requests.

---

[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/b560c0ad0618/schema)
