---
title: "Generate Skin Handler"
method: POST
path: "/generate/skin"
---

# Generate Skin Handler

`POST /generate/skin`

## Request body

- GenerateSkinRequest
  - `attachmentsVersion` 2, nullable
  - `attachments` GenerationAttachmentGroups
    - `textureKind` string, nullable
    - `baseMob` string, nullable
    - `minecraftEdition` string, nullable
    - `armorSlots` string[], nullable
    - `referenceImages` union[]
      - union
        - DirectUploadAttachment
          - `textureKind` string, nullable
          - `baseMob` string, nullable
          - `minecraftEdition` string, nullable
          - `armorSlots` string[], nullable
          - `origin` 'direct_upload', required
          - `artifactId` string, required
          - `name` string, nullable
        - StudioAssetAttachment
          - `textureKind` string, nullable
          - `baseMob` string, nullable
          - `minecraftEdition` string, nullable
          - `armorSlots` string[], nullable
          - `origin` 'studio_asset', required
          - `artifactId` string, required
          - `studioAssetId` string, required
          - `name` string, nullable
        - LegacyUnknownAttachment
          - `textureKind` string, nullable
          - `baseMob` string, nullable
          - `minecraftEdition` string, nullable
          - `armorSlots` string[], nullable
          - `origin` 'legacy_unknown', required
          - `artifactId` string, required
          - `name` string, nullable
    - `textureImages` union[]
      - union
        - DirectUploadAttachment
          - `textureKind` string, nullable
          - `baseMob` string, nullable
          - `minecraftEdition` string, nullable
          - `armorSlots` string[], nullable
          - `origin` 'direct_upload', required
          - `artifactId` string, required
          - `name` string, nullable
        - StudioAssetAttachment
          - `textureKind` string, nullable
          - `baseMob` string, nullable
          - `minecraftEdition` string, nullable
          - `armorSlots` string[], nullable
          - `origin` 'studio_asset', required
          - `artifactId` string, required
          - `studioAssetId` string, required
          - `name` string, nullable
        - LegacyUnknownAttachment
          - `textureKind` string, nullable
          - `baseMob` string, nullable
          - `minecraftEdition` string, nullable
          - `armorSlots` string[], nullable
          - `origin` 'legacy_unknown', required
          - `artifactId` string, required
          - `name` string, nullable
    - `audioFiles` union[]
      - union
        - DirectUploadAttachment
          - `textureKind` string, nullable
          - `baseMob` string, nullable
          - `minecraftEdition` string, nullable
          - `armorSlots` string[], nullable
          - `origin` 'direct_upload', required
          - `artifactId` string, required
          - `name` string, nullable
        - StudioAssetAttachment
          - `textureKind` string, nullable
          - `baseMob` string, nullable
          - `minecraftEdition` string, nullable
          - `armorSlots` string[], nullable
          - `origin` 'studio_asset', required
          - `artifactId` string, required
          - `studioAssetId` string, required
          - `name` string, nullable
        - LegacyUnknownAttachment
          - `textureKind` string, nullable
          - `baseMob` string, nullable
          - `minecraftEdition` string, nullable
          - `armorSlots` string[], nullable
          - `origin` 'legacy_unknown', required
          - `artifactId` string, required
          - `name` string, nullable
    - `models3d` union[]
      - union
        - DirectUploadAttachment
          - `textureKind` string, nullable
          - `baseMob` string, nullable
          - `minecraftEdition` string, nullable
          - `armorSlots` string[], nullable
          - `origin` 'direct_upload', required
          - `artifactId` string, required
          - `name` string, nullable
        - StudioAssetAttachment
          - `textureKind` string, nullable
          - `baseMob` string, nullable
          - `minecraftEdition` string, nullable
          - `armorSlots` string[], nullable
          - `origin` 'studio_asset', required
          - `artifactId` string, required
          - `studioAssetId` string, required
          - `name` string, nullable
        - LegacyUnknownAttachment
          - `textureKind` string, nullable
          - `baseMob` string, nullable
          - `minecraftEdition` string, nullable
          - `armorSlots` string[], nullable
          - `origin` 'legacy_unknown', required
          - `artifactId` string, required
          - `name` string, nullable
    - `structureFiles` union[]
      - union
        - DirectUploadAttachment
          - `textureKind` string, nullable
          - `baseMob` string, nullable
          - `minecraftEdition` string, nullable
          - `armorSlots` string[], nullable
          - `origin` 'direct_upload', required
          - `artifactId` string, required
          - `name` string, nullable
        - StudioAssetAttachment
          - `textureKind` string, nullable
          - `baseMob` string, nullable
          - `minecraftEdition` string, nullable
          - `armorSlots` string[], nullable
          - `origin` 'studio_asset', required
          - `artifactId` string, required
          - `studioAssetId` string, required
          - `name` string, nullable
        - LegacyUnknownAttachment
          - `textureKind` string, nullable
          - `baseMob` string, nullable
          - `minecraftEdition` string, nullable
          - `armorSlots` string[], nullable
          - `origin` 'legacy_unknown', required
          - `artifactId` string, required
          - `name` string, nullable
  - `skin_id` string, required
  - `reference_images` string[], nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/creativemode/apis/creativemode-api.md) · [All operations](https://skmtc.dev/creativemode/apis/creativemode-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/creativemode/creativemode-api/revisions/eb480f5f0703/schema)
