edit-workflow

Transfer a shoe upper onto a preserved sole

Uses the sole-donor shoe as the output canvas, preserving its sole, camera, background, and lighting while transferring the upper from ordered references.

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

post/v2/tool/sole-swap

Request body

instructionstring

Optional additional direction for the sole swap.

aspect_ratiostring

Output aspect ratio. When omitted, the closest supported ratio is derived from the sole-donor base image.

base_generation_size'1k' | '2k' | '4k'

Output resolution tier. Defaults to 2k.

quality'low' | 'medium' | 'high'

The quality tier for the edit. Higher tiers may improve detail and take longer to complete.

seedinteger

Random seed. Set for reproducible generation.

num_images1 | 2 | 4

Number of sole-swap images to create.

privateboolean

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_urlstring 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.

Example request

{
  "aspect_ratio": "aspect_ratio",
  "private": true,
  "seed": 12345,
  "webhook_url": "https://api.example.com/webhooks/ideogram",
  "base_generation_size": "2k",
  "base_asset_identifier": {
    "asset_type": "RESPONSE",
    "asset_id": "7uS_VESkRI6O3-sVgHQp_A"
  },
  "instruction": "instruction",
  "num_images": 0,
  "upper_asset_identifiers": [
    {
      "asset_type": "RESPONSE",
      "asset_id": "7uS_VESkRI6O3-sVgHQp_A"
    },
    {
      "asset_type": "RESPONSE",
      "asset_id": "7uS_VESkRI6O3-sVgHQp_A"
    },
    {
      "asset_type": "RESPONSE",
      "asset_id": "7uS_VESkRI6O3-sVgHQp_A"
    },
    {
      "asset_type": "RESPONSE",
      "asset_id": "7uS_VESkRI6O3-sVgHQp_A"
    },
    {
      "asset_type": "RESPONSE",
      "asset_id": "7uS_VESkRI6O3-sVgHQp_A"
    }
  ],
  "quality": null
}

Response

Sole swap accepted for asynchronous processing.

generation_idstring required

URL-safe base64 ID accepted by the generation polling endpoint.

Example response

{
  "generation_id": "generation_id"
}

Changes

Changed in 3 of the 33 revisions of this API.612

    • ○

      added the optional property to the response with the status

      response-optional-property-added

    • ○

      added the optional property to the response with the status

      response-optional-property-added

    • ○

      added the optional property to the response with the status

      response-optional-property-added

    • ○

      added the optional property to the response with the status

      response-optional-property-added

  • 4e95197be44a67See the full diff
    • ▲

      removed the enum value 1K of the request property

      request-property-enum-value-removed

    • ▲

      removed the enum value 2K of the request property

      request-property-enum-value-removed

    • ▲

      removed the enum value 4K of the request property

      request-property-enum-value-removed

    • ▲

      removed the enum value HIGH of the request property

      request-property-enum-value-removed

    • ▲

      removed the enum value LOW of the request property

      request-property-enum-value-removed

    • ▲

      removed the enum value MEDIUM of the request property

      request-property-enum-value-removed

    • ○

      the request property default value changed from 2K to 2k

      request-property-default-value-changed

    • ○

      added the new 1k enum value to the request property

      request-property-enum-value-added

    • ○

      added the new 2k enum value to the request property

      request-property-enum-value-added

    • ○

      added the new 4k enum value to the request property

      request-property-enum-value-added

    • ○

      added the new high enum value to the request property

      request-property-enum-value-added

    • ○

      added the new low enum value to the request property

      request-property-enum-value-added

    • ○

      added the new medium enum value to the request property

      request-property-enum-value-added

    This revision also has 13 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • ○

      endpoint added

      endpoint-added

    This revision also has 13 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog