Enterprise plan required
REST API access is available on the Enterprise plan. Includes full API access, higher rate limits, and dedicated support.
Audio status
Poll generation status after you trigger audio. Stop when status is ready or failed.
Public status (domain + post)
Use this from browsers or unauthenticated clients. The site is resolved from the domain query; it must match a domain registered on your Voicgen account.
ℹ
No API keyThis route does not use
X-API-Key. Subscription must be active (or trial in date); otherwise the API returns 402.Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
domain | string | Required | Site hostname (e.g. yourblog.com). Must match an allowed domain for the site. Example: yourblog.com |
post_id | string | Required | Same post_id you sent to POST /v1/audio/generate. Example: article-001 |
lang | string | Optional | Language code. Defaults to "en". Example: en |
Authenticated status (recommended for servers)
From your backend, you can poll with the API key only — no public domain lookup in the URL.
Headers
| Name | Type | Required | Description |
|---|---|---|---|
X-API-Key | string | Required | Your Voicgen API key |
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
language | string | Optional | Language code (supported set on the server). Defaults to "en". Example: en |
Status values
| Status | Meaning | audio_url |
|---|---|---|
pending | Queued, not yet started | null |
generating | In progress | null |
ready | Complete — audio available | URL when ready |
failed | Generation failed | null |
Example — ready
Polling guidance
Poll every few seconds (for example 3 seconds). Most posts finish within tens of seconds depending on length. Stop when status is ready or failed. Very frequent polling may hit per-domain or per-key rate limits — see Rate limits.