Maximum number of voices to return













Audio Voices Endpoints












Examples
Real world code examples
List all voices
GET /v1/audio/voices
List all voices (excluding sample data)
limit
offset
Offset for pagination
type
Filter the voices between customs and presets
200
Successful Response
Playground
Test the endpoints live
curl https://api.mistral.ai/v1/audio/voices \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'curl https://api.mistral.ai/v1/audio/voices \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'200
{
"items": [
{
"created_at": "2025-12-17T10:25:07.818693Z",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"name": "My resource",
"user_id": null
}
],
"page": "1",
"page_size": "1000",
"total": 56,
"total_pages": "1"
}{
"items": [
{
"created_at": "2025-12-17T10:25:07.818693Z",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"name": "My resource",
"user_id": null
}
],
"page": "1",
"page_size": "1000",
"total": 56,
"total_pages": "1"
}Create a new voice
POST /v1/audio/voices
Create a new voice with a base64-encoded audio sample
Request model for creating a new voice with base64 audio.
age
color
description
gender
languages
name
retention_notice
Default Value: 30
sample_audio
Base64-encoded audio file
sample_filename
Original filename for extension detection
slug
tags
200
Successful Response
age
color
created_at
description
gender
id
languages
name
retention_notice
Default Value: 30
slug
tags
trimmed_seconds
user_id
Playground
Test the endpoints live
curl https://api.mistral.ai/v1/audio/voices \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"name": "My voice",
"sample_audio": "base64-encoded-audio-data"
}'curl https://api.mistral.ai/v1/audio/voices \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"name": "My voice",
"sample_audio": "base64-encoded-audio-data"
}'200
{
"created_at": "2025-12-17T10:25:07.818693Z",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"name": "My resource",
"user_id": null
}{
"created_at": "2025-12-17T10:25:07.818693Z",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"name": "My resource",
"user_id": null
}Get voice details
GET /v1/audio/voices/{voice_id}
Get voice details (excluding sample)
voice_id
200
Successful Response
age
color
created_at
description
gender
id
languages
name
retention_notice
Default Value: 30
slug
tags
trimmed_seconds
user_id
Playground
Test the endpoints live
curl https://api.mistral.ai/v1/audio/voices/{voice_id} \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'curl https://api.mistral.ai/v1/audio/voices/{voice_id} \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'200
{
"created_at": "2025-12-17T10:25:07.818693Z",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"name": "My resource",
"user_id": null
}{
"created_at": "2025-12-17T10:25:07.818693Z",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"name": "My resource",
"user_id": null
}Delete a custom voice
DELETE /v1/audio/voices/{voice_id}
Delete a custom voice
voice_id
200
Successful Response
age
color
created_at
description
gender
id
languages
name
retention_notice
Default Value: 30
slug
tags
trimmed_seconds
user_id
Playground
Test the endpoints live
curl https://api.mistral.ai/v1/audio/voices/{voice_id} \
-X DELETE \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json'curl https://api.mistral.ai/v1/audio/voices/{voice_id} \
-X DELETE \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json'200
{
"created_at": "2025-12-17T10:25:07.818693Z",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"name": "My resource",
"user_id": null
}{
"created_at": "2025-12-17T10:25:07.818693Z",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"name": "My resource",
"user_id": null
}Update voice metadata
PATCH /v1/audio/voices/{voice_id}
Update voice metadata (name, gender, languages, age, tags).
voice_id
Request model for partially updating voice metadata.
age
description
gender
languages
name
tags
200
Successful Response
age
color
created_at
description
gender
id
languages
name
retention_notice
Default Value: 30
slug
tags
trimmed_seconds
user_id
Playground
Test the endpoints live
curl https://api.mistral.ai/v1/audio/voices/{voice_id} \
-X PATCH \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{}'curl https://api.mistral.ai/v1/audio/voices/{voice_id} \
-X PATCH \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{}'200
{
"created_at": "2025-12-17T10:25:07.818693Z",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"name": "My resource",
"user_id": null
}{
"created_at": "2025-12-17T10:25:07.818693Z",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"name": "My resource",
"user_id": null
}Get voice sample audio
GET /v1/audio/voices/{voice_id}/sample
Get the audio sample for a voice
voice_id
200
Successful Response
Playground
Test the endpoints live
curl https://api.mistral.ai/v1/audio/voices/{voice_id}/sample \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'curl https://api.mistral.ai/v1/audio/voices/{voice_id}/sample \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'200
"base64-encoded-data""base64-encoded-data"