Skip to main content
The official Ideogram API (v2) is supported as is: replace https://api.ideogram.ai with https://api.ephone.ai/ideogram and put your API key from this site in the Api-Key header, and code written against the official docs works unchanged. The OpenAI-compatible image endpoints and the unified task API work too.

Available models

Every model’s parameters, prices and further examples are on its model detail page (search for Ideogram in the model marketplace).

Official format

Use https://api.ephone.ai/ideogram followed by the official path; the body and response match the official API. Send JSON without files and multipart/form-data when uploading images.
Response:
Precise edit: upload the image and say what to change; pixels the edit does not touch are kept exactly.
Authorization: Bearer <API key> also works.

Sync, async and queries

  • Results come back in the response by default, as with the official API. The gateway waits up to 10 minutes; if the images are not ready by then, the response carries only generation_id without data; keep querying and the task is not lost.
  • With async: true or a webhook_url, the response returns a generation_id right away; query GET https://api.ephone.ai/ideogram/v2/generations/{generation_id}: keep waiting while status is pending; on completed the result is in data; on failed the reason is in failure_reason.
  • Replace background and remove object are async only, as with the official API; describe has no async mode and answers right away.
generation_id is this site’s task ID and can only be queried here.

Callbacks

With a webhook_url, the gateway sends one JSON POST to it when the task ends, with the same body as the query endpoint. Unlike the official webhooks:
  • The callback comes from this site, without the official X-Ideogram-Webhook-* headers or signature.
  • It is sent once without retries, and the URL must be a public http(s) address.
Put a random secret in the callback URL, re-check the result with the query endpoint when a callback arrives, and fall back to querying if none arrives.

OpenAI SDK

ideogram-4-5/generate, ideogram-4/generate, ideogram-4-transparent/generate and p-image-ideogram/generate work with POST /v1/images/generations; editing, background removal, object removal and background replacement work with POST /v1/images/edits. The gateway returns once the images are ready; with response_format: b64_json, an image that cannot be downloaded or is too large comes back as a url.
How parameters map: Other Ideogram parameters (magic_prompt, seed, rendering_speed, output_resolution, …) go at the top level of the body, in extra_body with the OpenAI SDK. Models without a prompt (background removal, object removal, background replacement) ignore whatever prompt you send.

Unified task API

Set model to the model name and use Ideogram’s parameter names in input; image fields take public URLs or Base64. See Task API.

Price quotes

Add ?dry_run=true to an official-format URL and send the same body: the gateway quotes this site’s price without generating or billing. The response matches the official one:
usd_micros is the total for the request (USD × 10⁶). Describe does not support price quotes: ?dry_run=true returns 400 and nothing is run or billed (Ideogram itself would run and bill it).

Billing

  • Billed per image actually delivered, at the per-image price on the model detail page; num_images is reserved on submission and settled by the images delivered.
  • Images that fail the safety checks (is_image_safe: false, empty url) are not billed, nor are requests rejected for invalid parameters or content moderation.

Differences from the official API

  • Result URLs are long-lived re-hosted copies when this site re-hosts results; otherwise they are the official temporary links, which expire after 24 hours, so download them promptly.
  • Asset references (image_asset_identifier and similar), collections and custom models stored in an Ideogram account are not supported; upload the images instead.
  • Background removal and replacement results are always private.
  • When every image fails the safety checks, a request answered in place returns 422 (Ideogram returns 200 with empty urls) and an async task ends as failed; neither is billed.
  • Query results do not include usage_cost_usd_micros.

Errors

Errors return {"error": "reason"}:

Ideogram API docs

Official endpoints and parameters

Task API

Submitting, querying and callbacks on the unified task API