Generate with Ideogram 4.0 asynchronously via webhook

Accepts an Ideogram 4.0 generation request for asynchronous processing and returns immediately with a generation_id. The generated images are POSTed to the supplied `webhook_url` once ready, in a payload that mirrors the synchronous response with an added generation_id for correlation. See [Webhooks](/ideogram-api/webhooks) for the delivery payload and how to verify webhook signatures.

Authentication

Api-Keystring

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

Query parameters

webhook_urlstringRequiredformat: "uri"
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 `/v1/.well-known/jwks.json`. Must be HTTPS; private and loopback hosts and the cloud metadata service are rejected.

Request

A request to generate an image with Ideogram 4.0.
text_promptstringOptional

A natural-language prompt for image generation. When supplied, magic-prompt is enabled automatically. Mutually exclusive with json_prompt.

json_promptobjectOptional

A structured prompt that conforms to the Ideogram 4.0 JSON contract. When supplied, magic-prompt is disabled and the structured prompt is consumed by the diffusion model directly. Mutually exclusive with text_prompt.

resolutionenumOptional
The 2K resolutions supported for Ideogram 4.0 image generation.
rendering_speedenumOptionalDefaults to DEFAULT

The rendering speed to use. For Ideogram V4, rendering_speed=FLASH is coming soon; requests with rendering_speed=FLASH currently return a 400.

Allowed values:

Response

Request accepted for asynchronous delivery.
generation_idstring

URL-safe base64 ID of the accepted generation. Matches the generation_id field delivered in the webhook payload, and the {generation_id} accepted by the generation polling endpoint.

Errors

400
Bad Request Error
401
Unauthorized Error
422
Unprocessable Entity Error
429
Too Many Requests Error