---
title: "Render a fashion sketch as product photography"
method: POST
path: "/v2/tool/sketch-to-render"
tags: ["edit-workflow"]
---

# Render a fashion sketch as product photography

`POST /v2/tool/sketch-to-render`

Converts one fashion sketch into photorealistic garment or product
imagery while preserving its silhouette, construction, colors, and
visible design details.

The request runs asynchronously. Poll
`GET /v1/generations/{generation_id}` with the returned `generation_id`
until the generation is completed or failed.

Supply exactly one sketch transport: an existing `AssetIdentifier` in
`sketch_asset_identifier`, or raw `sketch_image` bytes in a multipart
request. Supplying both or neither is rejected with a 400.

## Request body

- SketchToRenderRequest — Supply exactly one of `sketch_asset_identifier` or multipart `sketch_image` bytes. The entire source is transformed from an illustration into a photograph; masks are not accepted.
  - `sketch_asset_identifier` AssetIdentifier — An identifier for an ideogram asset.
    - `asset_type` 'ASSET' | 'CANVAS_ASSET' | 'LAYERED_ASSET' | 'RESPONSE' | 'UPLOAD', required
    - `asset_id` string, required
  - `sketch_image` string, binary — Raw fashion-sketch bytes. JPEG, PNG, WEBP, HEIF, AVIF, GIF, BMP, TIFF, and MPO are supported, up to 50 MB. Multipart requests only. Mutually exclusive with `sketch_asset_identifier`.
  - `instruction` string, required — Required material and rendering direction, plus any construction or design details that are not legible in the sketch.
  - `aspect_ratio` string — Aspect ratio of each output image. Defaults to `1:1` when omitted.
  - `quality` 'LOW' | 'MEDIUM' | 'HIGH' — The quality tier for the image edit. Higher tiers may improve detail and take longer to complete.
  - `seed` integer — Optional seed for repeatable results.
  - `num_images` integer — Number of product renders to create.
  - `private` boolean — When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.
  - `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.

## Response `200`

Sketch rendering accepted for asynchronous processing.

- SketchToRenderResponse — Acknowledgement that the workflow was accepted.
  - `generation_id` string, required — URL-safe base64 ID accepted by the generation polling endpoint.

## Other responses

- `400` — Invalid input provided.
- `401` — Unauthorized.
- `402` — Insufficient credits or quota.
- `403` — Not authorized to render sketches.
- `404` — The referenced sketch was not found or is not readable.
- `422` — The instruction did not pass prompt safety validation.
- `429` — Too many requests.

## Changes

- **2026-08-26** `204996bf317a` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/ideogram/apis/ideogram-openapi-3-0/changes/v2/tool/sketch-to-render/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-service-production.skmtc.workers.dev/v1/apis/ideogram/ideogram-openapi-3-0/revisions/3eb3216eed39/schema)
