Skip to main content
GET
/
voices
List voices across all providers (unified)
curl --request GET \
  --url https://eu-gcp-api.vg-stuff.com/v3/voices \
  --header 'Authorization: Bearer <token>'
{
  "total": 123,
  "limit": 123,
  "offset": 123,
  "providersQueried": [
    "<string>"
  ],
  "providersFailed": [
    {
      "provider": "<string>",
      "error": "<string>"
    }
  ],
  "voices": [
    {
      "voiceId": "<string>",
      "name": "<string>",
      "provider": "<string>",
      "previewUrl": "<string>",
      "filters": {
        "accent": "<string>",
        "gender": "<string>",
        "useCase": "<string>",
        "language": "<string>"
      }
    }
  ]
}
The unified endpoint is the easiest way to find a voice. It fans out to every requested provider in parallel, normalizes the result, then applies your filters.

Examples

Only English female voices across all providers

curl "https://eu-gcp-api.vg-stuff.com/v3/voices?language=en&gender=female&limit=50" \
  -H "Authorization: Bearer YOUR_API_KEY"

German voices from ElevenLabs and Cartesia only

curl "https://eu-gcp-api.vg-stuff.com/v3/voices?providers=elevenlabs,cartesia&language=de" \
  -H "Authorization: Bearer YOUR_API_KEY"

Australian-accent voices

curl "https://eu-gcp-api.vg-stuff.com/v3/voices?accent=australian&limit=20" \
  -H "Authorization: Bearer YOUR_API_KEY"

How filters work

  • language — accepts ISO short codes (en), BCP-47 (en-US) or English names (English). Matches are inclusive: filter en returns en, en-US, en-GB, English, etc.
  • gendermale / female / neutral. Also accepts masculine, feminine, m, f (case-insensitive).
  • accent — substring match (case-insensitive). american matches American, North American, etc.
  • providers — comma-separated list (?providers=elevenlabs,cartesia). When omitted, every supported provider is queried in parallel.

Response

The response always contains:
  • voices[] — the paginated, filtered list (each entry has voiceId, name, provider, previewUrl, filters)
  • total — total matches before pagination
  • providersQueried — providers that were actually queried
  • providersFailed — providers that errored (e.g. missing workspace API key) along with the error message — the request still succeeds
Each voice has a ready-to-play previewUrl MP3. Drop it straight into an <audio> element.
This endpoint is read-only and does not consume credits.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

providers
string
language
string
gender
string
accent
string
modelId
string
sampleText
string
limit
integer
default:100
Required range: 1 <= x <= 500
offset
integer
default:0
Required range: x >= 0

Response

Successful response

total
number
required
limit
number
required
offset
number
required
providersQueried
string[]
required
providersFailed
object[]
required
voices
object[]
required