Get one cloned voice
/v1/custom-voices/{voice_id}Retrieve a cloned voice using its voice ID. Pass the ID as voice_id in the URL, for example GET /v1/custom-voices/AM:@narrator. Use this endpoint to check its status and see which speech models support it.
Authorization
BearerAuth Tenant key supplied as the Authorization Bearer token.
In: header
Path Parameters
Your voice ID, for example AM:@narrator. Copy the complete id value from the create response, or voices[].voice.id from the list.
1 <= length <= 120Response Body
application/json
application/json
application/json
application/json
application/json
application/json
// Replace AM:@narrator with the `id` returned by create.const response = await fetch("https://api.allmodels.io/v1/custom-voices/AM:@narrator", { headers: { Authorization: `Bearer ${process.env.ALLMODELS_API_KEY}` }});if (!response.ok) throw new Error(`AllModels request failed: ${response.status}`);console.log(await response.json());# Replace AM:@narrator with the `id` returned by create.import osimport requestsresponse = requests.get( "https://api.allmodels.io/v1/custom-voices/AM:@narrator", headers={"Authorization": f"Bearer {os.environ['ALLMODELS_API_KEY']}"}, timeout=30,)response.raise_for_status()print(response.json())# Replace AM:@narrator with the `id` returned by create.curl "https://api.allmodels.io/v1/custom-voices/AM:@narrator" \ -H "Authorization: Bearer $ALLMODELS_API_KEY"{ "id": "AM:@narrator", "voices": [ { "model": { "id": "soniox/tts-rt-v2", "name": "Soniox tts-rt-v2" }, "voice": { "id": "AM:@narrator", "name": "narrator", "description": null, "category": { "id": "cloned", "name": "Cloned" }, "languages": [], "scope": { "type": "organization" }, "status": "active", "fee_credits": 0, "first_seen_at": "2026-09-11T02:00:00.000Z", "last_seen_at": "2026-09-11T02:00:05.000Z" }, "providers": [ { "id": "soniox", "name": "Soniox", "provider_model_id": "tts-rt-v2", "status": "active", "failure_reason": null } ] } ], "total_count": 1, "has_more": false, "next_cursor": null}{ "error": "invalid_api_key"}{ "error": "tenant_disabled"}{ "error": "not_found"}{ "error": "custom_voices_failed", "message": "The request could not be completed. Try again; if you were creating or deleting a voice, check its status first."}{ "error": "custom_voices_unavailable"}Clone a voice POST
Clone a voice from a recording and use its voice ID to generate speech.
Delete a cloned voice DELETE
Delete a cloned voice using its voice ID. Pass the ID as `voice_id` in the URL, for example `DELETE /v1/custom-voices/AM:@narrator`. A successful request returns **204 No Content** with no response body. Deletion cannot be undone and may take about a minute to finish.
