Search voices
Search voices available through AllModels. Filter by model, provider, language, category, or labels, and page through results with a cursor. No API key is required.
/v1/voicesSearch voices available through AllModels. Filter by model, provider, language, category, or labels, and page through results with a cursor. No API key is required.
Query Parameters
Search voice names and descriptive metadata.
AllModels model ID. Repeat to match any supplied model.
Provider ID. Repeat to match any supplied provider.
Language ID, such as en. Repeat to match any supplied language.
Voice category, such as official or community. Repeat to match any supplied category.
A facet:value filter, such as gender:female.
Return voices added after this RFC 3339 timestamp.
date-timeSort by featured, relevance, newest, popularity, or name. Featured results place official voices before community voices. Relevance requires q.
Value in
- "featured"
- "relevance"
- "newest"
- "popular"
- "name"
Number of results to return.
1 <= value <= 10020next_cursor from the previous response.
Include available filters and result counts.
"false"Value in
- "true"
- "false"
Response Body
application/json
application/json
application/json
application/json
const response = await fetch("https://api.allmodels.io/v1/voices");if (!response.ok) throw new Error(`AllModels request failed: ${response.status}`);console.log(await response.json());import requestsresponse = requests.get( "https://api.allmodels.io/v1/voices", timeout=30,)response.raise_for_status()print(response.json())curl https://api.allmodels.io/v1/voices{ "voices": [ { "model": { "id": "string", "name": "string" }, "voice": { "id": "string", "name": "string", "description": "string", "category": { "id": "string", "name": "string" }, "preview_url": "http://example.com", "languages": [ { "id": "string", "name": "string", "locale": "string", "accent": "string" } ], "labels": [ { "facet": { "id": "string", "name": "string" }, "value": { "id": "string", "name": "string" } } ], "source_urls": [ "http://example.com" ], "scope": { "type": "global" }, "first_seen_at": "2019-08-24T14:15:22Z", "last_seen_at": "2019-08-24T14:15:22Z" }, "providers": [ { "id": "string", "name": "string", "default": true, "provider_model_id": "string", "metrics": { "popularity_score": 0, "likes": 0, "saves": 0, "shares": 0, "uses": 0, "characters_7d": 0, "characters_1y": 0, "clones": 0 } } ] } ], "facets": [ { "id": "string", "name": "string", "values": [ { "id": "string", "name": "string", "count": 0 } ] } ], "total_count": 0, "has_more": true, "next_cursor": "string", "catalogue_updated_at": "2019-08-24T14:15:22Z"}{ "error": "not_found"}{ "error": "catalogue_changed"}{ "error": "voice_catalogue_unavailable"}List providers GET
Lists available providers, their default models and voices, and the TTS and STT models they support. Use `GET /v1/models` to browse by model instead.
Email a sign-in code POST
Start email-based account access for an agent. Provide the email address whose owner will approve access. AllModels sends that address a six-digit code. Ask the owner for the code, then call `POST /account/agent-signup/verify` with the same email address. No API key is required for this request, and the flow works for both new and existing AllModels accounts.
