Audyo API
Send a URL or markdown and get a page with human-quality audio, a public listen page, and an embeddable player.
Authentication
Create a key in Settings, on the API tab. API access is part of Audyo Pro. Send the key with every request as Authorization: Bearer or as x-api-key. Each key can make 60 requests a minute.
Audio you generate through the API counts toward the same monthly minutes as the editor.
Endpoints
POST /api/v1/pages
Creates a page from a URL or from markdown in text. Optional: title, voice, generate to start the audio, and public to publish the page.
curl https://audyo.ai/api/v1/pages \
-H "Authorization: Bearer $AUDYO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/my-post", "generate": true, "public": true}'
→ 201 { "id", "url", "embedUrl", "status", "generationError" }GET /api/v1/pages/{id}
Returns the page's generation status and, when the audio is ready, its MP3 URL and duration. Status is idle, generating, rendering, or failed.
curl https://audyo.ai/api/v1/pages/PAGE_ID \
-H "Authorization: Bearer $AUDYO_API_KEY"
→ { "id", "title", "status", "progress", "error",
"audioUrl", "durationSeconds", "public",
"url", "embedUrl", "sourceUrl", "createdAt", "updatedAt" }GET /api/v1/voices
Lists every voice. Pass a voice key as voice when you create a page.
curl https://audyo.ai/api/v1/voices \
-H "x-api-key: $AUDYO_API_KEY"
→ { "defaultVoice": "EN_NOVA",
"voices": [{ "key", "label", "gender", "provider", "trait" }] }GET /api/v1/me
Returns the account that owns the key.
curl https://audyo.ai/api/v1/me \
-H "x-api-key: $AUDYO_API_KEY"
→ { "username", "plan" }Errors
Errors answer with { "error": { "code", "message" } }.