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.

GET/v1/public/audio/status
Current generation status and audio URL for a post, keyed by domain and post_id.
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
NameTypeRequiredDescription
domainstringRequiredSite hostname (e.g. yourblog.com). Must match an allowed domain for the site.
Example: yourblog.com
post_idstringRequiredSame post_id you sent to POST /v1/audio/generate.
Example: article-001
langstringOptionalLanguage 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.

GET/v1/audio/{post_id}/status
Status for the post scoped to the site attached to your API key.
Headers
NameTypeRequiredDescription
X-API-KeystringRequiredYour Voicgen API key
Query parameters
NameTypeRequiredDescription
languagestringOptionalLanguage code (supported set on the server). Defaults to "en".
Example: en

Status values

StatusMeaningaudio_url
pendingQueued, not yet startednull
generatingIn progressnull
readyComplete — audio availableURL when ready
failedGeneration failednull

Example — ready

200 OK
{
  "success": true,
  "message": "OK",
  "data": {
    "status": "ready",
    "progress_percent": 100,
    "audio_url": "https://cdn.example.com/....mp3",
    "duration_seconds": 142
  }
}

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.