Enterprise plan required
REST API access is available on the Enterprise plan. Includes full API access, higher rate limits, and dedicated support.

List voices

Returns the voices available for a site based on its plan. Use the numeric id as voice_id on POST /v1/audio/generate.

Public list (embed / player)

GET/v1/public/voices
Voices allowed for the site resolved from the domain query parameter.
Query parameters
NameTypeRequiredDescription
domainstringRequiredPrimary or allowed domain for the site.
Example: yourblog.com

Response

200 OK
{
  "success": true,
  "data": {
    "voices": [
      {
        "id": 1,
        "name": "Luna",
        "type": "natural",
        "language": "en",
        "gender": "female",
        "plan_required": "starter"
      }
    ],
    "default_voice_id": 1,
    "allow_switch": true
  }
}

plan_required reflects which plan tier unlocks the voice (starter, growth, enterprise). The dashboard also exposes authenticated voice routes under GET /v1/voices (session token) for the full account UI.

Using a specific voice

Pass the voice id as integer voice_id in the generate request:

curl
curl -X POST https://api.voicgen.io/v1/audio/generate \
  -H "X-API-Key: vg_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "post_id": "article-001",
    "content": "Your article content (at least fifty characters)...",
    "voice_id": 2
  }'