---
title: "Update model metadata"
method: PATCH
path: "/v1/admin/models/{id}"
tags: ["admin/models"]
---

# Update model metadata

`PATCH /v1/admin/models/{id}`

## Request

- Base URL: `https://api.ditto.audio` (the document declares no server; this is the origin it was published from)
- URL: `https://api.ditto.audio/v1/admin/models/{id}`
- Auth: HTTP bearer

## Path parameters

- `id` string, required

## Request body

- UpdateVoiceModelDto
  - `slug` string: lowercase-kebab unique id
  - `name` string
  - `description` string
  - `engine` 'piper' | 'xtts' | 'kokoro' | 'pocket' | 'rvc' | 'system' | 'morpho'
  - `language` string
  - `quality` string
  - `version` string
  - `format` string
  - `sampleRate` number
  - `author` string
  - `license` string
  - `sourceUrl` string
  - `tags` string[]
  - `coverImageUrl` string
  - `isPublic` boolean
  - `isFeatured` boolean
  - `isPremium` boolean: Premium voice — access gated by the subscriber tier quota (premiumModels).
  - `baseSlug` string: For an overlay catalog voice (e.g. an XTTS studio speaker): the slug of the base XTTS voice whose heavy bundle this voice reuses. Only this voice’s latents are stored; the client loads the shared base and swaps them in.

## Response `200`

---

[API](https://skmtc.dev/ditto/apis/ditto-audio-api.md) · [All operations](https://skmtc.dev/ditto/apis/ditto-audio-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ditto/apis/ditto-audio-api/revisions/30c8d7c218da?raw)
