---
title: "Generate Voice Sample"
method: POST
path: "/v1/voices/{voice_id}/generate-sample"
---

# Generate Voice Sample

`POST /v1/voices/{voice_id}/generate-sample`

## Request

- Base URL: `https://api.kugelaudio.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.kugelaudio.com/v1/voices/{voice_id}/generate-sample`
- Auth: none declared
- TypeScript: <https://skmtc.dev/kugelaudio/apis/kugelaudio-tts-api/docs/v1/voices/:voice_id/generate-sample/post.ts> (a function with typed inputs; its response is checked against the schema)

Generate a sample WAV for a voice you own.

Requires at least one reference audio to be uploaded first. The
sample is generated through the TTS engine under an admission lease
(rate limit + concurrency + size cap) but is never charged — no
usage row is written, matching v1 — and stored via the admin seam.

## Path parameters

- `voice_id` string, required

## Response `200`

Successful Response

- GeneratedSampleInfo: Stored sample location returned after free sample synthesis.
  - `sample_s3_path` string, required
  - `sample_url` string, nullable

## Other responses

- `422`: Validation Error

## Changes

- **2026-08-13** `4527445250b7`: 2 info
  - added the optional property `sample_url` to the response with the `200` status
  - added the required property `sample_s3_path` to the response with the `200` status

[Operation history](https://skmtc.dev/kugelaudio/apis/kugelaudio-tts-api/changes/v1/voices/:voice_id/generate-sample/post.md)

---

[API](https://skmtc.dev/kugelaudio/apis/kugelaudio-tts-api.md) - [All operations](https://skmtc.dev/kugelaudio/apis/kugelaudio-tts-api/llms.txt) - [OpenAPI document](https://skmtc.dev/kugelaudio/apis/kugelaudio-tts-api/revisions/711945519e5c?raw)
