---
title: "Design Swan S logo candidates"
method: POST
path: "/v2/tool/swan-s-logo-design"
tags: ["edit-workflow"]
---

# Design Swan S logo candidates

`POST /v2/tool/swan-s-logo-design`

Creates isolated logo candidates using either a shoe swatch or a supplied style reference. No shoe is required when using a supplied reference. 3D reference designs split the requested count between split and full coverage variants; completed variants remain available if another variant fails. Processing is asynchronous. Poll GET /v1/generations/{generation_id} until completed or failed.

## Request body

- SwanSLogoDesignRequest
  - `logo_style` '3d' | 'flat', required
  - `source_mode` 'shoe_swatch' | 'user_reference', required — Use a shoe color swatch or an uploaded logo reference as the style source.
  - `style_source_asset_identifier` AssetIdentifier, required — An identifier for an ideogram asset.
    - `asset_type` 'ASSET' | 'CANVAS_ASSET' | 'LAYERED_ASSET' | 'RESPONSE' | 'UPLOAD', required
    - `asset_id` string, required
  - `geometry_hero_asset_identifier` AssetIdentifier — An identifier for an ideogram asset.
    - `asset_type` 'ASSET' | 'CANVAS_ASSET' | 'LAYERED_ASSET' | 'RESPONSE' | 'UPLOAD', required
    - `asset_id` string, required
  - `logo_specification_asset_identifier` AssetIdentifier — An identifier for an ideogram asset.
    - `asset_type` 'ASSET' | 'CANVAS_ASSET' | 'LAYERED_ASSET' | 'RESPONSE' | 'UPLOAD', required
    - `asset_id` string, required
  - `flat_silhouette_asset_identifier` AssetIdentifier — An identifier for an ideogram asset.
    - `asset_type` 'ASSET' | 'CANVAS_ASSET' | 'LAYERED_ASSET' | 'RESPONSE' | 'UPLOAD', required
    - `asset_id` string, required
  - `num_images` 1 | 2 | 4 — Number of images to create.
  - `quality` 'LOW' | 'MEDIUM' | 'HIGH' — The quality tier for the image edit. Higher tiers may improve detail and take longer to complete.
  - `private` boolean — When true or omitted, keep outputs private. 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`

Accepted for asynchronous processing.

- SwanSLogoDesignResponse
  - `generation_id` string, required — URL-safe base64 ID accepted by GET /v1/generations/{generation_id}.

## Other responses

- `400` — Invalid asset roles, count, or options.
- `401` — Authentication required.
- `402` — Insufficient credits or quota.
- `403` — This account or app is not authorized.
- `404` — An input asset was not found or is not readable.
- `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/swan-s-logo-design/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/a235a15c0235?raw)
