---
title: "Finalize a custom voice after its latents are uploaded"
method: POST
path: "/v1/models/custom/{slug}/confirm"
tags: ["models"]
---

# Finalize a custom voice after its latents are uploaded

`POST /v1/models/custom/{slug}/confirm`

## 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/models/custom/{slug}/confirm`
- Auth: HTTP bearer

## Path parameters

- `slug` string, required

## Request body

- ConfirmCustomVoiceDto
  - `files` ConfirmUploadDto[], required: the uploaded files (s3Key + sha256)
    - `s3Key` string, required: s3Key returned by the presign call
    - `sha256` string: hex sha-256 for integrity

## Response `201`

---

[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)
