curl --request PATCH \
--url https://api.aireserve.com/v1/custom-voices/{voice_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Warm narrator v2",
"tone": "warm"
}
'import requests
url = "https://api.aireserve.com/v1/custom-voices/{voice_id}"
payload = {
"name": "Warm narrator v2",
"tone": "warm"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: 'Warm narrator v2', tone: 'warm'})
};
fetch('https://api.aireserve.com/v1/custom-voices/{voice_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"voice_id": "<string>",
"name": "<string>",
"description": "<string>",
"gender": "<string>",
"accent": "<string>",
"age": "<string>",
"language": "<string>",
"use_case": "<string>",
"tone": "<string>",
"created_at": "2023-11-07T05:31:56Z"
}Update custom voice
Update metadata for a custom voice owned by your organization. At least one field must be provided. Patchable fields: name, description, gender, accent, age, language, use_case, tone.
curl --request PATCH \
--url https://api.aireserve.com/v1/custom-voices/{voice_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Warm narrator v2",
"tone": "warm"
}
'import requests
url = "https://api.aireserve.com/v1/custom-voices/{voice_id}"
payload = {
"name": "Warm narrator v2",
"tone": "warm"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: 'Warm narrator v2', tone: 'warm'})
};
fetch('https://api.aireserve.com/v1/custom-voices/{voice_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"voice_id": "<string>",
"name": "<string>",
"description": "<string>",
"gender": "<string>",
"accent": "<string>",
"age": "<string>",
"language": "<string>",
"use_case": "<string>",
"tone": "<string>",
"created_at": "2023-11-07T05:31:56Z"
}Authorizations
Your AI Reserve API key (aireserve_api_…) from the API Keys page in the portal (https://portal.aireserve.com/keys).
Path Parameters
xAI custom voice id
1 - 255Body
At least one field must be provided. All fields are optional; pass null to clear a nullable field.
New display name. Cannot be set to null.
255Free-text description. Pass null to clear.
10000Speaker gender. Pass null to clear.
male, female, neutral, null Speaker accent (free text). Pass null to clear.
100Approximate age bracket. Pass null to clear.
young, middle-aged, old, null BCP-47 language code. Pass null to clear.
Intended use-case hint. Pass null to clear.
conversational, narration, characters, educational, advertisement, social_media, entertainment, null Tonal quality hint. Pass null to clear.
warm, casual, professional, friendly, authoritative, expressive, calm, null Response
Updated custom voice.
Allowlisted projection of an xAI custom voice object returned by create, read, and update operations. xAI-internal fields (team IDs, consent state) are excluded.