Public API · v1

Build podcasts into your product.

Turn URLs, PDFs, transcripts, and notes into studio-quality audio with one API call. Same engine as SparkPod.ai, one Bearer token, no SDK required.

A working podcast in three calls.

Upload sources, kick off generation, poll until the audio's ready. It's just HTTP.

# 1. Upload a source file (optional)
curl -X POST https://api.sparkpod.ai/v1/files \
  -H "Authorization: Bearer sk_..." \
  -F "file=@research.pdf"
# → { "id": "f_aB3...", ... }

# 2. Create the podcast
curl -X POST https://api.sparkpod.ai/v1/podcasts \
  -H "Authorization: Bearer sk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "userPrompt": "Summarize the key findings",
    "mode": "deep-dive",
    "urls": ["https://example.com/article"],
    "files": [{ "id": "f_aB3..." }]
  }'

# 3. Poll until step === "completed"
curl https://api.sparkpod.ai/v1/podcasts/p_xyz \
  -H "Authorization: Bearer sk_..."

Everything the dashboard does.

The v1 API exposes the same podcast pipeline that powers SparkPod. No private endpoints, no second-class features.

Any source, one endpoint

Pass URLs, file IDs, or plain prompts to /v1/podcasts. Same ingestion as the dashboard.

Three generation modes

quick-insight, deep-dive, or narrative-explainer — pick the format that fits the source.

Studio-quality voices

ElevenLabs and Speechify voices, host/guest pairing, inline emotion tags.

Ready-to-ship MP3s

Presigned download URLs with sensible filenames. Stream, embed, or push to your CDN.

Step-level retries

Every podcast tracks its step. Retry just the one that failed instead of starting over.

Single Bearer token

Generate or rotate from your dashboard. No OAuth, no signing — just one header.

One token. No OAuth.

Generate an sk_* key from your dashboard, send it as a Bearer token. Rotate any time.

request headers
Authorization: Bearer sk_aB3xY9...
Content-Type: application/json

# Same header for every endpoint.

Eight endpoints. That's it.

Tight, REST-y, no surprises. Full schemas live in the reference.

  • POST/v1/podcastsKick off podcast generation from URLs, files, or prompts.
  • GET/v1/podcastsList your podcasts. Search, filter, paginate.
  • GET/v1/podcasts/{id}Poll a podcast — read its step, audio URL, outline, script.
  • PUT/v1/podcasts/{id}Update title, outline, script, voice, or visibility.
  • DELETE/v1/podcasts/{id}Remove a podcast and its generated audio.
  • GET/v1/podcasts/{id}/download-urlPresigned MP3 URL with Content-Disposition: attachment.
  • POST/v1/podcasts/{id}/retryRe-run a failed step (outline, script, or audio).
  • POST/v1/filesMultipart upload for PDFs, text, images. Returns a file ID.

What teams build with it.

The API is small on purpose so you can wrap it however you want.

Ship audio inside your app

Add "Listen to this article" to a blog, an audio briefing tab to a research tool, daily recaps to an internal dashboard.

Automate your pipeline

Cron-trigger a podcast every morning from yesterday's tickets, RSS feeds, or sales calls. Drop the MP3 into Slack when it's ready.

White-label podcast generation

Wrap the API behind your own UI. Modes and voices give end users a curated experience without rebuilding the audio stack.

Start building in under five minutes.

Generate your API key from the dashboard, copy a snippet, and ship podcasts from your stack today.

Free to start
No credit card
Cancel any time