Skip to content

Voices

Where a voice comes from: built-in presets, a written description, or a cloned speaker.

Overview

Choose a voice in one of three ways: pass a preset id, send a reference clip to clone, or describe the voice you want. Presets and cloning differ only in the fields you send. Voice design requires its own model id.

SendModelVoice sourceGuide
voicechorusOne of 56 built-in speakersVoice presets
ref_audio and ref_textchorus-cloneA specific real speakerVoice cloning
instructions with no voicechorus-designA voice synthesized from your descriptionVoice design

chorus is an alias for the preset and cloning models and does not reach voice design. Use chorus-design instead: an instructions-only request sent to chorus synthesizes the cloning model's default speaker, and no error tells you design never ran.

Choose a voice source

Start with a preset. It is the most consistent of the three, because the speaker is fixed rather than generated per request.

Use design when no preset fits the character you want. A designed voice belongs to no real person, so there is no consent question to answer. It is synthesized fresh per request, so the same description varies between runs.

Use cloning only when the voice has to be a particular person's. You need that person's audio and their permission. Nothing is created up front; the reference clip travels in every request you make.

List voices

GET /v1/audio/voices requires a model query parameter and needs no API key. Omitting model returns 400, and a model id that does not exist returns 404.

curl "https://api.sprag.ai/v1/audio/voices?model=chorus"

The response is the OpenAI voice-list envelope: an object of list, a data array, has_more (always false), and first_id / last_id. Each entry carries id, name, description, and a category that reads preset on every voice. Nothing sent to the speech endpoint is added to this list.

chorus lists 56 voices, the union of chorus-voices (9) and chorus-clone (47). chorus-design lists none, because a designed voice has no id. Ids come back lowercase, and voice matches them case-insensitively.