Upscale an image with Topaz Text Refine, by asset id or by uploaded bytes

Upscale one image to 2x, 4x, or 8x its original resolution, up to a maximum output of 8192px per side. Supply the source either as an `image_asset_identifier` reference (an image already stored with Ideogram) or as raw `image` bytes (multipart requests only) — callers are never required to upload the asset first. If both are supplied, the reference wins and the bytes are ignored. Uploaded bytes are used for this request only and are not stored as an asset; upscales of a referenced asset keep a visible link to their source image. Upscaling takes no prompt: the model enhances the source image as-is. By default the request blocks until the upscaled image is ready and returns it in `data`. Set `async` to true to return immediately after the request is accepted, then poll for completion and results with `GET /v1/generations/{generation_id}` using the returned `generation_id`.

Authentication

Api-Keystring

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

Request

A request to upscale one image with Topaz Text Refine. Use multipart/form-data to upload image bytes directly, or application/json (or multipart with image_asset_identifier) to reference an existing asset instead.

image_asset_identifierobjectOptional
An identifier for an ideogram asset.
imagefileOptional

The source image to upscale (max size 50MB), as raw bytes; only common image formats such as JPEG, PNG, and WEBP are supported. Multipart requests only; ignored if image_asset_identifier is also supplied. The bytes are used for this request only and are not stored as an asset.

upscale_factorenumOptionalDefaults to X2

How much to enlarge the source image: 2x, 4x, or 8x its original width and height. Rejected when the output would exceed 8192px on either side.

Allowed values:
seedintegerOptional0-2147483647
Random seed. Set for reproducible generation.
asyncbooleanOptionalDefaults to false

When false (the default), the request blocks until the upscaled image is ready and returns it in data. When true, the request returns as soon as it is accepted; poll for completion and results with GET /v1/generations/{generation_id} using the returned generation_id.

Response

The upscaled image (synchronous requests), or an acknowledgement to poll with GET /v1/generations/{generation_id} (async requests).

generation_idstring

URL-safe base64 ID of the accepted generation. Accepted by the GET /v1/generations/{generation_id} polling endpoint.

seedinteger0-2147483647
Random seed. Set for reproducible generation.
widthinteger
The output width in pixels.
heightinteger
The output height in pixels.
datalist of objectsOptional

The upscaled image. Present only for synchronous requests (async omitted or false).

Errors

400
Bad Request Error
401
Unauthorized Error
402
Payment Required Error
404
Not Found Error
429
Too Many Requests Error
500
Internal Server Error
503
Service Unavailable Error