# Voices ## List `client.voices.list(RequestOptionsoptions?): VoiceListResponse` **get** `/voices` Retrieve the full catalog of voices available for AI calls. The list includes voices from Cartesia and ElevenLabs, each with a name, language, accent, and provider-specific ID. Use this endpoint to browse voices before assigning one to an assistant or a call. ### Returns - `VoiceListResponse` - `voices: Array` - `id: string` The ID of the voice. - `description: string` The description of the voice. - `language: "en" | "fr" | "es" | 5 more` The language of the voice. - `"en"` - `"fr"` - `"es"` - `"de"` - `"it"` - `"pt"` - `"ru"` - `"zh"` - `name: string` The name of the voice. - `provider: "cartesia" | "elevenlabs"` The provider of the voice. - `"cartesia"` - `"elevenlabs"` ### Example ```typescript import Revox from '@revoxai/sdk'; const client = new Revox({ apiKey: process.env['REVOX_API_KEY'], // This is the default and can be omitted }); const voices = await client.voices.list(); console.log(voices.voices); ``` ## Retrieve `client.voices.retrieve(stringid, VoiceRetrieveParamsquery, RequestOptionsoptions?): VoiceRetrieveResponse` **get** `/voices/{id}` Retrieve details for a single voice by its unique ID and provider. Returns the voice name, description, and provider metadata. ### Parameters - `id: string` - `query: VoiceRetrieveParams` - `provider: "cartesia" | "elevenlabs"` - `"cartesia"` - `"elevenlabs"` ### Returns - `VoiceRetrieveResponse` - `voice: Voice` - `id: string` - `name: string` - `description?: string` ### Example ```typescript import Revox from '@revoxai/sdk'; const client = new Revox({ apiKey: process.env['REVOX_API_KEY'], // This is the default and can be omitted }); const voice = await client.voices.retrieve('id', { provider: 'cartesia' }); console.log(voice.voice); ``` ## Preview `client.voices.preview(VoicePreviewParamsbody, RequestOptionsoptions?): void` **post** `/voices/preview` Generate a short audio preview for a given voice. Provide the voice ID and provider, and the API returns an audio/mpeg stream you can play back to hear how the voice sounds before assigning it to an assistant. ### Parameters - `body: VoicePreviewParams` - `provider: "cartesia" | "elevenlabs"` The provider to use for the preview. - `"cartesia"` - `"elevenlabs"` - `voiceId: string` The voice ID to generate a preview for. ### Example ```typescript import Revox from '@revoxai/sdk'; const client = new Revox({ apiKey: process.env['REVOX_API_KEY'], // This is the default and can be omitted }); await client.voices.preview({ provider: 'cartesia', voiceId: 'voiceId' }); ```