Skip to main content
Every synthesis request takes a voice_id. Chariot provides a catalog of ready-to-use voices across English and Indian languages and accents.

Listing voices

GET /v1/voices returns the voices available to your workspace.
Each voice includes its identity, preview URLs, per-model capabilities, and availability. This abbreviated example illustrates the response shape; fetch the catalog for current values:

Models and previews

Choose an entry in models and pass its model value as model_type in your TTS request. Use that entry’s speeds to select a speaking rate. Preview URLs and speaking rates are model-specific. Read models[].samples and models[].speeds; the response does not include top-level voice_sample or available_speeds fields. models[].samples maps the language of the preview text to its audio URL. For example, en identifies a sample generated from English text. It does not identify the speaker’s actual language or limit which languages you can synthesize. A model can have no preview samples. models[].max_chars is the limit for HTTP streaming and each WebSocket fragment and unflushed buffer. Sync has separate model limits. Use a voice only when status is published and restricted is false. Other voices return an empty models list. status_reason explains a failure; restriction_reason explains a current restriction. restricted_on_change describes a scheduled restriction and does not affect use today.

Filtering

Narrow the catalog with query parameters. Combine them freely:
The response includes total_voices and an X-Total-Count header with the matching count before pagination.

Available voices

Voice ids are stable, but the catalog grows over time. Fetch GET /v1/voices at runtime rather than hardcoding the full list.