---
title: "Poll a generation"
method: GET
path: "/v1/generations/{generation_id}"
tags: ["generate"]
---

# Poll a generation

`GET /v1/generations/{generation_id}`

Retrieves the current status of an asynchronous generation, and its results once complete. Use the `generation_id` returned by the async generation endpoint. While the generation is `pending` or has `failed`, the response contains only `generation_id`, `status`, and `created`; the `response_type` and `data` fields are present only once `status` is `completed`.

## Path parameters

- `generation_id` string, required

## Response `200`

Generation status retrieved successfully.

- GenerationResponse — The current status and, when complete, result data for an asynchronous generation.
  - `generation_id` string, required — URL-safe base64 ID of the generation.
  - `status` 'pending' | 'completed' | 'failed', required — Current status of the generation. `pending`: still in progress; the response contains only `generation_id`, `status`, and `created`. `completed`: finished successfully; the response also includes `response_type` and `data`. `failed`: generation did not succeed; the response contains only `generation_id`, `status`, and `created`.
  - `created` string, date-time, required — The time the generation was created.
  - `response_type` 'url' — Present when `status` is `completed`; always "url" for this shape.
  - `failure_reason` string — A short machine-readable reason the generation failed, for example `content_policy_violation`. Present only when `status` is `failed`.
  - `data` GenerationResponseDataInner[] — A list of generated images or videos. Present when `status` is `completed`. Video entries carry an `object_type` of `video.generation`; entries without an `object_type` are images.
    - union
      - ImageGenerationObject — A single generated image. Model-agnostic shape returned by the generation polling endpoint.
        - `object_type` 'image.generation' — Discriminator marking this entry as a generated image in the polling endpoint's mixed data array.
        - `url` string, uri, nullable — The direct link to the image generated.
        - `prompt` string, required — The prompt used for the generation. This may be different from the original prompt.
        - `resolution` string, required — The resolution of the generated image, formatted as "{width}x{height}".
        - `is_image_safe` boolean, required — Whether this image passes safety checks. If false, the url field will be empty.
        - `seed` integer, required — Random seed. Set for reproducible generation.
      - VideoObject — A single generated video returned by the generation polling endpoint.
        - `object_type` 'video.generation' — Discriminator marking this entry as a generated video in the polling endpoint's mixed data array.
        - `url` string, uri, nullable — The direct link to the generated video.
        - `prompt` string, required — The prompt used for the generation.
        - `resolution` string, required — The resolution tier of the generated video.
        - `aspect_ratio` string, required — The actual aspect ratio of the produced video, formatted as "{width}:{height}".
        - `duration` integer, required — The actual measured length of the produced video in seconds.

## Other responses

- `400` — Invalid request ID provided.
- `401` — Not authorized.
- `404` — Request 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/versions/bd40f367a834/schema)
