# API Reference (https://voicelabs.now/docs/api-reference)



Every operation of the VoiceLabs public API, generated from the same OpenAPI 3.1 document the
server publishes at [app.voicelabs.now/openapi.json](https://app.voicelabs.now/openapi.json) —
which is itself generated from the schemas the handlers validate with. Each page carries the
parameters, the request and response schemas, the statuses it can return, and a builder that
sends a real request.

New to the API? Start at the [Developer API](/api) overview: base URL, `x-api-key`
authentication, scopes, rate limits, and idempotency apply to every operation below.

## Generation [#generation]

Creating audio and text. These operations require a key with the `voice:generate` scope.

* [Create speech](/api-reference/generation/createSpeech) — `POST /v1/speech`
* [Create a transcription](/api-reference/generation/createTranscription) — `POST /v1/transcriptions`
* [Ensure the default voice](/api-reference/generation/ensureDefaultVoice) — `POST /v1/voices/default`

## Voice cloning [#voice-cloning]

Creating a cloned voice from a recording. Requires a key with the `voice:clone` scope — its own
scope, because it needs a recording of a real person.

* [Clone a voice](/api-reference/voice-cloning/cloneVoice) — `POST /v1/voices/clone`

## Voices and history [#voices-and-history]

Reading what is on the account. These need only `voice:read`, and never draw on the plan
allowance.

* [List voices](/api-reference/voices-and-history/listVoices) — `GET /v1/voices`
* [Get a generation](/api-reference/voices-and-history/getGeneration) — `GET /v1/generations/{generationId}`
* [Download generated audio](/api-reference/voices-and-history/getGenerationAudio) — `GET /v1/audio/{generationId}`
* [List captures](/api-reference/voices-and-history/listCaptures) — `GET /v1/captures`

<Callout type="info" title="Errors are documented per code">
  Every error is an RFC 9457 problem document whose `type` URI resolves to a page for that exact
  code at [app.voicelabs.now/errors](https://app.voicelabs.now/errors).
</Callout>
