Get one cloned voice (SDK get)
/el/v1/voices/{voice_id}Reads one voice with ElevenLabs voices.get(). Only voices your own organization cloned are addressable here — use the voice listings to discover the shared catalogue — and a clone that is not yet usable answers 404 until it is. Addressed by the AM:@<name> voice ID, which is the only voice reference AllModels publishes.
Tenant key (ElevenLabs SDK convention).
In: header
Path Parameters
The AllModels AM:@<name> voice ID.
1 <= length <= 120Response Body
application/json
application/json
application/json
fetch("https://example.com/el/v1/voices/AM:@narrator", { method: "GET"}){ "voice_id": "AM:@narrator", "name": "narrator", "labels": { "language": "en" }, "category": "cloned", "available_for_tiers": [], "high_quality_base_model_ids": []}{ "error": "missing_api_key"}{ "detail": { "message": "no cloned voice with this id belongs to your organization", "status": "voice_not_found" }}Clone a voice (SDK add) POST
Clones a voice with ElevenLabs `voices.add()`. The returned `voice_id` is an AllModels voice ID and works as the `{voice_id}` path parameter on the `/el` text-to-speech endpoints. AllModels clones on ITS OWN providers, not on ElevenLabs: send `x-allmodels-provider` to choose one, or let AllModels pick the provider that needs nothing the SDK cannot send. Cloning is charged once, when the voice is created, and only clone voices you have the speaker's permission to use — sending this request is that attestation.
Delete a cloned voice (SDK delete) DELETE
Deletes one of your cloned voices with ElevenLabs `voices.delete()` and removes it from the provider. Only voices your organization cloned can be deleted; the shared public catalogue is not addressable here. Requests already using the voice ID may keep working for up to about a minute while caches expire.
