API Reference
Programmatic access to the Jellypod platform.
The Jellypod API gives developers programmatic access to the core platform: creating AI podcast hosts, browsing voices, uploading research sources, and generating episodes or entire podcast series.
Use the Jellypod API skill to generate podcasts from your AI coding assistant:
npx skills add Jellypod-Inc/skills --skill jellypod-apiCredits & Usage
The API uses the same credit system as the Jellypod app. Generating an episode through the API costs the same credits as generating one in the studio. Credits are deducted from your organization's balance and count toward your plan's usage limits. See Understanding Credits for details.
Importing Script Text
POST /episodes/import accepts script or transcript text, resolves bracketed
speaker labels to hosts, creates missing hosts when needed, and queues a new
episode for generation. Use this when you have the episode content but do not
want to manually split it into chapters and host segments.
{
"podcast_id": "podcast_id",
"script": "[Host One]\nWelcome to the show. Today we're talking about how small daily habits can make a big difference.\n\n[Host Two]\nI love that topic. Let's start with the easiest habit someone can try this week."
}Jellypod infers the host set from the bracketed speaker labels and the
podcast's assigned hosts. Unmatched speaker labels always create new hosts
automatically; the response includes magic_created_host_ids listing any
hosts that were added by this import. Imported content is capped at 75,000
characters. The generated episode goes through credit preflight, weighted
generation rate limiting, and asynchronous rendering. Poll
GET /episodes/{episode_id}; when the job completes, the response includes
the available download URLs.
Generating From A Script
POST /episodes/generate can create an episode from either a prompt or a
structured script. Script mode skips prompt-based script writing and uses your
provided chapters and segments directly.
Use GET /hosts to fetch the host_id values available to your organization.
Every segment must reference one of those hosts. Imported script text is capped
at 75,000 total characters across all segments.
{
"podcast_id": "podcast_id",
"script": {
"chapters": [
{
"title": "Introduction",
"segments": [
{
"host_id": "host_id_1",
"text": "Welcome to the show. Today we're talking about how small daily habits can make a big difference."
},
{
"host_id": "host_id_2",
"text": "I love that topic. Let's start with the easiest habit someone can try this week.",
"speed": 1 // Optional. Defaults to 1.
}
]
}
]
}
}The example is annotated as JSONC so the optional field can be called out. Send valid JSON in API requests.
Rules for script generation:
- Send either
promptorscript, not both. source_idsare only supported for prompt-based generation.- Prompt-generation options such as
web_searchandepisode_lengthare not used in script mode. - Segment
speedis optional, defaults to1, and accepts values from0.5to2. - Scripts can include up to 50 chapters, 200 segments per chapter, and 600 segments total. Each segment can contain up to 5,000 characters.
- Long scripts require enough available credits before generation starts. The final charge is still based on the rendered audio duration.
- Script generation creates a new episode.
Authentication
All requests require a Jellypod API key passed via the Authorization header:
Authorization: Bearer sk_...API keys are organization-scoped. You can create and manage API keys from the Jellypod dashboard under Settings → API Keys.
Base URL
https://api.jellypod.com/v1Browse the endpoints in the sidebar to get started.
Was this page helpful?