---
title: "Design a voice from a description"
method: POST
path: "/voices/design"
---

# Design a voice from a description

`POST /voices/design`

## Request

- Base URL: `https://api.lazybird.app/v1`
- URL: `https://api.lazybird.app/v1/voices/design`
- Auth: one of:
  - API key in header `X-API-Key`
  - API key in query parameter `api_key`

Generates a new voice from a text description of who is speaking and returns a hosted MP3 sample of it speaking `text` (the description is never spoken). Each design uses characters equal to the length of `text`, with a minimum of 50. This does not create a voice; pass `sampleUrl` to `POST /voices` to keep it. Reuse the returned `seed` with the same description and text to reproduce the voice.

## Request body

- object
  - `description` string, required: Who is speaking: age, gender, pitch, energy, accent, emotion
  - `text` string, required: What the sample says
  - `language` string: Locale of `text`, e.g. `en-US`. Detected when omitted
  - `seed` integer: Omit for a new random voice

## Response `200`

Designed voice sample

- object
  - `sampleUrl` string, uri
  - `seed` integer
  - `duration` number: Sample length in seconds

## Other responses

- `400`: Invalid input
- `401`: Missing or invalid API key
- `422`: Plan limit reached (credits, voice slots or plan feature)
- `429`: Too many requests; retry after `Retry-After` seconds
- `500`: Server error

---

[API](https://skmtc.dev/lazybird/apis/lazybird-speech-api.md) · [All operations](https://skmtc.dev/lazybird/apis/lazybird-speech-api/llms.txt) · [OpenAPI document](https://skmtc.dev/lazybird/apis/lazybird-speech-api/revisions/aaa34f32852f?raw)
