---
title: "Edit a product image using an instruction and ordered references"
method: POST
path: "/v2/tool/skechers-style-editor"
tags: ["edit-workflow"]
---

# Edit a product image using an instruction and ordered references

`POST /v2/tool/skechers-style-editor`

Edits the base image while preserving details the instruction does not
change. Image 1 is the base; reference images are numbered from image 2
in the supplied order. Resolve image mentions to these numbers before
submitting. Descriptions identify the selected view or reference.

Poll GET /v1/generations/{generation_id} with the returned generation_id
until the workflow completes or fails.

## Request body

- SkechersStyleEditRequest
  - `base_asset_identifier` AssetIdentifier, required — An identifier for an ideogram asset.
    - `asset_type` 'ASSET' | 'CANVAS_ASSET' | 'LAYERED_ASSET' | 'RESPONSE' | 'UPLOAD', required
    - `asset_id` string, required
  - `reference_asset_identifiers` AssetIdentifier[] — Ordered reference images, numbered from image 2.
    - `asset_type` 'ASSET' | 'CANVAS_ASSET' | 'LAYERED_ASSET' | 'RESPONSE' | 'UPLOAD', required
    - `asset_id` string, required
  - `resolved_instruction` string, required — Edit instructions with known image mentions resolved to image numbers.
  - `base_description` string — Optional description of the selected base image or named view.
  - `reference_descriptions` string[] — One nonempty description per reference image, in the same order.
  - `aspect_ratio` string — Output ratio. When omitted, derive the nearest supported ratio from the base.
  - `base_generation_size` '1K' | '2K' | '4K' — Output resolution tier; corresponds to the app's low, medium, and high settings.
  - `num_images` 1 | 2 | 4 — Number of edited images 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`

Style edit accepted for asynchronous processing.

- SkechersStyleEditResponse
  - `generation_id` string, required — URL-safe base64 ID accepted by the generation polling endpoint.

## Other responses

- `400` — Invalid instruction, references, or output settings.
- `401` — Unauthorized.
- `402` — Insufficient credits or quota.
- `403` — This account or mini app is not authorized to use Style Editor.
- `404` — An input asset was not found or is not readable.
- `422` — The instruction or image descriptions did not pass prompt safety checks.
- `429` — Too many requests.

## Changes

- **2026-09-16** `a235a15c0235` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/ideogram/apis/ideogram-openapi-3-0/changes/v2/tool/skechers-style-editor/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/9d3ff2d98e27?raw)
