---
title: "Reframe a source image to a target size asynchronously"
method: POST
path: "/v1/async/ad-resizer"
tags: ["generate"]
---

# Reframe a source image to a target size asynchronously

`POST /v1/async/ad-resizer`

Accepts the same request as `POST /v1/ad-resizer` for asynchronous
processing and returns immediately with a `generation_id`. Poll
`GET /v1/generations/{generation_id}` to retrieve the reframed image(s);
the polled result is the final image, already cropped to the requested
aspect ratio. If a `webhook_url` is supplied, the images are additionally
POSTed to it once ready.

Supply the source image as either an `AssetIdentifier` reference
(`image_asset_identifier`) or the raw image bytes directly (`image`,
multipart requests only). Provide exactly one of the two; supplying both,
or neither, is rejected with a 400.

The target `resolution` (`WIDTHxHEIGHT`) sets the target aspect ratio and
selects the reframing layout, so it is required.

The model is fixed by the route, so no `model` field is accepted.

## Query parameters

- `webhook_url` string, 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 `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS; private and loopback hosts and the cloud metadata service are rejected.

## Request body

- ResizeAdImageRequest — Supply the source image as either an `AssetIdentifier` reference or (multipart requests only) raw image bytes; provide exactly one of `image_asset_identifier` / `image`. Supplying both, or neither, is rejected with a 400.
  - `image_asset_identifier` AssetIdentifier — An identifier for an ideogram asset.
    - `asset_type` 'ASSET' | 'CANVAS_ASSET' | 'LAYERED_ASSET' | 'RESPONSE' | 'UPLOAD', required
    - `asset_id` string, required
  - `image` string, binary — The source image to reframe (max size 10MB), as raw bytes; only JPEG, PNG, and WEBP formats are supported. Multipart requests only. Provide exactly one of `image_asset_identifier` or `image`.
  - `resolution` '300x250' | '336x280' | '300x600' | '1080x1080' | '1080x1350' | '1080x1920' | '1920x1080' | '728x90' | '160x600' | '970x250' | '320x50' | '300x50' | '320x100' | '1800x900' | '2400x2400' | '1200x3500', required — Target ad resolution, formatted as `WIDTHxHEIGHT`. Must be one of the supported ad resolutions listed above; any other value is rejected with a 400. Each returned image has exactly these pixel dimensions.
  - `prompt` string — Optional edit instruction to apply while reframing, for example "remove the logo" or "put the price bottom-right".
  - `quality` 'LOW' | 'MEDIUM' | 'HIGH'
  - `num_images` integer — The number of reframed variations to generate.
  - `store_assets` boolean — Reserved for a future release: accepted for forward compatibility but not yet applied. Resulting assets are not stored to your account regardless of this value.

## Response `200`

Request accepted for asynchronous processing.

- AsyncImageGenerationResponseV4 — Acknowledgement returned by the async (webhook) generation endpoints. The request is accepted for asynchronous processing and the generated images are POSTed to the supplied `webhook_url` once ready; this body carries only the generation_id so the caller can correlate the eventual webhook delivery.
  - `generation_id` string, required — 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.

## Other responses

- `400` — Invalid input provided.
- `401` — Unauthorized.
- `402` — Insufficient credits or quota.
- `403` — Not authorized to edit an image.
- `404` — Source asset not found.
- `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/bd40f367a834/schema)
