Skip to navigation

Generate with Ideogram 4.5

Generate images with Ideogram 4.5 from a natural-language or structured JSON prompt. Optionally upload source images as images using multipart/form-data to edit them with the prompt. Returns results directly by default; set async or supply a webhook_url to get a generation_id and poll GET /v2/generations/{generation_id}.

Authentication

Api-Keystring

API key for access control. Use in the header with the name "Api-Key"

Query parameters

dry_runbooleanOptionalDefaults to false

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

A request to generate images with Ideogram 4.5. Send it as application/json, or as multipart/form-data to include source images.

promptstringRequired1-10000 characters
The prompt to generate images from, or the edit instruction when source images are supplied. Natural language or a structured Ideogram 4.0 JSON prompt.
magic_promptenumOptionalDefaults to auto

Controls how a natural-language prompt is prepared. auto (the default) and on rewrite and expand the prompt before generation. off keeps your wording and only converts it into a structured prompt. A valid structured JSON prompt skips magic prompt unless magic_prompt is on. With source images, every mode converts the edit instruction into a structured edit prompt.

Allowed values:
imagesfilesOptional

Optional source images to edit (max 5, max 25MB each; JPEG, PNG, or WEBP). The first image is the one being edited; any others are extra references. Multipart requests only.

maskfileOptional

An optional mask that limits the edit to part of the first source image (max 25MB; JPEG, PNG, or WEBP). Multipart requests only. Black marks the area to edit and white the area to keep; values in between are rounded to the nearer of the two. The mask must have the same width and height as the first source image and contain both black and white areas. A masked request can include at most three other source images. With a mask, the output is always the first source image's own size, so size cannot be set.

sizestring or nullOptionalDefaults to auto

The output size: "auto", "source" or an exact "WIDTHxHEIGHT".

Without source images, an exact size must be one of the supported 1K/2K presets (for example 1024x1024, 2048x2048 or 1440x2880); "auto" or omitted picks a supported size based on the prompt. "source" is rejected.

With source images, "auto" (the default) picks a supported 2K size based on the source images and the prompt, and "source" returns the output at the first source image's own width and height (scaled down, keeping its proportions, if it is too large for the model). Every source image's aspect ratio must be between 1:6 and 6:1.

An exact size must have both sides a multiple of 32 and at least 256px, a total of at most 2048x2048 pixels, and an aspect ratio of at most 6:1. With source images, an exact size reshapes the source to it.

Pricing is tiered by the resolved output pixels: up to 1024x1024 bills as 1K, above that as 2K. An "auto" size bills as 2K.

qualityenumOptional

The rendering quality to use. Higher quality takes longer and costs more. Defaults to medium with source images and high without. very_low, the fastest and cheapest, requires source images.

Allowed values:
seedintegerOptional0-2147483647
Random seed. Set for reproducible generation.
num_imagesintegerOptional1-8Defaults to 1
The number of images to generate.
asyncbooleanOptionalDefaults to false

When false (the default), the request waits until the images are ready and returns them in data. When true, the request returns as soon as it is accepted; poll GET /v2/generations/{generation_id} with the returned generation_id for the result.

webhook_urlstringOptionalformat: "uri"<=2048 characters

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

The generated images (synchronous requests), or an acknowledgement to poll with GET /v2/generations/{generation_id} (async requests).

generation_idstring

URL-safe base64 ID of the generation. Use it to poll GET /v2/generations/{generation_id}.

seedinteger0-2147483647
Random seed. Set for reproducible generation.
datalist of objectsOptional

The generated images, in generation order. Present only for synchronous requests (async omitted or false).

Errors

400
Bad Request Error
401
Unauthorized Error
402
Payment Required Error
422
Unprocessable Entity Error
429
Too Many Requests Error
500
Internal Server Error
503
Service Unavailable Error