---
title: "Describe with Ideogram 3.0"
method: POST
path: "/v2/image/describe/ideogram-3"
tags: ["image-describe"]
---

# Describe with Ideogram 3.0

`POST /v2/image/describe/ideogram-3`

Generate a natural-language description of an image using Ideogram's
3.0-generation image captioner (a fine-tune of the Qwen2-VL
vision-language model).

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

Supported image formats include JPEG, PNG, and WebP.

## Request body

- DescribeImageIdeogramV3Request — Supply the source image either as an `image_asset_identifier` reference or (multipart requests only) as raw `image` bytes. Provide exactly one of the two forms; 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 image to describe (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`.

## Response `200`

Description(s) generated successfully.

- DescribeImageIdeogramV3Response — Response returned by `POST /v2/image/describe/ideogram-3`.
  - `description_id` string, required — URL-safe base64 ID of the description that was created.
  - `created` string, date-time, required — The time the request was created.
  - `descriptions` GeneratedDescription[], required — The generated description(s) for the provided image.
    - `text` string, required — The generated description for the provided image.

## Other responses

- `400` — Invalid input provided.
- `401` — Unauthorized.
- `402` — Insufficient credits or quota.
- `404` — The referenced source asset was not found.
- `422` — Image failed the safety check.
- `429` — Too many requests.
- `500` — Internal server error.
- `503` — The endpoint is temporarily unavailable.

## Changes

- **2026-09-18** `cb077a6ff580` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/ideogram/apis/ideogram-openapi-3-0/changes/v2/image/describe/ideogram-3/post.md)

---

[API](https://skmtc.dev/ideogram/apis/ideogram-openapi-3-0.md) · [All operations](https://skmtc.dev/ideogram/apis/ideogram-openapi-3-0/llms.txt) · [OpenAPI document](https://skmtc.dev/ideogram/apis/ideogram-openapi-3-0/revisions/52c1c6497d87?raw)
