API v1 Documentation — View changelog
Vozia
POST /api/v1/podcasts/:podcastId/generate

Generate Audio

Trigger the AI speech synthesis to create your podcast audio.

Query Parameters

sync optional
boolean

If true, the request will wait until audio generation is complete (up to 5 mins) and return the full result. Default is false (async).

Request Body

forceRegenerate optional
boolean

Regenerate audio even if it already exists.

Responses

Async Response (Default) 202 Accepted
JSON
{
  "podcastId": "pod_xyz789",
  "jobId": "job_abc123",
  "status": "queued",
  "message": "Podcast generation started. Poll the status endpoint for progress."
}
Sync Response (?sync=true) 200 OK
JSON
{
  "podcastId": "pod_xyz789",
  "status": "ready",
  "audioUrl": "https://res.cloudinary.com/...",
  "duration": 45,
  "script": [...]
}

Examples

Async Request
# Default (Async)
curl -X POST https://api.vozia.io/v1/podcasts/pod_xyz789/generate \
  -H "Authorization: Bearer YOUR_API_KEY"
Sync Request
# Wait for completion (Sync)
curl -X POST "https://api.vozia.io/v1/podcasts/pod_xyz789/generate?sync=true" \
  -H "Authorization: Bearer YOUR_API_KEY"
Force Regenerate
# Force regenerate
curl -X POST https://api.vozia.io/v1/podcasts/pod_xyz789/generate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"forceRegenerate": true}'