> For the complete documentation index, see [llms.txt](https://docs.ideogram.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ideogram.ai/using-ideogram/features-and-tools/prompt-builder.md).

# Prompt Builder

Prompt Builder is a visual tool for crafting structured JSON captions for **Ideogram 4.0** — without writing JSON by hand. It gives you a guided interface for defining your scene, placing elements precisely using bounding boxes, and watching the JSON prompt build in real time as you work.

It's designed for users who want the layout control and color precision that JSON prompting offers, but prefer a visual, form-based approach over writing raw JSON.

## Accessing Prompt Builder

Prompt Builder is accessible from the **Explore** page at [ideogram.ai/t/explore](https://ideogram.ai/t/explore). Select **Prompt Builder** from the tabs at the top of the prompt box to open it.

![Prompt Builder tab on the Explore page prompt box](/files/HzxrduhZwZnTFouUwZxJ)

Once open, Prompt Builder displays a three-panel layout:

* **Left panel** — Your input: scene settings, background, and elements
* **Center canvas** — A visual grid where you place and resize bounding boxes
* **Right panel** — A live JSON preview that updates as you fill in each field

![Prompt Builder overview showing the three-panel layout](/files/H93SDv7gp4AE6ef70IyN)

***

## Two Modes: Manual and Generate

Prompt Builder has two modes, selectable via the **Manual** and **Generate** tabs at the top of the left panel.

### Manual

Use Manual mode when you want full control over the structure of your scene. You define the scene description, background, aspect ratio, and each individual element yourself.

### Generate

Use Generate mode when you want Prompt Builder to create the scene structure for you. Simply describe your image in plain language and click **Generate scene** — Prompt Builder will automatically populate the scene fields, background, and elements based on your description.

![Generate mode with a plain-text description field and Generate scene button](/files/3jQTMNGiQ1059fi1nSnG)

This is the fastest way to get started with a complex composition. Once the scene is generated, you can switch to Manual mode to fine-tune individual elements.

***

### Manual Mode Walkthrough

### Scene

The **Scene** section at the top of the left panel contains two fields:

* **Aspect ratio** — Choose the aspect ratio for your image. This controls the shape of the canvas in the center panel.
* **Scene description** — A short description of the overall image. This maps to `high_level_description` in the JSON output.

### Background

The **Background** field describes the setting or environment behind your elements — the sky, surface, room, landscape, or any other backdrop. This maps to `compositional_deconstruction.background` in the JSON.

### Elements

The **Elements** section is where you add the individual objects and text that appear in your scene. Each element gets its own bounding box on the canvas and its own entry in the JSON.

Click **Add object** to add a visual subject, or **Add text** to add in-image text.

For each element you can set:

* **Type** — Object or Text
* **Description** — What the element looks like (for objects), or visual styling notes (for text)
* **Text** — The literal text string to render (for text elements only)

Each element is listed in the left panel and shown as a labeled, color-coded bounding box on the canvas.

![Manual mode showing a fully built scene with multiple elements, bounding boxes on the canvas, and the live JSON preview on the right](/files/pyLO1I400xDf7vsaFEyZ)

### Placing Bounding Boxes

Bounding boxes define where each element appears in the frame. There are two ways to set them:

1. **Draw on the canvas** — Click and drag directly on the grid to draw a bounding box for the currently selected element.
2. **Edit numerically** — The bounding box coordinates are reflected in the JSON panel on the right and update in real time.

Each element's bounding box is shown in a distinct color matching its entry in the element list, making it easy to see which box belongs to which element.

![Element editing panel showing a selected element with its description field and corresponding bounding box highlighted on the canvas](/files/MMWREjU9rFWXbS65fqVX)

***

## The JSON Panel

The right panel shows a live preview of the JSON caption as you build it. Every field you fill in — scene description, background, element descriptions, bounding boxes — is instantly reflected in the structured output.

You can:

* **Download** the JSON using the download icon at the top of the panel
* **Copy** the JSON to your clipboard using the copy icon
* **Import** an existing JSON caption using the **Import** button at the top right of the page, to load and edit a previously saved prompt

***

## Generating from Prompt Builder

Once your prompt is ready, click **Enhance & apply prompt** at the bottom right of the screen. This sends your structured JSON caption to the Ideogram generator and queues your images for generation.

You can follow generation progress from the **Generating images...** indicator that appears at the bottom of the screen once the job is submitted. Click **View in Creations** to go directly to your generated images once they're ready.

<figure><img src="/files/pwVPdG1Mas8wixedSIE9" alt="Prompt box on the generate page filled with a structured JSON caption describing a bear chasing a fox through an autumn forest"><figcaption></figcaption></figure>

![Generation progress indicator showing four images at 6% with a View in Creations button](/files/LW1QQjKGNQKTzbbaLmkv)

***

## Other Controls

* **Reset all** — Clears all fields and resets the canvas to a blank state. Available at the top right of the page.
* **Import** — Loads an existing JSON caption into Prompt Builder so you can edit and re-use it.
* **Build from image** — Generates a structured JSON caption from an uploaded image, populating the scene and element fields automatically based on what the model detects in the image.
* **Generate prompt** — Generates a plain-text prompt from the current canvas state without opening the full generator.

***

## Tips

* Use **Generate mode** first to scaffold a complex scene quickly, then switch to **Manual** to adjust individual element descriptions or bounding boxes.
* Draw bounding boxes that don't overlap, especially for text elements — overlapping boxes can cause elements to compete for the same canvas region.
* The JSON panel is fully editable. If you prefer to tweak a value directly in JSON rather than through the form, you can do so.
* Prompt Builder is designed specifically for **Ideogram 4.0**. The JSON caption format it produces is optimized for that model.

For more on the JSON caption format and how bounding boxes work, see the [Prompting Guide — JSON Prompting](https://claude.ai/chat/818e9ae9-6f23-4a27-aed1-4a88ea9855c5).
