# API Reference (/docs/api) The Jellypod API gives developers programmatic access to the core platform: creating AI podcast hosts, browsing voices, uploading research sources, and generating episodes. Use the [Jellypod API skill](https://github.com/Jellypod-Inc/skills) to generate podcasts from your AI coding assistant: ``` npx skills add Jellypod-Inc/skills --skill jellypod-api ``` ## Credits & Usage [#credits--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](/docs/help/getting-started/understanding-credits) for details. ## Importing Script Text [#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. ```json { "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 Prompt [#generating-from-a-prompt] `POST /episodes/generate` creates an episode from a `prompt` by default. State a duration in the prompt itself (for example "a 15 minute episode about...") and Jellypod targets that length. Leave it out and episodes default to about 7 minutes. You can also set the duration directly in `options` instead of relying on the prompt: ```json { "podcast_id": "podcast_id", "prompt": "An episode about the history of beekeeping.", "options": { "episode_length_minutes": 15 } } ``` `episode_length_minutes` accepts an exact integer number of minutes from 1 to 75 and takes precedence over the named `episode_length` sizes (`extra_short`, `short`, `medium`, `long`, `extra_long`) when both are sent. `episode_length` is kept for backward compatibility but is superseded by `episode_length_minutes`. ## Generating From A Script [#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. ```jsonc { "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 `prompt` or `script`, not both. * `source_ids` are only supported for prompt-based generation. * Prompt-generation options such as `web_search`, `episode_length`, and `episode_length_minutes` are not used in script mode. * Segment `speed` is optional, defaults to `1`, and accepts values from `0.5` to `2`. * 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 [#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 [#base-url] ``` https://api.jellypod.com/v1 ``` Browse the endpoints in the sidebar to get started. # API Access (/docs/help/api) The Jellypod API gives developers programmatic access to the platform: create AI podcast hosts, browse voices, upload research sources, and generate episodes from a prompt. API access requires the Creator plan or higher. Generate an API key in the studio under [Settings, then API Keys](https://studio.jellypod.com/settings/api-keys). ## Credits & usage [#credits--usage] The API uses the same 60-credits-per-minute rate as the Studio, but not the same timing. Generating or importing an episode through the API renders it immediately, so credits are deducted at that moment rather than deferred until you publish or download, as they are for a draft you create in the Studio. Credits are deducted from your organization's balance and count toward your plan's usage limits. See [Understanding Credits](/docs/help/getting-started/understanding-credits) for details. ## What you can do [#what-you-can-do] * **Create and manage hosts:** AI personas that narrate your episodes * **Browse voices:** Pick from our voice library or use your own clones * **Upload sources:** Provide research materials for episode generation * **Generate episodes:** Episode creation from your sources * **Manage podcasts:** Create podcast series and manage their episodes Browse the [API Reference](/docs/api) for endpoint details, request/response schemas, and examples. # Jellypod 101 (/docs/help) Welcome to the Jellypod Help Center. Find guides for creating your first podcast and using the rest of the studio. ## Quick Start [#quick-start] Learn about the platform and what you can create. Set up a podcast from scratch in minutes. Generate your first AI-powered episode. How credits work and what they're used for. # MCP Connector (/docs/help/mcp) The MCP Connector lets the AI assistant you already use run Jellypod. Connect Claude, ChatGPT, Cursor, Perplexity, or any other MCP client, and your assistant can produce podcasts end to end, from researching a topic to publishing the episode, without you opening the studio. It is available on every plan. Once connected, the assistant works inside your account: create podcasts and hosts, add sources, generate and edit episodes, and publish them, all from a chat. ## Server details [#server-details] Add Jellypod as a remote MCP server in your client with these settings: ``` Server URL: https://mcp.jellypod.com/mcp Transport: HTTP (Streamable) Auth: OAuth (sign in on first connect) ``` Most clients connect over OAuth: the first time your assistant connects, you sign in through Jellypod and authorize access. The assistant then acts on your account using your own permissions, so it only ever sees the podcasts, episodes, and hosts you already have access to. Some automation tools (Zapier, n8n, Raycast) cannot complete the interactive OAuth flow and authenticate with an API key sent as an `Authorization: Bearer` header instead. Create one in the studio under [Settings, then API Keys](https://studio.jellypod.com/settings/api-keys). API keys require the Creator plan or higher. ## Connect your client [#connect-your-client] ### Claude (Web and Desktop) [#claude-web-and-desktop] 1. In [Claude](https://claude.ai), go to Settings, click Connectors, then click Add custom connector. 2. Set Name to `Jellypod` and Remote MCP server URL to `https://mcp.jellypod.com/mcp`, then click Add. 3. Click Connect, sign in to Jellypod if prompted, and approve access to finish. ### Claude Code [#claude-code] 1. [Install Claude Code](https://docs.claude.com/en/docs/claude-code/overview), then add the Jellypod MCP server: ```bash claude mcp add --transport http jellypod https://mcp.jellypod.com/mcp ``` 2. Start a Claude Code session, run `/mcp`, select the Jellypod server, then sign in to Jellypod and approve access. ### ChatGPT (Web) [#chatgpt-web] 1. In [ChatGPT](https://chatgpt.com), open Settings, select Security and login, then turn on Developer mode. 2. Open [Plugins](https://chatgpt.com/plugins), create an app with Name `Jellypod`, MCP Server URL `https://mcp.jellypod.com/mcp`, and Authentication set to OAuth. 3. Click Create. If a Jellypod sign-in window opens, approve access to complete the connection. ### Codex CLI [#codex-cli] 1. [Install the Codex CLI](https://developers.openai.com/codex/cli), then add the Jellypod MCP server: ```bash codex mcp add jellypod --url https://mcp.jellypod.com/mcp ``` 2. A browser window opens. Sign in to Jellypod if prompted and approve access. ### Cursor [#cursor] 1. Open Cursor Settings and click the Tools and MCP tab. 2. Click New MCP Server and add this configuration: ```json { "mcpServers": { "jellypod": { "url": "https://mcp.jellypod.com/mcp" } } } ``` 3. Save the configuration. On first use, sign in to Jellypod and approve access. ### Perplexity (Web and Desktop) [#perplexity-web-and-desktop] 1. In [Perplexity](https://perplexity.ai), go to All settings, then Connectors, and choose Custom connector. 2. Set Name to `Jellypod` and MCP Server URL to `https://mcp.jellypod.com/mcp`, check the custom-connector consent box, then click Add. 3. Find Jellypod under your custom connectors, click Add connector, then sign in to Jellypod and approve access. ### Raycast [#raycast] Raycast uses an API key. Create one in the studio under [Settings, then API Keys](https://studio.jellypod.com/settings/api-keys) first (Creator plan or higher). 1. In Raycast, search for Install Server and press Enter. 2. Set Name to `Jellypod`, Transport to HTTP, and URL to `https://mcp.jellypod.com/mcp`. 3. Under HTTP Headers, add an item with Key `Authorization` and Value `Bearer YOUR_API_KEY`, replacing `YOUR_API_KEY` with your key. 4. Click Install (or press Cmd+Enter) to finish. ### Zapier [#zapier] Zapier uses an API key. Create one in the studio under [Settings, then API Keys](https://studio.jellypod.com/settings/api-keys) first (Creator plan or higher). 1. In Zapier, add an MCP Client by Zapier connection. 2. Set Server URL to `https://mcp.jellypod.com/mcp`, Transport to Streamable HTTP, OAuth to No, and Bearer Token to your API key. 3. Finish connecting the MCP Client by Zapier. ### n8n [#n8n] n8n uses an API key. Create one in the studio under [Settings, then API Keys](https://studio.jellypod.com/settings/api-keys) first (Creator plan or higher). 1. Inside a workflow, add an MCP Client node. 2. Set Server Transport to HTTP Streamable, MCP Endpoint URL to `https://mcp.jellypod.com/mcp`, and Authentication to Bearer Auth. 3. Create a new Bearer Auth credential, paste your API key, then save. 4. Choose the Jellypod tools you want the workflow to use and configure them as needed. ### Any other MCP client [#any-other-mcp-client] If your tool supports remote MCP servers but does not have a dedicated guide above, add an HTTP (Streamable) MCP server pointing at `https://mcp.jellypod.com/mcp`. Authenticate with OAuth (sign in and approve on first connect) if your client supports it, or send an API key as an `Authorization: Bearer` header if it does not. ## What your assistant can do [#what-your-assistant-can-do] The connector exposes your account's full content lifecycle: * **Podcasts:** list, create, update, and delete podcast series * **Episodes:** generate from sources or an imported script, list, update, and delete * **Hosts:** browse the voice library, create AI hosts, update, and delete them * **Sources:** add research from a URL, YouTube video, or pasted text, and list or remove them * **Cover art:** generate episode and podcast cover art from a prompt * **Analytics and transcripts:** read podcast and episode analytics, and export transcripts as JSON, SRT, or VTT ## Example prompts [#example-prompts] * List all my podcasts and tell me which episodes are not published yet * Create a podcast about the latest AI research and generate the first episode * Show me download analytics for my most recent episode * Generate cover art for one of my podcasts ## Guardrails [#guardrails] A few deliberate guardrails keep the assistant from making changes you did not intend: * **Nothing publishes automatically.** Episodes are generated as drafts. Publishing only happens when you explicitly ask, and the assistant confirms first. * **Deletes are protected.** Deleting a podcast or episode that is published or scheduled requires an explicit confirmation, so live content cannot be removed by accident. * **Credits are charged at generation, not publish.** Generating or importing an episode over MCP renders it right away, so credits are deducted immediately at the standard 60-credits-per-minute rate instead of waiting until you publish. See [Understanding Credits](/docs/help/getting-started/understanding-credits). * **No billing, team, or account changes.** The connector covers content only. Subscription, team, and account settings stay behind the studio UI. File uploads and voice cloning are not yet available over the connector. Use the [studio](https://studio.jellypod.com) for those. # Canceling Your Subscription (/docs/help/account-and-billing/canceling-your-subscription) ## Free Plan vs. Free Trial [#free-plan-vs-free-trial] Before you cancel, make sure you understand which plan state you're in: * **Free Plan:** No subscription, no charges, no cancel button needed. You can create and publish content for free with a limited monthly credit allowance. * **Free Trial:** A 7-day trial of a paid plan that requires a payment method. If not canceled before the trial ends, it automatically converts to a paid subscription. If you're on a free plan, there's no subscription to cancel. If you're on a free trial and want to avoid being charged, you must cancel before the trial ends. ## Prerequisites [#prerequisites] You must have billing management permissions (typically the **Admin** role) to manage your subscription. ## How to Cancel [#how-to-cancel] 1. Go to **Settings > Usage & Billing**. 2. Scroll to the **Cancel my subscription** section at the bottom of the page. 3. Click **Cancel Subscription**. 4. Choose a reason for canceling, then click **Confirm Cancellation**. Cancellation happens right in Jellypod, no Stripe billing portal needed. ## What Happens After Cancellation [#what-happens-after-cancellation] Once you cancel: * Your subscription remains active until the **end of your current billing period** (shown as "Ends" in the subscription card instead of "Renews"). * You keep full access to all features until that date. * A notice appears on the subscription card: "Your subscription will end on \[date]. You'll lose access to creating and publishing, remaining plan credits will expire, and podcasts will be removed from third-party platforms. Purchased credit top-ups aren't lost." * After the period ends, you'll need an active subscription again to create or publish content, even if you still have purchased credit top-ups. Creating and publishing access is tied to having a plan, not to your credit balance. * Any remaining monthly plan credits expire. Credits you've purchased as top-ups are not lost and are available again once you resubscribe. * Podcasts distributed to third-party platforms (Spotify, Apple Podcasts, etc.) will be removed. ## Resubscribing [#resubscribing] You can resubscribe at any time by clicking **Update Subscription** and selecting a plan. If you resubscribe before your current period ends, your subscription continues without interruption. ## Accessing Past Invoices After Canceling [#accessing-past-invoices-after-canceling] Once your subscription ends, signing back in to Studio takes you to a plan-selection screen instead of your dashboard, since creating and publishing require an active plan. That screen shows Starter, Creator, and Business side by side (plus an Enterprise option) so you can pick any tier directly, not just the one you had before. If you've billed with Jellypod before, the screen also shows a **Manage billing** button so you can still reach the Stripe billing portal and download past invoices or receipts without resubscribing first. If you're running low on credits but don't want to cancel, consider downgrading to a lower tier instead. You'll keep your content and access at a reduced price. Trying to cancel because a charge failed and you were redirected to a payment issue screen? See [Payment Issues](/docs/help/account-and-billing/payment-issues) instead, cancellation from that screen works differently. # Content Ownership and Rights (/docs/help/account-and-billing/content-ownership-and-rights) **You own everything you create on Jellypod:** your episodes, scripts, audio, and video. This applies to all plans. Jellypod does not use your content to train AI models, and you're responsible for ensuring you have the rights to any materials you upload. ## Commercial Use [#commercial-use] All paid plans include full commercial rights: monetize, distribute, or sell your content however you choose. ## If You Cancel [#if-you-cancel] Your podcasts and episodes are never deleted. You can always download your content and take it elsewhere. *** For full details, see our [Terms of Service](/terms). # Deleting Your Account (/docs/help/account-and-billing/deleting-your-account) ## Where to Find It [#where-to-find-it] 1. Go to **Settings > General**. 2. Scroll to the bottom of the page. 3. The red **Delete Account** alert is displayed. ## For Admins [#for-admins] If you have the **Admin** role, the alert includes a **Go to Team Settings** button. Clicking it takes you to **Settings > Team**, where the **Delete Team** option handles full account and organization deletion. Deleting the team removes everything: all users, all content, all data, and cancels your subscription. See the [Deleting Your Team](/docs/help/teams-and-collaboration/deleting-your-team) article for the full process. ## For Members [#for-members] Members cannot delete the organization. If you need your account removed, contact your team administrator and ask them to remove you from the team through the Team Members list in **Settings > Team**. ## What Gets Deleted [#what-gets-deleted] When an Admin deletes the team (which includes your account): * All user accounts in the organization * All podcasts, episodes, hosts, and sources * All generated audio and video * Your active subscription (cancelled immediately, no refund) * All active sessions across all devices If you just want to leave the team without deleting everything, ask your Admin to remove your membership instead. Only use account deletion if you want a complete and permanent removal. # Earn Free Credits (/docs/help/account-and-billing/earn-free-credits) Open the **Earn free credits** card in the Jellypod sidebar to see all the ways to earn credits. There are three: ## Post about Jellypod (+1,000 credits) [#post-about-jellypod-1000-credits] Post and tag Jellypod on LinkedIn, Reddit, Facebook, or any other social platform, then paste the link to your public post in the dialog and submit it. Submissions are reviewed within 24 hours. Approved posts add the credits to your balance automatically. If a post is rejected, you'll see the reason and can submit an updated link. ## Write a G2 review (+2,000 credits) [#write-a-g2-review-2000-credits] Click **Open G2** to write an honest review. There's nothing to upload or submit: once your review is live, we monitor G2 and add the credits to your account automatically. ## Hop on a call with us (+2,000 credits) [#hop-on-a-call-with-us-2000-credits] Click **Schedule a call** to book a 20-minute call and share your honest feedback. Credits are added to your account after the call. ## How to access [#how-to-access] 1. Open the Jellypod sidebar. 2. Click **Earn free credits**. 3. Choose a reward and follow the instructions above. # Managing Your Subscription (/docs/help/account-and-billing/managing-your-subscription) ## Prerequisites [#prerequisites] You must have billing management permissions (typically the **Admin** role) to access the **Usage & Billing** tab. Members without billing permissions will see a "You do not have permission to manage billing" message. ## Viewing Your Subscription [#viewing-your-subscription] 1. Go to **Settings > Usage & Billing**. 2. The **Subscription Details** card at the top shows: * **Plan name** and price (e.g., "Creator") * **Credits Balance:** your current available credits * **Current Period:** the start and end dates of your billing cycle * **Renews** (or **Ends**): your next renewal date with auto-renewal status If your subscription is set to cancel, the card displays a note: "Your subscription will end on \[date]. Unused credits will expire and podcasts will be removed from third-party platforms." ## Upgrading or Downgrading [#upgrading-or-downgrading] Click the **Update Subscription** button in the subscription card to change plans. Upgrades apply immediately; downgrades take effect at the end of your current period. See [Plans and Pricing](/docs/help/account-and-billing/plans-and-pricing) for the full plan comparison. If you're on an annual plan, you can switch to monthly billing yourself. Moving to a higher tier on monthly billing works like any other upgrade, right from the Update Subscription dialog. To switch your current plan to monthly billing without changing tiers, click **Edit Billing** in the subscription card to open your billing portal and confirm the change there. Either way, the prorated charge is disclosed before anything is confirmed. Downgrading to a lower tier while on an annual plan still isn't available for self-service, whether you're staying annual or moving to monthly. You'll see an error asking you to contact billing support instead; reach out via the chat widget in Jellypod to make that change. If you're on a monthly plan, switching to annual billing on the same plan is self-service: toggle to **Annual** in the Update Subscription dialog and confirm. Eligible monthly subscribers also see a dismissible banner at the top of Studio offering two months free on annual billing (hidden on the Usage & Billing page, which has its own entry point instead). Clicking **Switch to annual** opens a focused dialog quoting the exact amount due today and your new renewal date before you confirm; the switch completes immediately, with no hand-off to a billing portal. Dismissing the banner (**Keep monthly** or the close button) hides it for 90 days for your organization; the same offer stays available afterward from a **Switch to Annual** card in Usage & Billing. ## Changing Plans During a Free Trial [#changing-plans-during-a-free-trial] Plans cannot be changed for free while you are on a trial. Selecting any plan during your trial, including the one you are currently trialing, ends the trial immediately and charges the card on file for that plan. You will see a confirmation dialog showing the plan price before anything is charged (any discounts on your subscription are applied at billing). This is also how you convert to a paid subscription early: pick your plan, confirm the charge, and trial limits (like the episode cap) are lifted right away. ## Quick Access [#quick-access] You can also reach billing settings by clicking your **avatar** in the sidebar and selecting **Usage & Billing**. Compare your monthly credit usage (visible in the Credit Usage chart below) against what each plan includes to decide if an upgrade makes sense. # Notification Preferences (/docs/help/account-and-billing/notification-preferences) Go to `Settings` > `Notifications` to manage your email preferences. You can toggle four categories on or off individually: **Getting Started** (onboarding tips), **Product Updates** (new features and improvements), **Tips & Tutorials** (guides, best practices, and account activity emails like audience milestones, a nudge to finish an in-progress draft, a monthly recap of your plays and published episodes, and a re-engagement email if your account has gone about 30 days without a completed render or published episode), and **Offers & Promotions** (discounts and special offers). To stop all marketing emails at once, click `Unsubscribe from all` at the bottom of the page. You can re-enable individual categories at any time. Either way, you'll always receive transactional emails like password resets, team invitations, and billing receipts. One exception: the "episode is now live" and "episode scheduled" emails sent to your team on publish are transactional, but each Podcast has its own **New episode emails** toggle. Turn it off in that Podcast's Advanced settings to stop those two emails for that Podcast specifically, without affecting any other transactional email. See [Editing Podcast Details](/docs/help/podcasts-and-episodes/editing-podcast-details). # Payment Issues (/docs/help/account-and-billing/payment-issues) ## What Happens When a Payment Fails [#what-happens-when-a-payment-fails] If Jellypod can't charge your card, what happens next depends on whether the subscription was already active: * **Renewal payment fails.** An active subscription's payment is paused, not cancelled right away. We email the account admin a link to pay the open invoice directly, and the next time an admin signs in to Studio, they land on a **Payment Issue** screen instead of the normal dashboard. If the payment is never fixed, Stripe keeps retrying on its own schedule; once those retries are exhausted, the subscription is cancelled outright, the same terminal state as a failed trial conversion below. * **Trial-to-paid conversion fails.** If your free trial ends and Stripe can't charge your card for the first paid invoice, Stripe cancels the subscription outright instead of leaving it paused. The next admin sign-in lands on a **Payment Issue** screen too, but it offers a restart instead of a card update, since there's no active subscription left to revive. When either path ends in cancellation, the account admin gets a "Your subscription has ended, restart it in one click" email instead of the standard cancellation email, with a button that goes straight to the Payment Issue screen's restart flow below. Either way, your podcasts and episodes stay online and any unused plan credits are held, they aren't lost while the payment issue is open. ## Fixing a Paused Payment [#fixing-a-paused-payment] 1. Sign in to Studio. If your subscription has an open payment issue, you're redirected automatically to the Payment Issue screen. 2. Click **Update payment method**. This opens Stripe's secure billing page, either the open invoice or a card-update form, where you can pay the outstanding invoice or add a new card. 3. Once your payment method is updated, you're returned to Studio and full access resumes right away. You can also use the **Pay Now** link in the payment-failed email instead of waiting to sign in. While a renewal payment is paused, a warning banner also appears at the top of every Studio page, not just the Payment Issue screen, with a one-click **Update payment** button, so the fix is reachable no matter where you are in the app. This banner doesn't appear once the subscription has actually been cancelled (a failed trial conversion, or a renewal payment that exhausted Stripe's retries); use the Payment Issue screen's **Restart subscription** button for those cases instead. ## Restarting After a Cancellation [#restarting-after-a-cancellation] If Stripe already cancelled the subscription, whether that's a failed trial-to-paid charge or a renewal payment that stayed unresolved through Stripe's retry schedule, the Payment Issue screen shows **Your subscription was cancelled** with a **Restart subscription** button instead of a card-update option. You can also use the **Restart My Subscription** link in the win-back email instead of waiting to sign in. 1. Click **Restart subscription** to start a new checkout on the plan you were last on. 2. This checkout charges your card immediately; if you've already used a free trial on this account, restarting doesn't grant a second one. 3. Once checkout completes, you're returned to Studio with access to your existing podcasts, episodes, and credits restored. If you'd rather switch plans instead of restarting the same one, click **Choose a different plan** to go to the plan picker. ## Canceling Instead [#canceling-instead] If you'd rather not restore your subscription, click **Cancel subscription instead** on the Payment Issue screen. This option only appears when there's an active, paused subscription to cancel, not once Stripe has already cancelled it (a failed trial conversion, or a renewal payment that exhausted Stripe's retries). Canceling from the Payment Issue screen is different from a normal cancellation. It takes effect **immediately**, not at the end of your billing period: you lose access right away, any unused credits are forfeited, and podcasts are removed from third-party platforms like Spotify immediately. See [Canceling Your Subscription](/docs/help/account-and-billing/canceling-your-subscription) for how cancellation works when your account is in good standing. # Plans and Pricing (/docs/help/account-and-billing/plans-and-pricing) For full pricing details, visit the [Pricing page](/pricing). ## Plan Overview [#plan-overview] * **Starter:** The entry-level paid plan. Includes monthly credits, a hosted podcast website, voice clones, distribution to Spotify, Apple Podcasts, and YouTube, core podcast creation features, and Magic Video for episodes up to 10 minutes. * **Creator:** For active content creators who publish often. More credits, more voice clones, API access, a custom video watermark, and Magic Video for episodes up to 15 minutes. * **Business:** For teams and professionals who need higher capacity, more voice clones, custom domains, and Magic Video for episodes up to 25 minutes. * **Enterprise:** For organizations that need unlimited credits, SSO, custom contracts, and dedicated support, with Magic Video for episodes up to 25 minutes. Higher tiers add features like brand removal and custom domains. Annual billing is available on all paid plans and gives you 2 months free (about 16.7% off). ### Magic Video Duration Limits [#magic-video-duration-limits] Magic Video's AI-generated video styles are eligible up to a narration-length cap set by your plan: 10 minutes on Starter and Educator, 15 minutes on Creator, and 25 minutes on Business and Enterprise. The Free plan doesn't include Magic Video. An episode's narration length is what's measured (intro, outro, background music, and stale visuals don't count against the cap). Episodes past your plan's limit still generate as a video, using a classic template like Karaoke instead of an AI-generated style. See [Magic Video & Video Styles](/docs/help/podcasts-and-episodes/magic-video-slides) for how style selection works. ### Host Limits [#host-limits] Starter, Educator, and Free organizations can keep up to 10 AI hosts. Creator, Business, and Enterprise have no host limit. The limit only blocks creating a new host once you're at 10; hosts you already have stay usable even if a downgrade puts you over the cap. Trying to create another host at the limit opens an upgrade dialog pointing at Creator instead of an error. See [Creating a Host](/docs/help/podcasts-and-episodes/creating-a-host) for the creation flow. ### Brand Kit Limits [#brand-kit-limits] The Free plan doesn't include [Brand Kits](/docs/help/podcasts-and-episodes/brand-kits). Starter and Educator organizations can save 1 Brand Kit. Creator, Business, and Enterprise have no limit. Trying to create another Brand Kit at your plan's limit opens an upgrade dialog instead of an error. ## Educator Plan [#educator-plan] Teachers and faculty get six free months of the Educator plan (3,000 monthly credits, plus the same core features as Starter) by selecting "Educator / Faculty" during sign-up. A school-issued email such as a `.edu` or `.ac.uk` address activates instantly. Email addresses ending in `.com` never qualify, including school or institutional domains; those sign-ups see the standard Starter plan's 7-day free trial instead. Government domains (`.gov`, `.gov.uk`, `.govt.nz`, `.govt.uk`, and similar) never qualify either, since they belong to public bodies rather than schools; those sign-ups also see the standard 7-day free trial. An eligible custom institutional domain that does not end in `.com` and is not a government domain is screened automatically: a domain that is clearly a business, a for-profit company that sells education services (test prep, tutoring, bootcamps, ed-tech vendors), or a public body that is not itself a school (a health authority or hospital, a council, a government ministry or agency, police, or a public library or museum) is declined immediately with no manual review; a domain that cannot be identified either way is held for manual review. While that review is pending, sign-up continues to the standard paywall so you can start on a paid plan right away; once support confirms your school, your organization switches over to the free Educator plan. Other personal or consumer email addresses also do not qualify. The Educator plan is a one-time offer per organization and is not available through the pricing page or subscription settings; it expires six months after activation, after which the organization moves to a paid plan or the Free plan. Organizations that activated before the term changed keep the expiry date they were granted. ## How Credits Work [#how-credits-work] Credits are the currency for AI generation in Jellypod. See the [Understanding Credits](/docs/help/getting-started/understanding-credits) guide for a full breakdown. Credits are consumed when you publish or download an episode, or render a Short. Credits are granted monthly, even on annual plans. Unused credits from your monthly allocation roll over for one additional month before expiring; credit top-ups you've purchased never expire. If you cancel, any remaining granted credits expire immediately, though purchased top-ups are unaffected. Having credits doesn't keep your account active on its own: creating and publishing content requires an active subscription or plan. If your subscription lapses, you'll need to resubscribe to create or publish again, even if you still have purchased credits available. ## Free Trial [#free-trial] Every plan includes a 7-day free trial, with one exception: selecting the "Student" role during sign-up skips the trial. Students pay for their plan up front instead. If you're eligible for the trial, you'll need a payment method to start, and it converts to the plan you selected after 7 days unless you cancel. You can cancel anytime from your billing settings. Free trials are also capped at 5 episodes and 10 Shorts across your organization, separate from your trial credit balance. If you reach either cap while creating, Jellypod opens a focused subscription dialog with the plan you selected so you can subscribe and keep creating. ## Upgrading or Downgrading [#upgrading-or-downgrading] To change your plan: 1. Click your profile icon in the bottom-left corner of the sidebar. 2. Go to **Usage & Billing**. 3. Click **Update/Manage Subscription**. 4. Select your new plan and confirm. Upgrades take effect immediately. Downgrades take effect at the end of your current billing period. ### Switching to Annual Billing [#switching-to-annual-billing] If you're on a monthly plan, you can switch to annual billing on the same plan yourself: open **Update/Manage Subscription**, toggle to **Annual**, and select your current plan to get 2 months free. Eligible monthly subscribers also see a dismissible banner at the top of Studio offering two months free (hidden on the Usage & Billing page, which has its own entry point instead). Clicking **Switch to annual** opens a focused dialog that quotes the exact amount due today and your new renewal date before you confirm; the switch completes immediately, with no hand-off to a billing portal. Dismissing the banner hides it for 90 days for your organization; the offer stays available afterward from a **Switch to Annual** card in Usage & Billing. ### Switching From Annual Billing [#switching-from-annual-billing] If you're on an annual plan, you can upgrade to a higher tier and stay on annual billing, or upgrade to a higher tier on monthly billing, both self-service through **Update/Manage Subscription**. To switch your current plan to monthly billing without changing tiers, use **Edit Billing** to open your billing portal and confirm the change there. Either way, the prorated charge is disclosed before anything is confirmed. Downgrading to a lower tier isn't available for self-service while on an annual plan, whether you stay annual or move to monthly. Attempting it shows an error asking you to contact billing support; reach out via the chat widget in Jellypod to make that change. # Profile and Security (/docs/help/account-and-billing/profile-and-security) ## Account Security [#account-security] The **General** tab in Settings manages your personal login and security. ### Profile Information [#profile-information] The **Profile Information** card lets you update: * Your name * Your email address * Your password * Two-factor authentication settings These settings apply to your personal login, not the team. ### Devices and Sessions [#devices-and-sessions] The **Devices & Sessions** card shows every device currently logged into your account. Each session displays the device type and when it was last active. If you see a session you don't recognize, click **Revoke** to immediately log that device out. ## Quick Account Overview [#quick-account-overview] Click your **avatar** in the bottom-left sidebar to see a quick summary without going to Settings: * Your current **plan name** (e.g., Creator, Business) * Your current **credit balance** * Quick links to **Account Settings** and **Usage & Billing** * Option to **Restart Onboarding Tour** * **Log out** ## Deleting Your Account [#deleting-your-account] Account deletion is handled through the Team settings page. See [Deleting Your Account](/docs/help/account-and-billing/deleting-your-account) for the full process. Regularly review your active sessions, especially if you access Jellypod from shared or public computers. # Purchasing Credit Top-Ups (/docs/help/account-and-billing/purchasing-credit-top-ups) ## Prerequisites [#prerequisites] You must have billing management permissions (typically the **Admin** role) to purchase credits. You also need an active subscription. ## How to Purchase Credits [#how-to-purchase-credits] 1. Go to **Settings > Usage & Billing**. 2. In the separate **Purchase Credits** card, click the **Purchase Credits** button. 3. In the **Purchase Credits** dialog, choose a quantity: * **1,000** / **2,000** / **5,000** / **10,000** / **20,000** (preset amounts) * **Other** (enter a custom amount) 4. Review the summary showing **Current Balance**, **New Credits**, and **New Balance**. 5. Click the **Purchase Credits** button. 6. Complete the checkout through Stripe. For current pricing, visit the [Pricing page](/pricing) or check the purchase dialog in your billing settings. ## Important Notes [#important-notes] * Top-ups are **one-time purchases**: they don't change your subscription or recurring billing. * Purchased credits are added to your balance immediately after checkout. * If you frequently need top-ups, consider upgrading your subscription for a higher monthly credit allocation. # Affiliate Program (/docs/help/account-and-billing/referral-program) The Jellypod Affiliate Program pays you **30% of what everyone you refer actually pays**, on every invoice, for up to **12 months**. You earn the commission, and there is nothing your referrals have to claim or redeem. ## What you earn [#what-you-earn] * **30% of every payment**, not just the first. A referral who stays a year pays you twelve times. * **For up to 12 months** of their subscription. * **On the amount actually paid**, so any discount or proration is already accounted for. Nothing to reconcile. ## How to join [#how-to-join] The program is application-gated, so you apply once and get approved before you start earning. Two ways in: * In the Jellypod sidebar, open your account menu and click **Affiliate Program**. * Or go straight to [partners.dub.co/jellypod](https://partners.dub.co/jellypod). Approval happens in the Dub partner portal. Once you are in, you get a unique partner link to share. ## How you get paid [#how-you-get-paid] Share your link wherever your audience already trusts you: a course syllabus, a resource list, a team wiki, a newsletter signature. When someone signs up through it and subscribes, your commission starts and keeps paying for up to 12 months. Your referrals, earnings, and payouts all live in the [Dub partner portal](https://partners.dub.co/jellypod), and **Affiliate Program** in your account menu links straight to it. This program pays cash commissions for referrals. If you're looking to earn free Jellypod credits instead, see [Earn Free Credits](/docs/help/account-and-billing/earn-free-credits). # Viewing Exports (/docs/help/account-and-billing/viewing-exports) ## Finding Your Export History [#finding-your-export-history] 1. Go to **Settings** in the studio sidebar. 2. Click the **Exports** tab (next to Usage & Billing). The exports table lists every render in your workspace, sorted by most recent first. ## What's in the Table [#whats-in-the-table] Each export shows: * **Title:** the episode, Short, or Clip title * **Type:** whether the export is an Episode, a Short, or a Clip * **Date:** when the render was created * **Cost:** how many credits the render consumed Exports created before this feature was introduced will show as "Untitled Export" with no cost. Future renders will be tracked automatically. Clips have been retired and replaced by Shorts. If your workspace created clips before the change, those renders still show up in this table as **Clip**, but there's no way to create new ones. ## What Counts as an Export [#what-counts-as-an-export] An export is created every time you: * [Publish an episode](/docs/help/publishing-and-distribution/publishing-an-episode) * [Download an episode](/docs/help/podcasts-and-episodes/downloading-video-and-audio) as video or audio * [Generate or re-render a Short](/docs/help/podcasts-and-episodes/creating-shorts) ## Credit Costs [#credit-costs] Episode renders cost **60 credits per minute** of audio duration. Short renders cost **5 credits per second** of the Short's duration. See [Understanding Credits](/docs/help/getting-started/understanding-credits) for details on how credits work. For overall credit usage over time and a CSV or JSON export of every credit transaction, see [Viewing Invoices](/docs/help/account-and-billing/viewing-invoices). # Viewing Invoices (/docs/help/account-and-billing/viewing-invoices) Go to `Settings` and open the `Usage & Billing` tab to access your invoices and credit usage. ## Invoices [#invoices] The Invoice History section shows all past invoices with their date, amount, and status. Click the download button on any invoice to save it as a PDF. Click `View All` to open the Stripe billing portal, where you can also update your payment method. ## Credit Usage [#credit-usage] The Credit Usage section shows a bar chart of your daily credit consumption. Use the period picker to change the date range. To export your usage data, click `Export`, set a date range (or check `All time`), choose CSV or JSON, and download. The export includes transaction timestamps, credit change amounts, and running balances. For a per-render history of episodes and clips with their individual credit costs, see [Viewing Exports](/docs/help/account-and-billing/viewing-exports). # Creating Your First Episode (/docs/help/getting-started/creating-your-first-episode) Tell the Podcast Agent what you want your episode to cover, and it goes straight to work researching, writing the script, and generating audio. You review and refine once generation finishes, before publishing. ## Step 1: Start a New Episode [#step-1-start-a-new-episode] 1. From the studio dashboard, click **Create a Podcast Episode**, or open a podcast and use the **Create New Episode** box at the top of its episode list. 2. If starting from the dashboard, select your podcast from the dropdown. Your existing podcasts appear with cover art thumbnails and titles. 3. Personalized episode suggestions appear based on your show's topic and past episodes. Click one to use it, or type your own prompt. If a podcast has no episodes yet, its episode list shows a **Create your first episode** prompt instead of a table. Use the composer above to create the first episode. ## Step 2: Describe What You Want and Generate [#step-2-describe-what-you-want-and-generate] Type your episode idea into the chat input. Be specific about the topic, tone, and format. Before sending, you can configure a few settings using the controls in the chat input: * **Hosts:** Defaults to your podcast's assigned hosts. Override here to use different hosts for this episode. * **Auto-publish:** Off by default, so the episode stays a draft when generation finishes and you can review it first. Turn it on to have the episode publish live automatically as soon as generation completes. * **Include show notes:** On by default. Appends a list of source links to the end of the episode's description. See [Show Notes](/docs/help/podcasts-and-episodes/show-notes). Attach sources using the **+** button next to the input. You can add websites, YouTube videos, pasted text, or upload files: PDFs, Word docs, PowerPoint, Excel/CSV, audio, video, and images. The agent weaves these into its research. If you attach a single source that's already a finished, ready-to-record script, Jellypod uses it word-for-word instead of writing a new one. See [What Are Sources?](/docs/help/sources/what-are-sources) for details. Asking for more than one episode, like "make 3 episodes about X, Y, and Z" or "create a series about the Roman Empire", generates each one in parallel instead of just one. See [Generating Multiple Episodes at Once](/docs/help/podcast-agent/generating-multiple-episodes) for details. Click send to start. The agent searches the web for current information on your topic, writes a full multi-host script, and generates audio, all in one pass with no outline to approve first. ## Step 3: Watch It Generate [#step-3-watch-it-generate] You're taken straight to the podcast page, where the new episode appears in the episode list with a live progress indicator showing its status: preparing, writing the script, then generating audio. Generation keeps going even if you navigate away or close the tab. The episode isn't enterable until this first pass finishes, so clicking its row while generating just shows a reminder instead of opening the editor. If generation fails, clicking the row opens a **Generation failed** dialog. Click **Retry generation** to try again; the episode opens automatically once a generation succeeds. Each speech block in the finished script is labeled with the host's name, and dialogue alternates naturally between hosts. ## Step 4: Review the Script and Audio [#step-4-review-the-script-and-audio] When generation completes, review the script in the **Script Editor** on the right side. Edit any block directly, or hit **Regenerate Audio** on individual segments to have the AI rewrite and re-voice them. Credits are only consumed when you publish or download the episode, so iterate on drafts, scripts, and audio as much as you need first. ## Step 5: Review and Edit [#step-5-review-and-edit] Play back the episode and fine-tune it. You have full control: * **Script Editor:** Edit text in any speech block and regenerate audio for just that segment * **Edit Pronunciations:** Set custom pronunciations for names, brands, or technical terms Edit a single line and only that segment regenerates, not the entire episode. ## Step 6: Publish [#step-6-publish] If you turned on Auto-publish before generating, your episode already went live automatically when generation finished, you can skip this step. Otherwise, when your episode is ready: 1. Click **Publish Episode**. 2. Choose **Publish Now** or **Schedule for Later**. 3. Your episode goes live on your podcast website and your RSS feed updates immediately. Connected platforms like Spotify, Apple Podcasts, and YouTube pick up new episodes automatically. See [Publishing an Episode](/docs/help/publishing-and-distribution/publishing-an-episode) for more details. Publishing consumes 60 credits per minute of audio, so make sure your episode sounds exactly how you want it before publishing. # Creating Your First Podcast (/docs/help/getting-started/creating-your-first-podcast) ## Your Default Podcast [#your-default-podcast] When you first sign up, Jellypod creates a starter podcast called **My First Podcast** with two [default hosts](/docs/help/podcasts-and-episodes/hosts-and-voices#default-hosts) selected based on your region and browser language. The English starter podcast also includes a ready-made signature intro. You can start creating episodes right away, or customize the title, description, hosts, cover art, and intro to make it your own. ## How to Create a Podcast Series [#how-to-create-a-podcast-series] A **podcast** is a series: a title, description, hosts, and series-level settings. **Episodes** are the individual entries inside it, each with their own audio, video, and distribution. 1. Click **Podcasts** in the sidebar. 2. Click **Create New Podcast**. A dialog opens with every required field on one screen. ## Generate with AI [#generate-with-ai] Instead of filling in the fields yourself, click **Generate with AI** at the top of the dialog and describe your idea in a sentence or two, up to 4,000 characters. Jellypod drafts a title, description, and picks the best one or two of your existing hosts for the concept, then fills the fields in for you. Everything it fills in is editable before you save, and you still need at least one [host](/docs/help/podcasts-and-episodes/hosts-and-voices) already created for it to choose from. If your idea is written in or explicitly requests one of Jellypod's 70+ supported languages, the generated title, description, and the podcast's **Language** setting all use that language. ## Main Details [#main-details] * **Cover Art (Optional):** Upload your own square image. If you leave this blank, Jellypod generates one automatically from your title and description when you create the podcast. * **Title:** Up to 100 characters. This is what listeners see on Spotify, Apple Podcasts, and your podcast website. * **Description:** A rich text field supporting bold, italics, and other formatting. Must be between 10 and 3,000 characters. Cover who the show is for and what they will get. * **Hosts:** Select at least one AI narrator from your existing [hosts](/docs/help/podcasts-and-episodes/hosts-and-voices). Every episode uses these hosts by default, though individual episodes can override them. * **Language:** Every new podcast, including your starter podcast, defaults to a language based on your region and browser language when Jellypod supports it, and falls back to English otherwise. Change the dropdown to pick a different one. This setting controls the language scripts are generated in. ## Advanced (Optional) [#advanced-optional] Click **Advanced** in the dialog footer for a few more options: * **Podcast Author:** The person or organization credited in podcast directories. * **Type:** **Episodic** (listeners can start anywhere, most shows) or **Serial** (episodes in chronological order). * **Visibility:** **Public** (discoverable on Spotify, Apple, YouTube), **Unlisted** (direct link only), or **Private** (hidden from everyone). * **Create a signature Intro:** On by default. Jellypod composes a short original instrumental theme for your show and sets it as the podcast's default Intro. Turn this off if you would rather add your own Intro music later. See [Generating a Podcast Intro](/docs/help/podcasts-and-episodes/generating-a-podcast-intro). ## What Happens After You Click Create Podcast [#what-happens-after-you-click-create-podcast] Jellypod fills in the rest automatically, and you can change any of it afterward from [Edit Podcast](/docs/help/podcasts-and-episodes/editing-podcast-details): * **Categories:** Up to 2 directory categories are generated automatically from your title and description. * **Subdomain:** A free `yourshow.jellypod.com` address is generated from your title. You can [change it](/docs/help/publishing-and-distribution/custom-domains#changing-your-subdomain) or connect a [custom domain](/docs/help/publishing-and-distribution/custom-domains) later. * **Signature Intro:** Unless you turned off **Create a signature Intro** in Advanced, Jellypod starts generating your podcast's Intro in the background right after creation. This does not delay the podcast being ready to use. See [Generating a Podcast Intro](/docs/help/podcasts-and-episodes/generating-a-podcast-intro). * **Podcast Sources and Video Settings:** Not set during creation. Add podcast-level sources and video defaults afterward from Edit Podcast. ## Your Podcast Is Ready [#your-podcast-is-ready] After creating, you land on your new podcast page in the studio, where you can create your first episode. # Navigating the Studio (/docs/help/getting-started/navigating-the-studio) ## Dashboard [#dashboard] When you open Jellypod, you land on the studio dashboard. Describe what you'd like to create, attach some sources, and the Podcast Agent takes it from there. You can also pick a content type to get started: **Create a Podcast Episode**, **Create a Short**, **Create a Slide Voiceover**, or **Upload Existing Script**. Jellypod supports light and dark themes. Use the theme toggle in the top right corner to switch between them, and your choice is saved for next time. ## Sidebar [#sidebar] The left sidebar is your main navigation. From top to bottom it contains: * **Create Something New:** Start a new podcast, episode, or other content. * **Podcasts:** All your podcast series. * **Slide Voiceovers:** Narrated videos generated from a PowerPoint, Keynote, or PDF deck. * **Shorts:** AI-generated video Shorts, created from a prompt or source. A **Personalize** group holds items for customizing how Jellypod sounds and looks: * **Hosts:** Your AI hosts and their voices. * **Voice Clone:** Clone your own voice, or a guest's, for use as a host. * **Pronunciations:** Custom pronunciation rules for tricky words and names. * **Brand Kits:** Save reusable colors and logos to apply across Podcast websites, Shorts, and Magic Video. * **Video Styles:** Browse every animated video style and jump into a new Short with one selected. An **Advanced** group holds two more items: * **Automations:** Set a podcast to research, write, and publish on a schedule. * **Integrations:** Connect Jellypod to other tools and services. A **Recent** section gives you quick access to podcast episodes, slide voiceovers, and Shorts you've been working on, sorted by most recent activity. A filter icon at the top of the section lets you narrow the list by content type or, for episodes, by status. A Short still generating shows a "Generating Short..." placeholder until it has a title. Clicking a finished Short opens its preview player on the Shorts page; other item types open their editor. The footer includes a **Help & Support** button. ## Account & Settings [#account--settings] Click **Help & Support** in the sidebar footer to open the chat widget any time you have a question. Click your avatar at the bottom-left of the sidebar to access your account menu. It shows your current plan and credit balance, plus links to **Manage Team**, **Settings**, **Billing & Usage**, **Documentation**, **API**, **MCP & Integrations**, **Source Library**, **Achievements**, and **Affiliate Program**, along with log out. The settings page has six tabs: * **General** * **Team** * **Usage & Billing** * **Exports** * **Notifications** * **API Keys** # Understanding Credits (/docs/help/getting-started/understanding-credits) ## How Credits Work [#how-credits-work] Credits are how Jellypod meters AI generation. Every subscription includes a monthly allocation that refreshes each billing cycle, even on annual plans, and you can [purchase more](/docs/help/account-and-billing/purchasing-credit-top-ups) at any time. ## How Credits Are Consumed [#how-credits-are-consumed] Credits are consumed when you publish or download an episode, or generate or render a Short: * **Publishing or downloading an episode:** 60 credits per minute of audio * **Generating or re-rendering a Short:** 5 credits per second of the Short's final duration * **Regenerating a Short's visual:** 10 credits per second of the regenerated shot, minimum 1 credit Regenerating a Short's narration is free, including when you swap its host. Editing a Short's script or timeline is always free too; credits are only charged for the AI generation steps above. For example, publishing a 10-minute episode consumes 600 credits at the moment you publish or download it. A 30 second Short costs about 150 credits to generate, and the same rate applies each time you re-render it after making edits. Regenerating a single 3 second shot's visual costs 30 credits. For episodes created in the Studio, everything up to that point is free: writing and editing your script, generating and previewing audio, switching video templates, and building or playing back a Magic Video. Credits are only deducted when you produce the final file. Shorts work differently: generating a Short produces a finished video immediately, so credits are deducted at the moment you click Generate Short, not at a later publish or download step. Episodes generated or imported through the [API](/docs/help/api) or [MCP connector](/docs/help/mcp) work like Shorts, not like Studio drafts: they render immediately at the same 60 credits per minute rate, so credits are deducted at generation time rather than waiting for a later publish or download. The episode is still created as an unpublished draft, only the credit timing changes. ## Checking Your Balance [#checking-your-balance] Your credit balance is visible in the sidebar account menu (click your avatar in the bottom-left) and in **Account Settings** > **Usage & Billing** for a detailed breakdown. # What is Jellypod? (/docs/help/getting-started/what-is-jellypod) ## Your AI Podcast Studio [#your-ai-podcast-studio] Jellypod lets you create natural-sounding, AI podcasts with full creative control. Describe an episode in plain language, add some sources, and our AI content agent handles the research, writing, and production in minutes. Each episode features AI hosts with distinct personalities, backstories, and voices that have natural, engaging conversations. You control the script, the audio, and the final cut, and can create supporting content like show notes and Shorts from the same workspace. For live demos, tips, and Q\&A with the Jellypod team, join our [Discord community](https://discord.com/invite/9FYgzU8JNk). ## How It Works [#how-it-works] Everything starts with the **[Podcast Agent](/docs/help/podcast-agent/how-the-podcast-agent-works)**, a chatbot interface that acts as your AI co-producer. Describe what you want your episode to cover, attach [source material](/docs/help/sources/what-are-sources) (URLs, PDFs, YouTube videos, text), and the agent does the rest. The agent researches your topic using [Web Search](/docs/help/podcast-agent/using-web-search), builds an outline, writes a full multi-host script, and generates audio. You can edit and refine at every step, from the script down to individual speech segments. Credits are consumed when you finalize: by downloading the episode or publishing to a connected third-party platform like Spotify. You control who speaks in your episodes. Create and customize AI hosts with their own names, personalities, and backstories. Choose from nearly 400 voices across 70+ languages, or create a [voice clone](/docs/help/podcasts-and-episodes/voice-cloning) that sounds like you. ## What You Get [#what-you-get] Every episode comes with a full script editor, audio production tools, and video generation so you can fine-tune every detail before publishing. Distribute to Spotify, Apple Podcasts, YouTube, and your own Jellypod-hosted podcast website with one click, and track performance with built-in analytics. Jellypod handles both creation and hosting, so you don't need a third-party hosting provider to have your own podcast website or RSS feed. You can also create supporting content like show notes and collaborate with your team from a shared workspace. ## Who Is Jellypod For? [#who-is-jellypod-for] Anyone with ideas and not enough time to produce a podcast. Creators, marketers, educators, and businesses use Jellypod to produce professional podcast content at scale, without the equipment, editing, or production overhead. # Generating Multiple Episodes at Once (/docs/help/podcast-agent/generating-multiple-episodes) By default, every request on the New Episode screen produces one episode, even a broad one that covers several subtopics. Explicitly ask for more than one, and Jellypod detects that and generates each one in parallel instead. ## When It Triggers [#when-it-triggers] Jellypod looks for a clear, explicit ask for more than one episode: * **An explicit count:** "Make 3 episodes about X" or "a five-part series on Y." * **An enumerated list:** "One episode on X and one on Y." * **Open-ended series language:** "Make a series about the Roman Empire" or "create multiple episodes on Z." Jellypod picks a sensible number of episodes and a topic breakdown for you. A normal prompt, even one asking for broad coverage in a single episode ("an episode covering X, Y, and Z"), still produces one episode. When a request is ambiguous, Jellypod defaults to a single episode. ## What Happens [#what-happens] Every episode in the batch generates the same way a single episode does: research, script, and audio, run independently and in parallel. Sibling episodes can't see each other's finished scripts, so the batch relies on the topic breakdown decided up front rather than reading prior episodes as it goes. * The **hosts**, attached **sources**, and settings (**Auto-publish**, **Include show notes**) you chose before sending apply to every episode in the batch. * If your prompt states a duration ("15 minute episodes"), Jellypod sizes every episode in the batch to that length. It's the length of each episode, not the total runtime of the series. * You're taken straight to the podcast page, where every episode in the batch appears immediately in the episode list with a live progress indicator, the same as a single episode. * Generation keeps going even if you navigate away or close the tab. You can request at most 10 episodes in a single batch. Ask for more, and Jellypod tells you to lower the count before starting. # How the Podcast Agent Works (/docs/help/podcast-agent/how-the-podcast-agent-works) ## Your AI Co-Producer [#your-ai-co-producer] The Podcast Agent is a conversational AI that turns your ideas into podcast episodes and podcast series. Describe what you want, and it handles the research, writing, and production. ## Starting a Conversation [#starting-a-conversation] Select a content type from the Studio dashboard, type your prompt, and hit send. You can optionally attach [sources](/docs/help/sources/what-are-sources) (URLs, files, or YouTube links) to give the agent more context. The agent also researches topics on its own using web search, so sources are entirely optional. On the start screen, paste long text (2000 or more characters) directly into the input and Jellypod will automatically convert it into a source. ## What Can You Create? [#what-can-you-create] Podcast episodes and podcast series. See [Supported Content Types](/docs/help/podcast-agent/supported-content-types) for more details. ## How the Agent Works [#how-the-agent-works] ### Research [#research] For podcast episodes, the agent starts by searching the web for current information and analyzing any sources you attached. ### Outline and Generation [#outline-and-generation] The agent builds a structured outline internally, then moves straight from research into a full script and audio, no approval step in between. Once generation finishes, ask for changes like "make the intro shorter" or "add a section about X", and the agent revises without starting over. ### Script and Audio (Podcast Episodes) [#script-and-audio-podcast-episodes] The agent writes a full multi-host script and generates audio in one step. Credits are only consumed when you publish or download. Iterate on outlines, scripts, and audio as many times as you need before finalizing. # Supported Content Types (/docs/help/podcast-agent/supported-content-types) Select Podcast Episode from the Studio dashboard before starting a conversation. The interface shows the podcast selector, host controls, and episode settings for the episode you are creating. ## Podcast Episodes [#podcast-episodes] Create a fully produced [podcast episode](/docs/help/getting-started/creating-your-first-episode) with AI-generated dialogue between your selected hosts. The agent researches your topic, builds an outline, writes a script, and generates audio. Selecting this type reveals a podcast selector, host controls, and episode settings. # Tips for Better Prompts (/docs/help/podcast-agent/tips-for-better-prompts) ## Be Specific About What You Want [#be-specific-about-what-you-want] The more detail you give the agent, the better the output. Include: * **Topic:** What exactly should the content cover? * **Length:** State a duration in your prompt, such as "a 15 minute episode" or "keep it to 10 to 12 minutes," and Jellypod targets that length. Leave it out and Jellypod defaults to about 7 minutes. You can also adjust Episode Length from the episode editor's Settings after your first generation. * **Tone:** Casual and conversational? Authoritative and data-driven? Humorous? * **Audience:** Who is this for? Beginners, experts, a general audience? **Weak prompt:** > Make an episode about AI. **Strong prompt:** > Create a 10-minute episode about the future of remote work, focusing on recent trends in hybrid models and what they mean for small businesses. Keep the tone conversational and accessible. Two sentences with clear direction will always outperform a vague one-liner. ## Reference Your Sources [#reference-your-sources] Attaching [sources](/docs/help/sources/what-are-sources) (URLs, PDFs, files) is only half the job: tell the agent how to use them. Otherwise it may not emphasize the parts you care about. * "Use the attached report as the primary basis for this episode" * "Pull the key statistics from the linked article and build the discussion around them" * "Compare the findings in these two sources" You can combine your own sources with [Web Search](/docs/help/podcast-agent/using-web-search). Attach your materials and let the agent supplement them with current information from the web. ## Iterate Before You Publish [#iterate-before-you-publish] [Credits](/docs/help/getting-started/understanding-credits) are only consumed when you publish or download an episode, or render a clip, so iterate as much as you need beforehand: 1. Start with a broad prompt to get a first draft, the agent generates a full script and audio straight away, no outline approval step. 2. Listen to the generated audio and request specific edits. 3. [Regenerate individual segments](/docs/help/podcasts-and-episodes/regenerating-individual-segments) as many times as you want until it sounds right. ## Ask for Targeted Edits [#ask-for-targeted-edits] The agent edits surgically. It modifies only the relevant section without rewriting the entire piece. Effective revision prompts: * "Make the opening more attention-grabbing: start with a surprising statistic" * "Add a section about hybrid work models after the second chapter" * "Make the closing shorter and more action-oriented" * "The tone is too formal in the intro: make it punchier" * "Add more back-and-forth between the hosts in section three" ## Use Host Personalities [#use-host-personalities] Your [hosts](/docs/help/podcasts-and-episodes/creating-a-host) have personalities and backstories that shape how they speak. Lean into this: * "Have \[Host A] challenge \[Host B]'s perspective on this point" * "Make the conversation feel like a debate, not a lecture" * "Let \[Host A] bring in a personal anecdote to illustrate the point" The agent writes dialogue that reflects each host's personality, with one host pushing back while the other explains. This creates natural, engaging conversations rather than two people taking turns reading paragraphs. ## Structure Your Complex Prompts [#structure-your-complex-prompts] For longer or multi-faceted content, break your prompt into clear sections: > Create an episode covering three topics: > > 1. The rise of AI coding assistants > 2. How they're changing developer workflows > 3. Predictions for the next two years > > Open with a hook about how much code is now AI-generated. Close with practical advice for developers. # Using Web Search (/docs/help/podcast-agent/using-web-search) ## What It Does [#what-it-does] When Web Search is enabled, the Podcast Agent searches the internet for relevant, up-to-date information related to your prompt. It decides on its own when fresh data would improve your content, no manual triggering required. During research, a **Web Search** tool indicator appears in the chat with a spinning icon while working, then a checkmark when results are found. The agent cites discovered sources inline in its response. ## Default Setting [#default-setting] Web Search is **on** for your episode's initial generation, there's no toggle to turn it off before you generate. ## Adjusting Web Search After Generation [#adjusting-web-search-after-generation] Once your first episode has generated, you can turn Web Search off for follow-up edits and regenerations from the episode editor: 1. Open the episode in the Studio. 2. Click the **Settings** button (gear icon) above the chat input. 3. Check or uncheck **"Use External Web Research"** to toggle it on or off. The setting takes effect immediately for the current conversation and only affects that episode. ## When to Keep It On [#when-to-keep-it-on] * Your topic involves current events, trends, or recent developments * You want supporting data, statistics, or citations the agent can find for you ## When to Turn It Off [#when-to-turn-it-off] * You only want the agent to use your attached sources * Your content is based entirely on proprietary or sensitive material you want full control over You can attach your own sources and keep Web Search on at the same time. The agent weaves both your materials and its web research into a cohesive piece. # Analytics (/docs/help/publishing-and-distribution/analytics) ## Overview [#overview] Jellypod tracks audio downloads and video plays for every episode and surfaces them in the `Analytics` tab of each podcast. Audio and video plays are attributed the same way and counted together, so your numbers reflect both listeners and viewers. Analytics live inside each individual podcast. Open your podcast in the Studio and click the `Analytics` tab at the top of the podcast page. ## Enabling Analytics [#enabling-analytics] If you see an "Analytics not enabled" message, click `Edit` on your podcast, go to the `Details` step, expand the `Advanced` section, and turn on the `Analytics` toggle. Once enabled, Jellypod begins tracking plays through your RSS feed and video embeds automatically. ## What Analytics Does Jellypod Provide? [#what-analytics-does-jellypod-provide] ### Summary Stats [#summary-stats] The top of the `Analytics` tab shows four key stats at a glance: total all-time plays, plays in the last 30 days, plays in the last 7 days, and your top listener country. ### Plays Over Time [#plays-over-time] The `Plays Over Time` card shows a daily bar chart of combined audio downloads and video plays over the last 90 days. Use the date range picker in the top-right corner to zoom into a specific period. Hover over any bar to see the exact play count for that day. ### Top Countries [#top-countries] The `Top Countries` card ranks your ten biggest audiences by geography, showing each country's share of total plays. Use the month selector dropdown to view geographic data for any available month. ### Top Apps [#top-apps] The `Top Apps` card shows where people stream your podcast over the last 30 days, including Spotify, Apple Podcasts, Overcast, Pocket Casts, and Jellypod website plays. A donut chart provides a visual breakdown of the distribution. ### Top Devices and Top Browsers [#top-devices-and-top-browsers] Two side-by-side cards show device categories (mobile, desktop, tablet, smart TV) and browser usage over the last 30 days, combining audio and video listener data. ### Top Episodes [#top-episodes] At the bottom of the `Analytics` tab, the `Top Episodes` table ranks every published episode by play count across five windows measured from each episode's publish date: First Day, First 7 Days, First 30 Days, First 90 Days, and All Time. This shows how each episode performed in the period right after it went live, rather than rolling totals. Click any column header to re-sort the table. Click an episode title to navigate directly to that episode in the Studio. # Custom Domains (/docs/help/publishing-and-distribution/custom-domains) ## Requirements [#requirements] Custom domains are gated behind the Business plan. If your plan does not include custom domains, entering one and clicking **Save Domain** prompts you to upgrade. ## Where to Manage Your Domain [#where-to-manage-your-domain] Open the **Edit Domain** dialog from either place: * **Share dialog:** On your podcast's page, click **Share Podcast**, then click **Edit Domain** next to your Podcast Link. * **Podcast editor:** Open your podcast, click **Edit Podcast**, and find **Configure Custom Domain** on the final step. 1. Open your podcast, click **Share**, then click **Edit Domain** next to **Podcast Link**. 2. Below the subdomain field, enter your domain in the **Custom domain** field. You can use either: * An apex domain: `yourdomain.com` * A subdomain: `podcast.yourcompany.com` Do not include `www.`, `http://`, or `https://` in the domain field. Enter the bare domain only. 3. Click **Save Domain**. Jellypod registers the domain and shows a confirmation to configure your DNS records. ### Configure DNS Records [#configure-dns-records] Add the following records at your domain registrar (Namecheap, GoDaddy, Cloudflare, etc.): * **A Record:** Name: Leave blank (or `@`). Value: `76.76.21.21`. TTL: 86400. * **CNAME Record:** Name: `www` (or your subdomain prefix). Value: `cname.jellypod.com.`. TTL: 86400. If your registrar does not support a TTL of 86400, set the highest available value. ### Verify Your Domain [#verify-your-domain] Once your DNS records are live, reopen **Edit Domain** to see the current status under your domain. * DNS propagation can take up to an hour. * Once verified, the status shows "Domain verified successfully." * SSL is provisioned automatically, no extra configuration needed. ## Removing a Custom Domain [#removing-a-custom-domain] Open **Share** > **Edit Domain**, click the trash icon next to your custom domain, then confirm **Remove domain**. ## After Setup [#after-setup] Once your custom domain is active, visitors to your old `subdomain.jellypod.com` URL will be automatically redirected to your custom domain. ## Changing Your Subdomain [#changing-your-subdomain] Every podcast gets a free `yourshow.jellypod.com` subdomain the moment you create it, derived from your title. To change it, click **Share** on your podcast, then **Edit Domain** next to **Podcast Link**, and enter a new subdomain. Jellypod checks availability as you type; you can only save once the subdomain shows as available. Changing your subdomain breaks any links people already have to your old address, including your RSS feed URL. Update your podcast link wherever you've shared it. # Distributing to Apple Podcasts (/docs/help/publishing-and-distribution/distributing-to-apple-podcasts) ## Before You Start [#before-you-start] Distribution to Apple Podcasts is included with every plan. You also need an Apple ID. If you do not have one, create one at [apple.com](https://apple.com). ## Step-by-Step Setup [#step-by-step-setup] 1. Navigate to your podcast page in the studio. 2. Click the **Apple Podcasts** badge in the row of distribution badges below your podcast header. 3. The **Distribute on Apple Podcasts** dialog opens: "New episodes will automatically appear on your podcast when published." 4. Follow the numbered steps in the dialog: ### Step 1 [#step-1] Go to [Apple Podcasts Connect](https://podcastsconnect.apple.com/) and sign into your Apple account. ### Step 2 [#step-2] In the upper-right corner, click the plus (+) icon and select "New Show." ### Step 3 [#step-3] Select "Add a show with an RSS feed." ### Step 4 [#step-4] Copy and paste your RSS feed URL into the field. ### Step 5 [#step-5] Review your podcast information and save for approval. This process may take some time. ## After Submission [#after-submission] Approval may take a few hours. Once approved, new episodes appear on Apple Podcasts automatically when published. This is a one-time setup. If your submission takes longer than expected, check that your podcast has at least one published episode and that your cover art meets Apple's requirements (square, between 1400x1400 and 3000x3000 pixels). # Distributing to Spotify (/docs/help/publishing-and-distribution/distributing-to-spotify) ## Before You Start [#before-you-start] Distribution to Spotify is included with every plan. You also need a Spotify account. If you do not have one, create one at [spotify.com](https://spotify.com). ## Step-by-Step Setup [#step-by-step-setup] 1. Navigate to your podcast page in the studio. 2. Click the **Spotify** badge in the row of distribution badges below your podcast header. 3. The **Distribute on Spotify** dialog opens: "New episodes will automatically appear on your podcast when published." 4. Follow the numbered steps in the dialog: ### Step 1 [#step-1] Go to [Spotify for Podcasters](https://creators.spotify.com/dash/submit) and sign into your Spotify account. ### Step 2 [#step-2] If you do not see a place to submit your RSS feed, click on the upper-right icon and click "Add a new show." ### Step 3 [#step-3] Click "Find an existing show." ### Step 4 [#step-4] Copy and paste your RSS feed URL into the field. ### Step 5 [#step-5] Review your podcast information and submit for approval. ### Step 6 [#step-6] Jellypod will forward you an email from Spotify to verify your ownership of the podcast. For your privacy, Jellypod uses a forwarding email address in your RSS feed. Your actual email is never shared with Spotify. ## After Submission [#after-submission] Approval may take a few hours. Once verified, every episode you publish on Jellypod appears on Spotify automatically. This is a one-time setup; you do not need to repeat it for future episodes. # Distributing to YouTube (/docs/help/publishing-and-distribution/distributing-to-youtube) ## Before You Start [#before-you-start] Distribution to YouTube is included with every plan. You also need a YouTube/Google account with access to YouTube Studio. ## Step-by-Step Setup [#step-by-step-setup] 1. Navigate to your podcast page in the studio. 2. Click the **YouTube** badge in the row of distribution badges below your podcast header. 3. The **Distribute on YouTube** dialog opens: "New episodes will automatically appear on your podcast when published." 4. Follow the numbered steps in the dialog: ### Step 1 [#step-1] Go to [YouTube Studio](https://studio.youtube.com/) and sign into your YouTube account. ### Step 2 [#step-2] Click on the "Create" button in the top-right corner and select "New Podcast." ### Step 3 [#step-3] In the popup that appears, click "Submit RSS feed." ### Step 4 [#step-4] When asked, copy and paste your RSS feed URL into the field. ### Step 5 [#step-5] Follow YouTube's instructions to verify podcast ownership. Click "Send Code" and Jellypod will forward you a verification email. ### Step 6 [#step-6] Go to your email inbox, copy the YouTube verification code, and paste it into the field. ## After Submission [#after-submission] Approval may take a few hours. Once verified, every episode you publish on Jellypod appears on YouTube automatically. RSS feeds on YouTube use your cover art as a still image. Videos are not yet supported via RSS. To put full video episodes on YouTube, render a video with Jellypod's Magic Video feature, download it, and upload it to YouTube yourself. This is a one-time setup; you do not need to repeat it for future episodes. # Embedding Your Podcast (/docs/help/publishing-and-distribution/embedding-your-podcast) To get your embed code, go to your podcast page in the Studio and click the `Embed Player` button in the distribution row. The dialog shows a live player preview, a theme selector, a version selector (Full, with the episode list, or Compact, player only), and the embed code. ## The Player [#the-player] The embedded player includes cover art, episode title, podcast name, play/pause, playback speed (0.5x to 2x), skip buttons, volume control, and a progress bar. It's fully responsive on desktop and mobile. The default embed plays your podcast's latest episode. To embed a specific episode, use the `Share` button on that individual episode instead. ## Themes [#themes] Choose from 8 preset themes: Light, Dark, Black, Slate, Red, Green, Blue, and Yellow. The player preview updates in real time. Click the code block to copy the embed code, then paste it into any platform that accepts HTML iframes: WordPress, Squarespace, Notion, Webflow, and more. ## Custom Colors [#custom-colors] For exact brand matching, append color parameters to the embed URL: * `primary_color`: text and icon color * `secondary_color`: secondary and muted elements * `tertiary_color`: accent elements * `background_color`: player background Colors can be specified with or without the `#` prefix: ``` https://your-podcast.jellypod.com/embed?primary_color=ffffff&background_color=1a1a2e ``` The embed URL also accepts a `theme` parameter (e.g., `?theme=dark`) to set the theme programmatically. # Publishing an Episode (/docs/help/publishing-and-distribution/publishing-an-episode) ## How to Publish [#how-to-publish] Publishing finalizes your audio, updates your RSS feed, and makes your episode available on your podcast website and connected platforms. 1. Open your episode in the editor. The **Publish Episode** button is always in the toolbar. 2. If the episode doesn't have audio yet, the button stays visible but inactive. Clicking it shows a message explaining why, such as needing to generate audio first. Go to the episode details and click **Generate Audio**. This can take a few minutes depending on episode length. 3. Once audio generation and any video production finish, the button becomes active. It pulses gently when ready. 4. Click the **Publish Episode** button to open the publish dialog. 5. Choose **Publish Now** or **Schedule for Later**. 6. Click **Publish Episode** to confirm. To download your episode as a video or audio file, use the separate **Download** button in the toolbar. See [Downloading Video and Audio](/docs/help/podcasts-and-episodes/downloading-video-and-audio) for details. ## Publishing Progress [#publishing-progress] Once confirmed, the dialog transitions to a progress view showing the current step. When a new render is required, a percentage counter and progress bar appear. Re-publishing an existing version shows just a step label. Publishing happens in the background: your episode is finalized and pushed to your RSS feed. You cannot close the dialog while publishing is in progress, and its close button is hidden for the same reason. If you'd rather not wait, click **Podcast Home** to navigate away; publishing keeps running in the background. When a new render is required, the script and timeline editors become read-only until it finishes, since the render reads directly from them. You can cancel that render from the script editor's lock overlay; see [Using the Script Editor](/docs/help/podcasts-and-episodes/using-the-script-editor#editing-while-an-episode-renders). When complete, you are redirected to the episode detail view with a published status badge. ## What Happens When You Publish [#what-happens-when-you-publish] Publishing triggers the following: * Your podcast's RSS feed is updated immediately with the new episode * Your podcast website displays the episode for listeners * Any connected platforms (Spotify, Apple Podcasts, YouTube) pick up the episode automatically through your RSS feed Publishing a new render consumes credits. The publish dialog shows the render cost before you confirm. If you don't have enough credits, you'll be prompted to upgrade your plan. Every publish creates an export record. You can review all past renders and their credit costs in **Settings > Exports**. See [Viewing Exports](/docs/help/account-and-billing/viewing-exports) for details. If you edit the episode while a new render is in progress, publishing still completes using the render that was already running. You'll see a "Published from an earlier version" notice telling you those edits aren't included. Publish again to render and publish your latest changes. # QR Codes (/docs/help/publishing-and-distribution/qr-codes) ## Generating a QR Code [#generating-a-qr-code] 1. Go to your podcast page in the studio. 2. Click the **QR Code** button (the square grid icon in the header area, next to the distribution badges). 3. The **QR Code** dialog opens displaying a scannable QR code for your podcast website. The QR code links directly to your podcast website URL. If you have a custom domain configured, the QR code points to that domain. ## Downloading the QR Code [#downloading-the-qr-code] Click the **Download QR Code** button at the bottom of the dialog. The QR code saves as a PNG file named after your podcast (e.g., `my-podcast_podcast_qr.png`). A confirmation toast appears: "QR Code Downloaded." ## Where to Use QR Codes [#where-to-use-qr-codes] QR codes are useful for sharing your podcast in physical or offline contexts: * Business cards * Slide decks and presentations * Event materials, flyers, and posters * Product packaging * Social media graphics Anyone who scans the code is taken directly to your podcast website. Print the QR code at a large enough size for easy scanning. A minimum of 1 inch / 2.5 cm is recommended for printed materials. # RSS Feed Not Updating (/docs/help/publishing-and-distribution/rss-feed-not-updating) ## Check Your RSS Feed URL [#check-your-rss-feed-url] 1. Open your podcast in Jellypod and go to the distribution section. 2. Click the **RSS** badge to see your current RSS feed URL. 3. Make sure the URL uses `jellypod.com`, not `jellypod.ai`. ## Why This Happens [#why-this-happens] Jellypod recently migrated from `https://jellypod.ai/` to `https://jellypod.com/`. While we set up redirects, **some podcast platforms don't follow URL redirects reliably**, especially YouTube Podcasts. If you submitted your RSS feed before the migration, the platform may still be trying to fetch from the old `jellypod.ai` URL and failing silently. ## How to Fix It [#how-to-fix-it] ### Spotify [#spotify] 1. Log into [Spotify for Podcasters](https://creators.spotify.com). 2. Go to your podcast settings. 3. Update the RSS feed URL to your current `jellypod.com` feed URL. 4. Save and wait for Spotify to re-fetch (usually within a few hours). ### Apple Podcasts [#apple-podcasts] 1. Log into [Apple Podcasts Connect](https://podcastsconnect.apple.com). 2. Select your podcast. 3. Update the RSS feed URL to the `jellypod.com` version. 4. Click **Save** and request a refresh. ### YouTube [#youtube] 1. Go to [YouTube Studio](https://studio.youtube.com) → Podcasts. 2. Remove the existing podcast feed. 3. Re-submit using the updated `jellypod.com` RSS feed URL. YouTube is the most sensitive to RSS URL changes. If YouTube can't retrieve your feed, removing and re-adding is usually the fastest fix. ## Still Not Working? [#still-not-working] * **Verify your feed is valid:** Paste your RSS feed URL directly into a browser. You should see XML content with your episodes listed. * **Check episode status:** Make sure the episode shows as **Published** in Jellypod, not Draft or Scheduled. * **Wait a bit:** Platforms can take anywhere from a few minutes to 24 hours to pick up new episodes after the feed updates. * **Contact support:** If none of the above works, reach out via the chat widget in Jellypod. # Scheduling Episodes (/docs/help/publishing-and-distribution/scheduling-episodes) Scheduling lets you batch content in advance and release episodes without being online when they go live. It is available on every paid plan, including Starter; only the free plan is gated out. ## How to Schedule an Episode [#how-to-schedule-an-episode] 1. Open your episode in the editor and click `Publish Episode` in the toolbar. 2. In the publish dialog, select `Schedule for Later`. 3. Pick a future date and time. Past dates cannot be selected, and you can schedule up to 90 days out. 4. Click `Schedule Episode` to confirm. The episode will appear in your episodes list with a scheduled status. At the scheduled time, Jellypod automatically publishes it, your RSS feed and podcast website are updated, connected platforms pick it up, and you'll receive an email confirming the episode is live. ## Reverting a Scheduled Episode [#reverting-a-scheduled-episode] Open the episode's dropdown menu, click `Edit Schedule`, then click `Revert to Draft`. The episode reverts to a draft with no content lost and can be rescheduled or published at any time. Schedule a week of episodes in advance to maintain a consistent release cadence. Consistency is one of the best ways to grow your audience. If you edit the episode while a new render is in progress, scheduling still completes using the render that was already running. You'll see a "Scheduled from an earlier version" notice telling you those edits aren't included. Schedule again to render and schedule your latest changes. # Sharing Episodes (/docs/help/publishing-and-distribution/sharing-episodes) To share an episode, open the dropdown menu on any episode and click `Share`. This works for both published and unpublished episodes. ## Rendering Required to Share [#rendering-required-to-share] Your share link only works once the episode has a render. If the episode has never been rendered, the share dialog shows a disabled link and a `Create render` button instead. Click it to render the episode; the link enables automatically once rendering finishes. Rendering costs credits, based on the audio duration. The share dialog shows the exact cost before you render. See [Understanding Credits](/docs/help/getting-started/understanding-credits) for details. If you edit an already-shared episode, the live share link keeps playing the older render until you update it. Reopen the Share dialog and click `Re-render latest version` to push your latest edits to the same link. This creates a new render and consumes credits again. While that render runs, the script and timeline editors become read-only, since the render reads directly from them, then editing resumes automatically once it finishes. ## What Options Do I Have to Share My Podcast? [#what-options-do-i-have-to-share-my-podcast] ### Share Link [#share-link] The share dialog displays a direct link to your episode. Click the copy icon to copy it to your clipboard. You can share this link anywhere: social media, email, messages, or your own website. ### Social Sharing [#social-sharing] A row of social sharing buttons lets you share directly to LinkedIn, X, Facebook, Reddit, WhatsApp, and Email. You can also generate a downloadable QR code or use your device's native share sheet on supported devices. Sharing an unpublished episode via a link does not add it to your RSS feed or podcast series. Use this for draft previews when you need someone to review an episode before you publish it. ### Embedding [#embedding] For published episodes, the share dialog also includes an embed code you can paste into any website to display an inline podcast player. The player fills the width of its container. See [Embedding Your Podcast](/docs/help/publishing-and-distribution/embedding-your-podcast) for more details. # Social Links and Branding (/docs/help/publishing-and-distribution/social-links-and-branding) ## Social Links [#social-links] To add social links, open your podcast settings and go to the `Details` step. Click `Add Links` in the Social Links row to open the social media dialog. You can add links for Instagram, Facebook, Threads, YouTube, X, LinkedIn, Discord, a contact email, and a general website URL. Only filled-in platforms are shown on your website. Configured links appear in the sidebar of your podcast website under a "Follow Us" heading. ## Jellypod Branding [#jellypod-branding] By default, your podcast website shows a "brought to you by Jellypod" notice in the sidebar. On the Creator plan and above, this notice is removed automatically across your podcast website, RSS feed, and embeds, for every podcast in your account. There is no toggle to turn on: it follows your plan. # Unpublishing Episodes (/docs/help/publishing-and-distribution/unpublishing-episodes) Unpublishing removes an episode from your RSS feed and podcast website immediately. No content is deleted: your audio, script, and sources remain intact and the episode reverts to a draft you can edit and republish at any time. ## How to Unpublish [#how-to-unpublish] Open the dropdown menu on any published episode and click `Unpublish Episode`. The episode will be removed from your RSS feed and podcast website and returned to draft status. Podcast apps that have already downloaded the episode may still show it until they refresh their feeds. ## Republishing [#republishing] Republishing only costs credits if it creates a new render. If you republish the existing render without changes, it is free. Generating a new render charges credits based on the audio duration. [Learn more about credits](/docs/help/getting-started/understanding-credits). # Your Podcast Website (/docs/help/publishing-and-distribution/your-podcast-website) Your podcast website is live at `yourshow.jellypod.com` the moment you create a podcast. The subdomain is derived from your podcast title, and can be changed at any time from the Share dialog. If you have a [custom domain](/docs/help/publishing-and-distribution/custom-domains) configured, the site is served there instead. ## Website Layout [#website-layout] Your site has two main areas. The sidebar contains your cover art, podcast title, description, categories, social links, and listening platform links. The main content area lists all published episodes, ordered newest-first for Episodic podcasts, or chronologically for Serial. If you group episodes into [seasons](/docs/help/podcasts-and-episodes/podcast-seasons), the episode list is split into sections by season instead of one flat list. Episodes without a season still appear, grouped together with no heading. Clicking an episode opens its dedicated page with a player, description, and optional transcript. ## Templates [#templates] Open the website editor for any podcast (open the podcast, then click **Edit Website**) to choose a layout. Five templates are available: * **Spotlight:** a centered hero with your cover, platform buttons, and a grid of episodes. * **Editorial:** a clean, light layout with a centered header and a searchable episode list. * **Broadcast:** a bold side-by-side hero with a waveform over a dark latest-episodes gallery. * **Conversation:** a warm single-column layout with a centered header and large episode cards. * **Magazine:** an editorial side-by-side hero with a shadowed card grid and an accent rule. Every template renders your existing cover art, episodes, and links, so switching between them never changes your content. ## Customizing Your Site [#customizing-your-site] In the same editor you can edit your title and description. A live preview updates as you type, so you can see each change before you publish. The site's accent color, labeled **Brand accent**, is shown here read-only. It comes from the Podcast's [Brand Kit](/docs/help/podcasts-and-episodes/brand-kits) selection; click **Manage Podcast Brand** to open Edit Podcast, then open the **Brand** settings card to choose your Organization default Brand Kit, another Brand Kit, or a Custom Primary color for this Podcast alone. Changing it there updates your live website immediately. ## Episode Pages [#episode-pages] Each episode page includes a video or audio player, the episode title, rich text description, and a transcript if enabled. To enable transcripts, turn on the `Show Transcripts` toggle under `Advanced` in your podcast settings. Enabling transcripts improves SEO and makes your content more accessible to listeners who are deaf or hard of hearing. ## Visibility [#visibility] Your website respects the `Visibility` setting in your podcast details. `Public` makes it discoverable by search engines and directories. `Unlisted` keeps it accessible only via direct link. `Private` takes it offline entirely, so no one can reach the website. ## Branding [#branding] By default, a "Brought to you by Jellypod" notice appears at the bottom of the sidebar. On the Creator plan and above, this notice is removed automatically. There is no toggle to set: it follows your plan. # Your RSS Feed (/docs/help/publishing-and-distribution/your-rss-feed) ## What Are RSS Feeds? [#what-are-rss-feeds] RSS (Really Simple Syndication) is the universal standard that powers podcast distribution. It's a URL that contains a structured list of your episodes along with their titles, descriptions, audio files, and metadata. Podcast platforms like Spotify and Apple Podcasts read this URL to discover and sync your content. Every Jellypod podcast gets its own RSS feed generated automatically. Submit your feed URL to a platform once, and every episode you publish afterward appears there with no manual uploads. Distribution is a one-time setup per platform. ## Finding Your RSS Feed URL [#finding-your-rss-feed-url] Your RSS feed URL is available on your podcast page in the Studio. Click the `RSS` badge in the distribution row below the podcast header to open the RSS Feed dialog, then copy your unique URL. Your feed URL is also available inside the Spotify, Apple Podcasts, and YouTube distribution dialogs, so you don't need to open the RSS dialog separately when setting up distribution. ## Automatic Updates [#automatic-updates] Your RSS feed updates automatically whenever you publish or unpublish an episode, or update podcast metadata like your title, description, or cover art. ## Sharing Your RSS Feed [#sharing-your-rss-feed] You can share your RSS feed URL directly with listeners who use podcast apps that accept RSS feeds, such as Pocket Casts, Overcast, and Snipd. ## Email Forwarding & Spam Protection [#email-forwarding--spam-protection] Your RSS feed includes a unique email address for your podcast. Podcast platforms like Spotify and YouTube use this address to send verification codes and account notifications. Jellypod forwards these emails to your account email address so you never miss them. To protect you from spam, Jellypod only forwards emails from known senders, including major podcast platforms like Spotify, Apple, and YouTube. Emails from other senders are blocked. If you're expecting an email from a platform that isn't being forwarded, contact [Jellypod support](mailto:support@jellypod.com) and we'll add it. ## Podcasting 2.0 [#podcasting-20] Jellypod RSS feeds support the [Podcasting 2.0 namespace](https://podcastindex.org/namespace/1.0), which enables automatic episode numbering, in-feed transcripts for apps that support them, a unique podcast GUID, and a locked feed to prevent unauthorized claiming. [Learn more about our Podcasting 2.0 support](https://www.jellypod.com/product-updates/podcasting-2-support). ## Seasons [#seasons] If you group episodes into [seasons](/docs/help/podcasts-and-episodes/podcast-seasons), your feed emits `itunes:season` and `podcast:season` tags for those episodes, and episode numbers restart at 1 within each season. Episodes without a season are unaffected and keep whole-show numbering. ## Explicit Content [#explicit-content] When you publish an episode, Jellypod reviews its transcript and sets the Apple Podcasts explicit rating for you, so your feed reports `itunes:explicit` accurately. If the rating is ever wrong, open Edit Episode Details and toggle Explicit content to override it. Your whole show is marked explicit whenever any episode is explicit, which is what Apple expects. # Adding Music (/docs/help/podcasts-and-episodes/adding-music) ## How to Add a Music Track [#how-to-add-a-music-track] 1. In the script editor toolbar, click the **Add Music** button. 2. Choose a music type from the dropdown: * **Intro Music:** plays at the beginning of your episode * **Outro Music:** plays at the end of your episode * **Background Music:** plays throughout the episode behind the dialogue, looping to fill the full length 3. The media picker opens. Browse or upload an audio file and confirm. The stock tab includes Jellypod's music tracks plus ten ambience beds: looping atmospheres like coffee shop murmur, rain on a window, a crackling fireplace, and distant ocean surf. Ambience beds are mastered to sit quietly under speech, so they set a scene without competing with your dialogue. Search "ambience" in the picker to see the full set. The track appears as a new row in the timeline editor, separate from the main **Podcast Audio** track. You can only have one track per music type. To replace a track, remove the existing one first, then add a new file. ## Removing a Music Track [#removing-a-music-track] 1. Open the **Add Music** dropdown again. 2. Music types that already have a file show the filename and a delete icon. 3. Click the item to open a confirmation dialog. If the track is also this podcast's [default](/docs/help/podcasts-and-episodes/editing-podcast-details#episode-music-defaults) for that music type, the dialog includes a checkbox to also remove it as the default. 4. Confirm to remove it from your episode. If you remove a default track another way, such as deleting it from the script or timeline editor or cutting it, Jellypod detects that the removed track was your podcast's default and asks whether to also clear the default, with a **Don't ask me again** option scoped to that podcast. ## Looping Background Music [#looping-background-music] Background music loops automatically, repeating to cover your entire episode even when the track is shorter than your show. By default it spans from the first spoken word (right after any intro music) to just before the outro. The background track has its own color on the timeline so it is easy to tell apart from your dialogue and other music. To control how long it runs, drag the edge of the background music segment: trim it shorter, or extend it longer and it keeps looping to fill the new length. Dashed lines on the segment mark where each loop restarts. To snap the background back to the full episode span, open the clip and use the **Reset** button in its edit panel. ## Managing Music on the Timeline [#managing-music-on-the-timeline] Each music track has its own row in the timeline editor. Use the fade handles at the start or end of a music segment to create smooth volume ramp-ins and ramp-outs: drag the handle inward to set the length of the fade. To preview your episode with or without a music track, use that track's mute button, covered in [Using the Timeline Editor](/docs/help/podcasts-and-episodes/using-the-timeline-editor). # Aspect Ratios (/docs/help/podcasts-and-episodes/aspect-ratios) ## Selecting an Aspect Ratio [#selecting-an-aspect-ratio] 1. Open an episode in the studio. 2. Click the **Orientation** dropdown in the toolbar above the video preview. 3. Select your desired aspect ratio. A checkmark indicates the current selection. The preview canvas resizes immediately to fit the new dimensions. Orientation is locked while **Magic Video** is the active template. The orientation button is disabled with the tooltip "Orientation is locked for Magic Video," and Magic Video renders at its set orientation. Switch to another template if you need to change the aspect ratio. ## The Three Options [#the-three-options] ### Landscape (1920x1080) [#landscape-1920x1080] * **Icon:** Computer monitor * **Best for:** YouTube, website embeds, desktop viewing * Standard widescreen 16:9 format used by most video platforms ### Portrait (1080x1920) [#portrait-1080x1920] * **Icon:** Smartphone * **Best for:** TikTok, YouTube Shorts, Instagram Reels * Vertical 9:16 format optimized for mobile-first platforms ### Square (1080x1080) [#square-1080x1080] * **Icon:** Square * **Best for:** Instagram feed, Twitter/X, LinkedIn * 1:1 format that works well in social media feeds You can render the same episode in multiple aspect ratios. Change the orientation, download the video, then switch to another orientation and download again. # Audio & Timeline (/docs/help/podcasts-and-episodes/audio-and-timeline) ## Overview [#overview] Once your script is ready, Jellypod converts it into a fully voiced episode with a single action. Each speech block is rendered as an individual audio segment, then assembled into a complete episode ready to publish or download. The Timeline Editor gives you track-based control over the final audio. Drag segments, adjust timing, layer in music, and preview the result without regenerating from scratch. ## What's in This Section [#whats-in-this-section] This section covers generating episode audio, regenerating individual segments, arranging tracks in the Timeline Editor, adding external music, uploading a pre-recorded episode, and using the playback controls to review your work. # Audio Tags (/docs/help/podcasts-and-episodes/audio-tags) Audio tags let you insert expressive cues (like laughs, pauses, whispers, and more) directly into your episode script. When audio is generated, these tags are converted into natural-sounding vocal effects. Audio tags appear as inline chips within speech blocks and are triggered with a `/` slash command. **Audio tags only work with Horizon voices and speech blocks.** If your host uses a Classic voice or you add a tag to a music block, the tag will be automatically stripped during audio generation with no error message. Audio tags are silently ignored in these cases. For best results, confirm your host is using a Horizon voice before adding audio tags. ## Inserting an Audio Tag [#inserting-an-audio-tag] 1. Click into any **speech block** in the script editor. 2. Type `/` to open the audio tag picker. 3. Browse the categorized list or start typing to filter tags. 4. Select a tag using **Enter** or by clicking it. The tag is inserted as a styled chip inline with your text. For example: > "I just found out we hit a million downloads `[laughs]`. I honestly can't believe it." ## Available Preset Tags [#available-preset-tags] The picker is organized into four categories: ### Reactions [#reactions] * `laughs`: A light chuckle or laugh * `sighs`: An exhale expressing emotion * `gasps`: A sharp intake of breath * `clears throat`: A brief throat clear ### Emotions [#emotions] * `excited`: Energetic, upbeat tone * `nervous`: Hesitant, uneasy delivery * `calm`: Relaxed, steady voice * `frustrated`: Tense, irritated tone * `sarcastic`: Dry, ironic delivery ### Delivery [#delivery] * `pauses`: A brief silence * `hesitates`: Stumbling, uncertain speech * `dramatic`: Intense, theatrical delivery * `whispers`: Soft, hushed voice ### Actions [#actions] * `insert audio`: Opens the Insert Audio dialog so you can drop a recorded clip into the transcript at this point. See [Inserting Audio Into the Transcript](/docs/help/podcasts-and-episodes/inserting-audio). ## Custom Tags [#custom-tags] Not seeing the right tag? You can create your own: 1. Type `/` to open the picker. 2. Scroll to the bottom of the list or type a tag name that doesn't match any preset. 3. Enter your custom tag text in the **Custom tag** input field. 4. Press **Enter** to insert it. Custom tags follow the same rules as presets: they're converted to vocal effects during audio generation. Keep custom tags short and descriptive for best results (e.g., `chuckles nervously`, `takes a deep breath`). ## Editing and Removing Tags [#editing-and-removing-tags] * **Click a tag chip** in the editor to re-open the picker and replace it with a different tag. * **Backspace or Delete** over a tag chip to remove it, just like deleting any other character. ## How Tags Work During Audio Generation [#how-tags-work-during-audio-generation] When you generate episode audio: * Each `[tag]` in the script is converted to a sound effect directive. * The AI voice renders the tag as a natural vocal expression blended into the surrounding speech. * Tags do **not** appear in captions, transcripts, or video subtitles. They're stripped from all user-facing text outputs. Any text wrapped in square brackets in a speech block is treated as an audio tag, not just tags inserted through the picker. If you need literal square brackets in your script for something else (a citation, a timestamp, a version number), that text will be treated as a tag and stripped the same way a real tag would be, so avoid square brackets for anything you want spoken or shown in captions. # Podcast Automations (/docs/help/podcasts-and-episodes/automations) Automations let you put any podcast on autopilot and have fresh episodes generated automatically. Each run uses the same pipeline as the New Episode box: it researches the topic, checks your podcast's recent episodes so it doesn't repeat itself, writes the script, and generates the audio, then either saves a draft for review or publishes straight to your feed. This is most useful for news recaps, daily or weekly roundups, turning newsletters into a podcast feed, and any series where the format stays the same but the content changes. ## Triggers [#triggers] Every automation runs from one of two triggers, chosen when you create it. The trigger is fixed for the life of the automation, so to switch from one to the other, create a new automation. * **Schedule:** Generate an episode automatically on a recurring schedule (daily or weekly). * **Inbound Email:** Generate an episode whenever an email is sent to the automation's unique address. The email becomes the source for that episode. ## Creating a Scheduled Automation [#creating-a-scheduled-automation] 1. Click **Automations** in the sidebar. 2. Click **New Automation**. 3. Under **Trigger**, keep **Schedule** selected, then click **Continue**. 4. Configure the automation: * **Podcast:** The show each generated episode posts to. Hosts and voices are inherited from that podcast. * **Episode length:** Pick a duration preset for each episode. * **Prompt:** What every episode should cover, for example "Cover the most important AI product launches and research from the past day." * **Schedule:** Choose the days to **Run on**, the **Time**, and the **Timezone**. A preview shows the upcoming runs. * **Web Search:** Let the agent pull current information before writing. * **Auto-Publish:** When on, each run publishes straight to your feed. When off, each run saves as a draft for you to review, edit, and publish. * **Include show notes:** Adds a list of source links to the end of each generated episode's description. On by default. See [Show Notes](/docs/help/podcasts-and-episodes/show-notes). 5. Click **Create Automation**. ## Creating an Inbound Email Automation [#creating-an-inbound-email-automation] An inbound email automation generates an episode every time it receives an email, using the email body as the source. It is the easiest way to turn a newsletter into a podcast. 1. Click **Automations** in the sidebar, then **New Automation**. 2. Under **Trigger**, pick **Inbound Email**, then click **Continue**. A unique private email address is generated for the automation. 3. Copy the **Email address** with the copy button. This is the address that triggers runs, so keep it private: anyone who can email it can start a generation. 4. Configure the **Podcast**, **Episode length**, **Web Search**, **Auto-Publish**, and **Include show notes** options just like a scheduled automation. 5. The **Prompt** is optional here. Leave it blank to let each email speak for itself, or add standing guidance that applies to every episode, for example "Summarize the top three stories and skip the sponsor section." 6. Click **Create Automation**. To trigger a run, send or forward an email to the address. Jellypod uses the email as the source, then researches, writes, and generates the episode. If the email body is already a finished, ready-to-record script, Jellypod uses it word-for-word instead of writing a new one. See [What Are Sources?](/docs/help/sources/what-are-sources) for details. ### Connecting a Newsletter [#connecting-a-newsletter] To turn a newsletter into a podcast feed, point the newsletter at your automation's address: * **Subscribe directly:** Use the automation's address as the email when you subscribe to a Substack, Ghost, beehiiv, or other newsletter. Each new issue triggers an episode. * **Forward from your inbox:** Set up a forwarding rule (in Gmail, Outlook, or your provider) so issues from a publication you already follow route to the automation's address automatically. ### Confirming a Subscription [#confirming-a-subscription] Most newsletter platforms, including Substack, beehiiv, Ghost, and Mailchimp, send a confirmation email before they start delivering issues. Since you cannot read your automation's mailbox, Jellypod forwards that confirmation to you instead of turning it into an episode. 1. Subscribe to the newsletter with your automation's address. 2. Watch your own inbox for the forwarded confirmation, sent from Jellypod. 3. Open it and click the confirmation link. Issues start arriving after that, and each one generates an episode. Confirmation emails do not count toward your daily run limit and do not use credits. If the confirmation never arrives, check your spam folder, then subscribe again. ### Regenerating the Address [#regenerating-the-address] If the address is ever shared or starts receiving unwanted email, open the automation and click **Regenerate** next to the email address. The old address stops triggering runs immediately, so update anywhere you used it (newsletter subscriptions, forwarding rules). Inbound email automations are capped at 10 runs per day per automation. Additional emails beyond the cap are ignored until the next day. ## What Happens on Each Run [#what-happens-on-each-run] When a scheduled run fires or an inbound email arrives, Jellypod generates the episode in the background. You get an email when the draft is ready, or when it goes live if Auto-Publish is on. If a run fails, Jellypod emails you the reason and tries again on the next run. After three consecutive failures, or if your account runs out of credits, the automation is paused so it does not keep retrying. A paused automation shows an **Auto-Paused** status on the Automations page. ### Resuming an Automation Paused for Out of Credits [#resuming-an-automation-paused-for-out-of-credits] When an automation pauses because your account ran out of credits, the Automations page and the automation's detail page show an **Out of credits** banner with an **Add credits** button that takes you to billing. For a scheduled automation, once you have added credits, open the automation and click **Run Now**. This reactivates the automation (resuming its schedule) and starts a run immediately, so you do not need to separately toggle it back on. For an inbound email automation, add credits, then resume it from the Automations page; it does not reactivate automatically, so emails sent to its address while paused are dropped. ## Managing Automations [#managing-automations] Open the **Automations** page to see each automation's status, next run, and recent runs. From there you can pause, resume, edit the prompt, or change the schedule at any time. ## Plan Limits [#plan-limits] The number of automations your organization can create is set by your plan; see the [Pricing page](/pricing) for current limits. The limit applies organization-wide, across all podcasts, and counts active and paused automations. If you're at your limit, creating a new automation prompts you to upgrade. Editing or running an existing automation is never blocked by the limit. # Brand Kits (/docs/help/podcasts-and-episodes/brand-kits) ## What a Brand Kit Is [#what-a-brand-kit-is] A Brand Kit is a reusable set of colors and logos owned by your organization, not by a single Podcast. It holds a name, an optional source website, five color roles (Primary, Secondary, Accent, Background, and Text), and optional logos for light and dark backgrounds. Your organization can save multiple Brand Kits and mark one as the default. ## Creating a Brand Kit [#creating-a-brand-kit] Click **Brand Kits** in the studio sidebar's **Personalize** section, then click **Create Brand Kit**. You can start two ways: * **From a website:** Enter a website URL and click **Create from website**. Jellypod reads the site for a brand name, logos, and colors, then opens the editor pre-filled with what it found so you can review, correct, and confirm every value before saving. Nothing is saved automatically. * **Manually:** Click **Set up manually** to open the same editor with empty fields. ## Colors and Logos [#colors-and-logos] The editor has five color fields, each opened with a hex input and color wheel: * **Primary** (required): the main color people associate with your brand. * **Secondary**: a supporting color for secondary elements. * **Accent**: a high-energy color for highlights and emphasis. * **Background**: the base color behind branded content. * **Text**: the color used for readable text. You can also upload a logo for light backgrounds and a separate logo for dark backgrounds. Logos accept PNG, JPG, or WebP files up to 3 MB. ## Setting an Organization Default [#setting-an-organization-default] Every Brand Kit card on the **Brand Kits** page shows a **Set as default** button; the current default shows a **Default** badge instead. The default kit is what new Shorts start from and what a Podcast falls back to if it has no Brand Kit of its own selected. ## Using a Brand Kit [#using-a-brand-kit] ### On a Podcast [#on-a-podcast] Open a Podcast, click **Edit Podcast**, and open the **Brand** settings card. Choose your Organization default kit, any other Brand Kit in your workspace, or a **Custom Primary override** scoped to just this Podcast. This selection also sets the accent color on your Podcast website: the website editor shows that resolved **Brand accent** as a read-only swatch with a link back to this Brand card, since color is now managed in one place instead of two. Your Podcast website resolves its Brand Kit live, so editing the kit's colors updates the live website immediately. ### On a Short [#on-a-short] If your organization has at least one Brand Kit, the Shorts composer shows a **Brand** control that starts on your Organization default kit. Click **Change** to pick a different kit or **No Brand Kit** for that Short before generating. ## How Brand Kits Affect Generated Video [#how-brand-kits-affect-generated-video] Every Video Style declares its own Brand Kit compatibility, shown as a badge wherever a style's generation brand is summarized: * **Full**: uses the full Brand Kit palette. * **Accent**: uses only the Brand Kit accent color. * **None**: this Video Style does not use Brand Kit colors at all, and keeps its own built-in look. A compatible style applies your kit's colors, and where relevant your logo, to its generated visuals and captions. It still controls its own art direction, composition, and caption layout; the Brand Kit only supplies the colors it draws from. Generated video snapshots the Brand Kit at generation time. Editing a kit's colors or logos afterward does not recolor a Short or a Magic Video episode you already generated; regenerate or apply a new Video Style to pick up the change. On an episode using Magic Video, a brand summary bar above the video preview shows which Brand Kit (or Custom identity) and compatibility level were used. ## Editing or Deleting a Brand Kit [#editing-or-deleting-a-brand-kit] Click a Brand Kit's card to open its editor, or use its menu to delete it. Deleting a kit detaches it from every Podcast it was assigned to; those Podcasts keep the kit's last-resolved colors and logo as their own Custom identity, so nothing changes visually. Already-generated video is unaffected. If you delete your default kit and other kits remain, you're asked to choose a replacement default first. # Browsing the Voice Library (/docs/help/podcasts-and-episodes/browsing-the-voice-library) ## Accessing the Voice Library [#accessing-the-voice-library] The Voice Library is the first thing you see under **Hosts & Voices** in the sidebar, on the **Explore Voices** tab. It also appears in the Voice step when you [create a host manually](/docs/help/podcasts-and-episodes/creating-a-host) or edit an existing host and choose **Voice Library** as the voice type. Either way it lists all available professional AI voices in a searchable table. ## Featured Hosts [#featured-hosts] A **Featured Hosts** row sits above the Voice Library on the Explore Voices tab: up to eight ready-made hosts, each with a name, backstory, and voice already set up, that you can add to your workspace in one click. Up to two women and two men who speak your language fill the row first, then Oliver Hart and Claire Brooks (the English host pair), then any other hosts in your language fill what's left. Hosts in a language you don't speak never appear. The row still displays in preference order, so a host who shares your accent leads it. Click a card to open a preview with the host's tagline, traits, best-for guidance, and a voice sample, then click **Add to My Hosts**. A host already in your workspace shows an **Added** badge, and its button reads **Host already exists** instead. ## What Each Row Shows [#what-each-row-shows] * A play button to preview the voice, plus a text description of how it sounds * A flag and the language the voice sounds native in, with its accent in brackets where it has one (e.g. English (British)). Most voices have no distinct regional accent, so the language stands alone. * The voice's gender * A heart icon to save voices you like for quick access later ## Searching and Filtering [#searching-and-filtering] Use the search bar at the top to filter voices by description, language, or accent (e.g. "conversational," "Spanish," or "British"). The **Filters** button beside it holds the **Gender** filter and a **Favorites only** toggle. The row underneath narrows by what a voice is. A **Language** dropdown appears whenever the library holds voices in more than one language, an **Accent** dropdown appears once you have picked a language that has more than one accent to choose between, and the chips after them (Warm, Friendly, Clear, Narrative, Authoritative, and Lively) filter by tag. Every voice in the library carries at least one tag. Each language option shows its flag beside its name; each accent option does too, except for an accent shared across several countries (such as African or Latin American), which shows a globe instead. Typing in the search bar searches the entire catalog, even with a language, accent, tag, gender, or favorites filter set, so a voice you are hunting for by name or sound is never hidden by a standing filter. An **x** button appears inside the search box while it holds text; click it to clear the search and bring your filters back into effect. The table shows ten voices per page, with page controls underneath. Every voice can speak all supported languages. The language and accent on a row describe how the voice sounds by default, not which languages it can produce. A voice labelled Spanish with no accent can still generate any supported language. ## Previewing a Voice [#previewing-a-voice] Click the play button next to any voice to hear an audio sample. Only one voice plays at a time. ## Selecting a Voice [#selecting-a-voice] Click anywhere on a voice's row to select it. The selected row highlights to confirm your choice. ## Favoriting Voices [#favoriting-voices] Click the heart icon on any voice to mark it as a favorite. Favorited voices show a filled red heart and automatically sort to the top of the list. Favorites persist across sessions, so you can quickly find voices you have used or liked before. ## Automatic Sorting by Your Country [#automatic-sorting-by-your-country] The Voice Library orders voices for where you are connecting from. It infers your country from your connection and, for languages the library splits into regional accents, shows voices in your country's own accent first (American English for a listener in the United States, British English for the United Kingdom, and so on), then other voices in your language, then the rest of the catalog. If your country isn't recognized, the Voice Library falls back to sorting by your browser's language setting instead. # Creating a Host (/docs/help/podcasts-and-episodes/creating-a-host) ## Getting Started [#getting-started] 1. Click **Hosts & Voices** in the sidebar. 2. Click **Create New Host** in the top right corner. A dialog asks how you want to get started: * **Generate with AI** (about 1 minute): Describe your host and Jellypod creates them for you, then drops you on the new host's page. * **Create Manually** (about 2 minutes): Choose the name, description, personality, and voice yourself. Click either option to jump straight into it; there's no separate Continue step. Starter, Educator, and Free organizations can keep up to 10 hosts. If you're at the limit, creating another host opens an upgrade dialog instead, pointing to Creator for unlimited hosts. Deleting an existing host also frees up a slot. See [Plans and Pricing](/docs/help/account-and-billing/plans-and-pricing) for details. ## Generate with AI [#generate-with-ai] Describe your host in the text box (for example, "A warm, curious science educator who explains complex topics clearly"), then click **Generate host**. Jellypod writes the name, backstory, and personality, picks a voice, and opens the new host's page. ## Create Manually [#create-manually] Fill in the form: * **Avatar (optional):** Upload a profile image. Accepts JPEG, PNG, GIF, or WebP, up to 10 MB. * **Name:** Required, up to 100 characters. * **Title (optional):** A short descriptor like "Tech Journalist," up to 100 characters. * **Description:** Your host's backstory and personality, 10 to 3,000 characters. * **Personality (optional):** Communication style and personality traits. * **Voice:** Click a voice in the Voice Library to select it; the selected row highlights. Click **Create host** to save and open the host's page. This quick form only offers Voice Library voices. To clone your own voice for a host, attach reference materials, or fine-tune a new clone's Voice Style, create the host here first, then edit it. See [Managing Hosts](/docs/help/podcasts-and-episodes/managing-hosts) and [Voice Cloning](/docs/help/podcasts-and-episodes/voice-cloning). ## Creating a Host From the Voice Library [#creating-a-host-from-the-voice-library] On the **Explore Voices** tab, click **Use This Voice** next to any voice in the All Voices table. This opens the manual form with that voice already selected, shown on its own instead of the full Voice Library. ## Creating a Host While Picking Episode Hosts [#creating-a-host-while-picking-episode-hosts] If you open the host picker for an episode and don't have any hosts yet, it shows a **Create Host** button in place of the list. Creating a host there selects it for the episode right away; you don't have to navigate away and back. # Creating Shorts (/docs/help/podcasts-and-episodes/creating-shorts) ## Starting a New Short [#starting-a-new-short] You can start a Short from either of two places in the studio: the **Create Something New** home page or the **Shorts** page. 1. Navigate to **Create Something New** (the studio home page) or **Shorts** in the studio sidebar. 2. If you're on the home page, click the **Create a Short** pill first. On the Shorts page, the Short controls are already showing. 3. Type a prompt describing what you want the Short to be about, or attach a source (a file, link, or pasted text) using the sources button. 4. Pick a host to narrate the Short. 5. Pick a language for the narration from the language dropdown beside the host picker. It defaults to a language based on your region and browser, falling back to English; see [Choosing a Narration Language](#choosing-a-narration-language). 6. Pick a video style. On the **Shorts** page, scroll the style rail below the prompt (or use the arrow buttons beside it) and click a card; **Almanac** is the default. On the **Create Something New** home page, click the video style button instead to open the **Choose a video style** picker, pick a card, then click **Use**. Each style is described under [Choosing a Visual Style](#choosing-a-visual-style). 7. Click the **settings** icon to choose an orientation (**Portrait** by default, or **Landscape** / **Square**), pick a target duration (**\~30 seconds** or **\~60 seconds**), add a watermark or logo, and optionally turn off **Background music**. Background music is on by default. 8. If your organization has any [Brand Kits](/docs/help/podcasts-and-episodes/brand-kits), a **Brand** control appears below the prompt box, preset to your Organization default. Click **Change** to pick a different kit or turn it off for this Short. 9. Click **Generate Short**. If you leave the prompt empty but attach a source, Jellypod creates a Short from that source automatically. Either starting point creates the same kind of Short; once generation starts, Jellypod takes you to the **Shorts** page to watch its progress. Your host, video style, orientation, target duration, and watermark start pre-filled from your saved Short defaults; see **Setting Defaults for New Shorts** below to change them. The narration language isn't part of those saved defaults; it's resolved fresh each time you open the page, as described below. Generating a Short costs 5 credits per second of its final duration. For example, a 30 second Short costs about 150 credits. See [Understanding Credits](/docs/help/getting-started/understanding-credits) for details. ## What Jellypod Generates [#what-jellypod-generates] A Short is a fully produced video in your chosen orientation, built automatically from your prompt: * **Narration**, written and performed in your chosen host's voice * **Animated visuals**, in your chosen style, generated shot by shot to match the narration * **An original instrumental score**, composed for the Short and ducked under the narration (on by default; turn it off in the settings menu before generating) * **Word-synced captions**, on by default Generation runs in the background and can take a few minutes. Jellypod shows the Short's workspace as soon as the script, visuals, music, and a first render are ready. ## Choosing a Visual Style [#choosing-a-visual-style] Every Short is visualized shot by shot to match your narration, in a style you pick before you generate: Want a closer look before you pick? Hover a style card in the rail (mouse or trackpad) to play a short, muted preview right on the card, or click **View Example** to open the full example video with controls. Once you select a style, its card keeps previewing so the chosen look stays on screen while you write your idea. You can also click **Video Styles** in the studio sidebar's **Personalize** section to browse every style with its example video and a description, then click **Use this style** on the one you want to jump to the Shorts page with it already selected. * **Paper Mache**: an animated paper-craft style built to stand out in a vertical feed. It layers cut-paper shapes, printed textures, and tactile, hand-made detail into one coherent scene per shot, with a single strong focal point that reads instantly at thumbnail size. * **Pixel Art**: bright three-quarter adventure dioramas with crisp square pixels, layered tiled environments, warm daylight, and short stepped character actions supported by a whole-pixel camera track. * **Retro Comics**: freshly printed 1980s newsstand panels with heavy black ink, flat CMYK color, Ben-Day dots, dramatic foreshortening, and one bold limited-animation action. * **Whiteboard Explainer**: hand-drawn whiteboard scenes with confident dry-erase marker linework and sparse flat color accents that draw in stroke by stroke on a clean white whiteboard, then hold the finished scene. * **Watercolor**: bold hand-drawn editorial illustrations with thick ink outlines, loose watercolor fills, and warm paper texture. * **Sketch**: quiet storybook illustrations in fine dark pen and graphite that normally draw in from left to right, fill with muted colored pencil, then hold the finished scene. * **Stickman**: deadpan stickman cartoons with thick black ink outlines and flat muted color fills, simple round-headed stick figures, and calm, single-element motion over a fixed camera. * **Almanac** (the default): hand-drawn paper cutouts with crisp cut edges, white keylines, and soft drop shadows, placed on an aged parchment background, in an earthy documentary palette with a calm historical-explainer tone. * **Claymation**: handcrafted plasticine caricatures acting silently in warm mixed-material miniature sets, photographed with practical lighting, gentle depth falloff, and restrained stop-motion imperfections. * **Toy Bricks**: cinematic miniature dioramas built entirely from interlocking toy bricks and classic blocky figures, with feature-film lighting, full-scale miniature compositions, and polished stop-motion energy. * **Crayon**: deliberately clumsy child-drawn wax-crayon pictures on a pure-white canvas, revealed once in their finished full color before holding on the completed picture. * **Flat**: warm modern picture-book scenes built from bold rounded geometry, elongated or capsule-shaped figures, a strict navy-blue-coral-orange palette, and one restrained pose or prop action. * **Atomic Age**: flat mid-century gouache and screen-print scenes with clean geometric masses, long angular shadows, deep cobalt skies over warm bone modernist forms, burnt-orange accents, and one locked-camera focal action. Jellypod picks the art direction within your style, including palette, composition, and treatment, to fit your topic and tone. You never write image prompts or configure motion, so every Short stays visually consistent from the first shot to the last. The style can't be changed once generation starts; create a new Short to try a different one. ## Choosing a Narration Language [#choosing-a-narration-language] The language dropdown beside the host picker sets the language the narration is written and performed in. It defaults to a language based on your region and browser, the same signal used to pick your starter podcast's language, and falls back to English when neither points to one of Jellypod's supported languages. If your prompt explicitly asks for a different language than the one selected, that request wins and Jellypod writes the narration in the language your prompt names instead. ## Choosing an Orientation [#choosing-an-orientation] Click the **settings** icon and select **Orientation** to open a picker with three options: * **Portrait** (9:16, the default): best for TikTok, Instagram Reels, and YouTube Shorts. * **Landscape** (16:9): best for YouTube and desktop viewing. * **Square** (1:1): best for Instagram feed and other square-friendly placements. Choose an orientation before generating; it can't be changed afterward. Create a new Short to try a different orientation. Check **Use for future Shorts** in the orientation picker to also save your choice as the default for new Shorts. ## Adding a Watermark or Logo [#adding-a-watermark-or-logo] Click the **settings** icon and select **Add Watermark/Logo** to overlay a logo on the Short's preview and final video. Upload a PNG, JPG, or WebP image up to 5 MB (any aspect ratio; it's scaled to fit), then pick which corner it appears in. Check **Use for future Shorts** to also save it as your default watermark. Custom watermarks are available on the Creator plan and above. Starter users see an upgrade prompt when they try to add one. ## Setting Defaults for New Shorts [#setting-defaults-for-new-shorts] Click **Settings** beside the **Shorts** page title to choose the voice, video style, target duration, and watermark used every time you start a new Short. Saved defaults pre-fill the controls on both the Shorts page and the Create Something New home page, but you can still override any of them for an individual Short before generating. You can also save a default orientation without opening this dialog: choose an orientation from the settings icon while creating or editing a Short, check **Use for future Shorts**, and it becomes the default for new Shorts in your workspace. # Deleting Episodes (/docs/help/podcasts-and-episodes/deleting-episodes) ## Deleting an Episode [#deleting-an-episode] 1. Open the episode or find it in the episode list on the podcast page. 2. Click the **three-dot menu** and select **Delete Episode**. 3. Confirm in the dialog that appears. Deleting an episode permanently removes all its content, audio, video, sources, and timeline data. This cannot be undone. If you want to remove it from public access without losing the content, use **Unpublish Episode** instead. To move an episode to a different podcast instead of deleting it, see [Transferring Episodes Between Podcasts](/docs/help/podcasts-and-episodes/transferring-episodes). A [Slide Voiceover](/docs/help/podcasts-and-episodes/slide-voiceovers) that fails to generate shows its own **Delete** button on the error screen instead of the three-dot menu above, since it never opens the full editor. # Downloading Transcripts and Captions (/docs/help/podcasts-and-episodes/downloading-transcripts-and-captions) ## Downloading the Script [#downloading-the-script] 1. In the script editor toolbar, click the **three-dot menu** icon to open the Import/Export menu. 2. Click **Export Script**. 3. A **.txt** file downloads, named after your episode title, with speaker labels in brackets (e.g., `[Host Name]`). ## Downloading Captions (SRT) [#downloading-captions-srt] Captions are available for episodes that have generated audio with alignment data. ### From the Episode Actions Dropdown [#from-the-episode-actions-dropdown] 1. Navigate to your podcast's episode list. 2. Click the **three-dot menu** on the episode row. 3. Click **Download Captions (SRT)**. 4. An **.srt** file downloads, named after your episode title. This option is only available when the episode has a captions file (typically after publishing or generating audio with captions enabled). If the option is grayed out, the episode doesn't have captions yet. ### From the Episode Detail Page [#from-the-episode-detail-page] Published episodes also show a dedicated **captions download button** (a closed-caption icon) on the episode detail page. SRT files work with YouTube, social media platforms, and most video editors that support subtitles. They're the standard format for timed captions. # Downloading Video and Audio (/docs/help/podcasts-and-episodes/downloading-video-and-audio) ## Downloading from the Episode Editor [#downloading-from-the-episode-editor] The **Download** button is available in the episode toolbar for both draft and published episodes. 1. Open an episode in the studio. 2. Click the **Download** button in the toolbar. The dialog always opens, even if the episode isn't ready for a new render yet. 3. In the download dialog, choose your settings and click **Download Video** or **Download Audio-Only**. If the episode can't be rendered right now, such as when it doesn't have audio yet or another render is already in progress, the **Create New** tab shows a message explaining why. * If you've never successfully downloaded this episode before, the message reads "This episode isn't ready to download," the button stays disabled, and you'll need to resolve the reason shown before trying again. * If a version was already rendered and is still available, the message instead reads "Your latest edits won't be included," and the button changes to **Download Last Ready Video** or **Download Last Ready Audio**. Clicking it downloads that last completed version right away, without starting a new render or spending additional credits, since you're reusing a render you already paid for. Your **Previous Renders** tab also stays available the whole time, so you can re-download any earlier render whenever you like. ### Download Dialog Options [#download-dialog-options] The download dialog includes the following settings: * **Video Quality:** Select the output resolution. Currently supports 1080p HD. * **Download Video:** Downloads the episode as an MP4 video file with your chosen template, aspect ratio, and all visual assets. * **Download Audio-Only:** Downloads the episode audio as an MP3 file for podcast distribution. This option requires the audio download entitlement based on your subscription plan (marked with a **Pro** badge). A progress bar appears inside the dialog showing the current rendering status. You cannot close the dialog while a download is in progress. The script and timeline editors become read-only for the same window, since the render reads directly from them; editing resumes automatically once the download finishes. We recommend publishing your episode first so it's available on your RSS feed, then downloading for any additional distribution. If you edit the episode while a new render is in progress, the download still completes using the render that was already running. You'll see a "Downloaded an earlier version" notice telling you those edits aren't included. Download again to render and download your latest changes. ## Downloading from the Episodes Table [#downloading-from-the-episodes-table] For published episodes, you can also download directly from the episodes table: 1. Navigate to your podcast's episode list. 2. Click the **three-dot menu** on any episode. 3. Select **Download Video**, **Download Audio**, or **Download Captions (SRT)**. These options only appear when the corresponding asset has been generated. To download SRT captions, see [Downloading Transcripts and Captions](/docs/help/podcasts-and-episodes/downloading-transcripts-and-captions). Every download creates an export record. You can review all past renders in **Settings > Exports**. See [Viewing Exports](/docs/help/account-and-billing/viewing-exports) for details. # Duplicating Episodes (/docs/help/podcasts-and-episodes/duplicating-episodes) ## How to Duplicate an Episode [#how-to-duplicate-an-episode] 1. Navigate to your podcast and find the episode you want to duplicate. 2. Click the **three-dot menu** (more options) on the episode row. 3. Select **Duplicate Episode** from the dropdown. 4. A toast notification confirms the duplication: "Duplicating episode..." followed by "Episode duplicated." The duplicated episode appears in your episode list with **(Copy)** prepended to the original title. For example, duplicating "AI Trends in 2026" creates "(Copy) AI Trends in 2026." ## What Gets Copied [#what-gets-copied] * Episode title (with "(Copy)" prefix) * Description * Script content (cleaned of audio data) * Host assignments * Sources (the originating artifact's sources) * Cover art (a separate copy of the image file) * Video template selection ## What Does Not Get Copied [#what-does-not-get-copied] * Generated audio * Published status (the copy starts as a **Draft**) * Timeline data * Publish date or schedule Duplicating is useful when you want to create a follow-up episode with the same hosts and format, or when you want to rework a script without modifying the original. User-uploaded episodes (audio files you uploaded directly) cannot be duplicated. # Editing Episode Details (/docs/help/podcasts-and-episodes/editing-episode-details) How you edit an episode's details depends on its status. Draft episodes edit inline with auto-save. Published and scheduled episodes edit through a dialog with a Confirm button. ## Editing a Draft Episode [#editing-a-draft-episode] Open the draft from your podcast's episode list (click the episode title) to enter the episode workspace. It has two tabs at the top: **Episode Details** and **Script Editor**. Click the **Episode Details** tab to see the editable title, description, and cover art. If you can't find where to change the title, make sure you're on the **Episode Details** tab (not **Script Editor**). The title lives at the top of that tab. * **Title:** Click the inline title field at the top and type. Updates save automatically. * **Description:** A rich text editor below the title that supports bold, italics, and other formatting. Click in and edit. Updates save automatically. * **Cover art:** Click the thumbnail in the top-left corner to upload or generate new cover art. If none is set, the podcast's cover art is used as a fallback on the episode page. All draft changes save immediately as you type or upload. There is no separate save button. If **Include show notes** was on for this episode, a **Show Notes** list of source links appears at the end of the description. It's regular description text, so you can edit or delete it here like anything else. See [Show Notes](/docs/help/podcasts-and-episodes/show-notes). ## Editing a Published or Scheduled Episode [#editing-a-published-or-scheduled-episode] Once an episode is published or scheduled, the inline tabs are gone. Open the episode's details page and click **Edit Episode Details** (the button at the top, or **Edit Episode Details** from the episode dropdown). This opens a dialog with: * **Title** and **Description** (rich text) fields. * **Cover art** picker. * **Explicit content** toggle. Jellypod sets this automatically from a transcript scan when the episode publishes; use the toggle to override it if the rating is wrong. See [Your RSS Feed](/docs/help/publishing-and-distribution/your-rss-feed#explicit-content). * **Season** field, if the podcast has at least one season. See [Podcast Seasons](/docs/help/podcasts-and-episodes/podcast-seasons). * **Published On** date field (published episodes only). For scheduled episodes this field is hidden; change the publish time with **Edit Schedule** instead. Make your changes and click **Confirm** to apply them. These edits do not auto-save. To change the episode's audio or script, unpublish it first. # Editing Podcast Details (/docs/help/podcasts-and-episodes/editing-podcast-details) ## How to Open the Editor [#how-to-open-the-editor] 1. Navigate to **Podcasts** in the sidebar and select your podcast. 2. Open the actions menu in the top-right corner. 3. Click **Edit Podcast**. The editor opens with your current settings. Your changes remain staged until you click **Save Changes**. ## Main Details [#main-details] The main editor includes the settings you are most likely to change: * **Cover art:** Upload a replacement square image, or hover over the current cover and click the remove button to clear it. If you save without a cover, Jellypod generates a new one from your Podcast's title and description. * **Title:** Update the name shown in directories, your website, and RSS feeds. * **Description:** Use rich text formatting. Descriptions must be between 10 and 3,000 characters. * **Hosts:** Search for Hosts, select up to 4, and remove selections from their pills. * **Language:** Choose the Podcast's primary language. * **Categories:** Search for categories, select up to 2, and remove selections from their pills. ## Podcast Settings [#podcast-settings] Open a settings card to edit a focused group of options. Click **Done** to stage that dialog's changes in the main editor, or **Cancel** to discard them. ### Brand [#brand] Choose the identity this Podcast (and new video generated for it) inherits: your organization's default [Brand Kit](/docs/help/podcasts-and-episodes/brand-kits), any other Brand Kit in your workspace, or a Custom Primary color override just for this Podcast. This is also where the Podcast website's accent color is set; see [Brand Kits](/docs/help/podcasts-and-episodes/brand-kits). ### Podcast Sources [#podcast-sources] Attach up to 3 reusable Sources from URLs, files, YouTube links, pasted text, or your Source Library. These Sources provide context for every new Episode in the Podcast. Detaching a Source from the Podcast does not delete it from your Source Library. ### Episode Music Defaults [#episode-music-defaults] Choose default intro, background, and outro music. These defaults apply to new Episodes only. Changing them does not alter existing Episodes. Next to Intro, click **Generate** (or **Regenerate** if an Intro is already set) to have Jellypod create an original Intro for you instead of picking a file manually. See [Generating a Podcast Intro](/docs/help/podcasts-and-episodes/generating-a-podcast-intro). ### Video Settings [#video-settings] Choose a Magic Video template, orientation, and style for new Episodes, and a video background color. On the Creator plan and above, add a custom watermark: upload a PNG, JPG, or WebP image (5 MB maximum, any aspect ratio) or click **Click to use your cover art** to use your Podcast's cover image instead, then choose which corner it appears in. The watermark applies to every Episode video for this Podcast going forward, including previews and re-renders of already-published Episodes, not just new ones. The Podcast's Brand Kit and website accent color are managed separately in the **Brand** settings card. ### Distribution [#distribution] Manage podcast directory links and social links. Jellypod branding is removed automatically on the Creator plan and above. ### Advanced [#advanced] Click **Advanced** in the editor footer to update: * **Author:** The person or organization credited in podcast directories. * **Episode order:** Choose **Episodic** or **Serial**. * **Visibility:** Choose **Public**, **Unlisted**, or **Private**. * **Analytics:** Enable or disable download and play tracking. * **New episode emails:** Toggle off to stop emailing your team when an episode publishes or is scheduled for this Podcast. See [Notification Preferences](/docs/help/account-and-billing/notification-preferences). * **Additional Options:** Expand this section to unlock the RSS feed. ## Saving Changes [#saving-changes] Click **Save Changes** in the main editor to apply every staged change at once. Closing the main editor discards all unsaved changes, including changes staged in a settings dialog. # Editing Speech Blocks (/docs/help/podcasts-and-episodes/editing-speech-blocks) ## Editing Text [#editing-text] 1. Click into any speech block in the script editor. 2. A text cursor appears. Edit the text as you would in any document: select, delete, and retype. 3. Changes are auto-saved as you type. When you edit text on a block that already has generated audio, the block dims slightly (reduced opacity) to indicate the audio is now out of sync with the text. ## Changing the Host [#changing-the-host] Each speech block shows the assigned host's name as a clickable label above the text. 1. Click the **host name label** on any speech block. 2. The **Host Selection** dropdown opens, showing all hosts assigned to the episode with their avatar. 3. Select a different host to reassign the block. A checkmark indicates the currently selected host. If no host is assigned, the label displays "No host" in a red/destructive style. Changing the host on a block that already has audio will flag it for regeneration. You can regenerate just that block without redoing the entire episode. ## Not Voiced Warning [#not-voiced-warning] If the last narration run couldn't voice a line, for example the voice provider refused its wording, that speech block shows a **Not voiced** badge next to its host label. Hovering the badge explains that the block needs an edit before it can be voiced: change the wording or switch the host, then regenerate. The badge clears once the block's audio has been regenerated successfully. # Episode Statuses (/docs/help/podcasts-and-episodes/episode-statuses) ## Status Badges [#status-badges] Every episode displays a colored status badge that indicates where it is in the publishing workflow. Hover over any badge to see additional details like the creation date, publish date, or scheduled time. ### Draft (Gray) [#draft-gray] The episode is in progress and not yet published. This is the default status for all new and duplicated episodes. Draft episodes are only visible to you and your team in the studio. Hovering over the badge shows the date the episode was created. While a draft is rendering for publication, the badge briefly reads **Publishing**. This is not a separate status, just a transient display state for a draft whose audio, video, and RSS entry are being prepared. Once the render finishes, the episode becomes **Published**. ### Scheduled [#scheduled] The episode has been scheduled for future publication. It will be automatically published at the scheduled date and time. Hovering over the badge shows the scheduled publish date. To change or cancel a scheduled publication, open the episode's **three-dot menu** and select **Edit Schedule**. The dialog lets you reschedule, publish now, or click **Revert to Draft** to cancel the schedule and return the episode to **Draft** status. ### Published [#published] The episode is live and available to listeners. It appears in your RSS feed, podcast website, and any connected directories (Spotify, Apple Podcasts, YouTube). Hovering over the badge shows the date the episode was published. You can unpublish a published episode by opening the episode's **three-dot menu** and selecting **Unpublish Episode**. This reverts the episode to **Draft** status while keeping all content intact. ## Status Transitions [#status-transitions] * **Draft → Published:** Publish an episode (the badge reads **Publishing** while it renders) * **Draft → Scheduled:** Schedule a future publish date * **Scheduled → Draft:** Open Edit Schedule and click Revert to Draft * **Scheduled → Published:** Automatic at the scheduled time, or Publish Now from Edit Schedule * **Published → Draft:** Unpublish the episode # Generating a Podcast Intro (/docs/help/podcasts-and-episodes/generating-a-podcast-intro) ## What a Generated Intro Is [#what-a-generated-intro-is] A generated Intro is a short original instrumental theme, roughly 8 seconds long, with no speech in it. Jellypod composes the music from your podcast's title and description, then masters it with fades and loudness control. The result is saved as your podcast's default Intro, the same setting managed in [Episode Music Defaults](/docs/help/podcasts-and-episodes/editing-podcast-details#episode-music-defaults). ## Automatic Generation on New Podcasts [#automatic-generation-on-new-podcasts] **Create a signature Intro** is on by default in the [Advanced](/docs/help/getting-started/creating-your-first-podcast#advanced-optional) section when you create a podcast. If it stays on, Jellypod starts generating the Intro in the background right after you click **Create Podcast**, so creating the podcast is never delayed waiting on it. A few things to know about the automatic Intro: * It is best effort. If any step fails, generation simply stops and your podcast is left usable with no Intro set. There is no retry button or loading indicator for the automatic run; you can always generate one manually afterward. * If you set or change the Intro yourself before the automatic generation finishes, your change wins. The generated track is discarded quietly in the background. * Turn the toggle off before creating the podcast if you would rather add your own Intro music later, or skip having one at all. The English version of **My First Podcast**, the starter podcast every new workspace receives, skips the wait entirely. It comes with one of two pre-made Intros matched to Oliver Hart or Claire Brooks. Localized starter podcasts begin without an Intro, and you can generate one in the saved podcast language at any time. ## Generating or Regenerating an Intro Manually [#generating-or-regenerating-an-intro-manually] 1. Open [Edit Podcast](/docs/help/podcasts-and-episodes/editing-podcast-details), then open **Episode Music Defaults**. 2. Next to **Intro**, click **Generate** if no Intro is set, or the sparkle icon to **Regenerate** an existing one. 3. Optionally describe the sound you want in **Creative direction**, up to 500 characters, such as "warm analog synths, optimistic, quick and modern." This is optional. Jellypod always uses your podcast's saved title and description as well. 4. Click **Generate Preview**. This can take up to a minute. The new Intro plays as **New Preview** next to your **Current Intro**, if you had one. 5. Click **Regenerate Preview** to try again, or **Save Intro** to apply the preview as your podcast's default Intro. Closing the dialog without saving discards the preview. The music stays instrumental and the finished Intro stays brief, whether generated automatically or manually. Saving a new Intro only changes the default for future Episodes. Existing Episodes keep whichever Intro they already had, the same rule that applies to every other Episode Music Default. # Generating Episode Audio (/docs/help/podcasts-and-episodes/generating-episode-audio) ## Overview [#overview] Once the Podcast Agent finishes writing your script, it generates audio for every speech block automatically. Each line assigned to a host becomes its own audio segment, produced with that host's voice, pacing, and personality. Script writing and audio generation happen together in one step. Credits are only consumed when you publish or download the episode. ## How Audio Generation Works [#how-audio-generation-works] When the Podcast Agent creates your episode, it writes the script and generates audio in a single pass: 1. The agent finishes writing the script. 2. Audio generation begins automatically. While it runs, the script area shows **Loading script...** and a **Generating audio...** toast appears. 3. When generation completes, the script appears and a toast reads **Audio generated successfully** (a single segment) or **Audio generated for all segments.** when generating audio for the whole episode at once. Each speech block in the script now corresponds to an audio segment on the timeline. Press play to hear your episode. ## Before the Episode Opens [#before-the-episode-opens] A new episode's editor isn't enterable until this first generation succeeds. While it runs, you watch progress from the episode's row on the podcast page instead; clicking the row shows a reminder rather than opening the editor. If generation fails or stalls without producing audio, clicking the row opens a **Generation failed** dialog with a **Retry generation** button, which reruns generation from scratch. The episode opens automatically to the Script Editor once a generation succeeds. This gate only applies to the first generation of a podcast episode. [Slide Voiceovers](/docs/help/podcasts-and-episodes/slide-voiceovers) always open into their editor while generating, since their creation flow lives there. ## Regenerating After You've Opened the Episode [#regenerating-after-youve-opened-the-episode] Once you're inside the editor, script edits and Take fixes work differently from the initial generation described above. When the Episode editor agent applies a script edit, Jellypod saves the updated script before regenerating audio: * A small edit with stable speech-block identity can regenerate only the affected Takes. * Adding, removing, or reordering blocks, changing more than half of the spoken words, or finding an ambiguous Take mapping regenerates every Take. Jellypod determines the scope on the server from the saved script and timeline rather than asking the agent or browser to choose. The update keeps running if you leave Studio. A banner above the script shows the current status: a spinner while audio or visuals are updating, or a notice to retry when the last update didn't finish. While narration is updating, the banner includes a **Stop** button; clicking it cancels the run and unlocks the script right away, leaving your previous narration untouched. A toast also tracks real progress, showing counts like **(43 of 261 lines)** as segments finish, so you can tell the update is still moving. If a run ever goes dark, for example the server loses track of it, Jellypod automatically marks it failed after a short wait instead of leaving the episode locked with nothing to retry. Editing a speech block yourself doesn't raise a banner; the block's own **Regenerate Audio** button stays visible until its audio matches the new text. If any required Take fails, Jellypod leaves the previous narration untouched and shows a **Retry Audio Update** action, which asks you to confirm before it regenerates audio for every segment. If the voice provider refuses to speak a line, for example disallowed content, regenerating won't change the outcome, so Jellypod says so directly and marks that speech block **Not voiced** instead. Edit the wording or switch the host on that block, then regenerate. For Magic Video, final narration timing supersedes older visual work. Unchanged narration anchors can reuse their existing generated media; visuals anchored to changed spoken content regenerate. Publish stays visible but inactive until narration and visuals are current; clicking it shows a message explaining what's still in progress, such as narration finishing or a new video style being applied. Download shows the same message, but if a version was already rendered, it switches to **Download Last Ready Video** or **Download Last Ready Audio** so you can grab that version immediately instead of waiting. See [Downloading Video and Audio](/docs/help/podcasts-and-episodes/downloading-video-and-audio) for details. For audio regeneration without an agent edit, click **Regenerate Audio** on one speech block to regenerate exactly that Take, or use the script editor toolbar to regenerate the full Episode. ## When Credits Are Used [#when-credits-are-used] Credits are consumed at the point of final output: * **Publishing:** 60 credits per minute when publishing to your RSS feed, Spotify, Apple Podcasts, or other platforms. * **Downloading:** 60 credits per minute when downloading audio (MP3) or video (MP4) files. You can generate, listen, edit, and regenerate as many times as you want before then. Credits are deducted only when you publish or export. If you do not have enough credits to publish or download, an upgrade dialog appears. You can upgrade your plan or purchase additional credits at any time. ## Limitations [#limitations] * You cannot generate audio for a published episode. Unpublish first if you need to regenerate. * Episodes have a maximum duration limit based on your plan. If the estimated duration exceeds this limit, generation is blocked with an error message. # Hosts & Voices (/docs/help/podcasts-and-episodes/hosts-and-voices) ## Overview [#overview] Hosts are the AI personas that write and narrate your podcast episodes. Each host has a name, backstory, and a voice, and that combination shapes how your episodes sound and feel. A well-crafted host makes your podcast distinctive and consistent across every episode. Hosts are shared across your workspace. Create a host once and use them in any podcast or episode. ### Default Hosts [#default-hosts] Every new workspace comes with two pre-built hosts so you can start creating episodes immediately. Jellypod chooses a female and male host based on your region and browser language when matching featured hosts are available. Otherwise, it creates the English pair: * **Oliver Hart:** A measured British host with an authoritative, documentary-style delivery and a dry wit, good at separating the signal from the noise. * **Claire Brooks:** A sharp American host with firm editorial delivery who keeps the pace moving and makes complicated stories feel approachable. The two hosts are assigned to your first podcast by default. You can edit their backstories, swap their voices, or archive them and create your own hosts at any time. ## What's in This Section [#whats-in-this-section] This section covers creating and managing hosts, finding the right voice from the Voice Library, cloning a real voice from audio samples, and using Magic Voice Design to generate a voice from a host's backstory. It also covers importing ElevenLabs Professional Voice Clones, generating episodes in 70+ languages, and setting custom pronunciations for names and technical terms. # Importing and Exporting Scripts (/docs/help/podcasts-and-episodes/importing-and-exporting-scripts) ## Opening the Import/Export Menu [#opening-the-importexport-menu] 1. In the episode workspace actions area (top right), click the **three-dot menu** icon (tooltip: **Import / Export**). 2. A dropdown appears with three items: * **Import Script** * **Export Script** * **Delete Episode** ## Importing a Script [#importing-a-script] 1. Click **Import Script** from the dropdown. 2. The **Import Script** dialog opens with a text area and file upload option. 3. Choose one of two methods: ### Paste Text [#paste-text] Type or paste your script directly into the text area. The placeholder reads: "Paste your transcript here, or drag and drop a file..." ### Upload a File [#upload-a-file] * Drag and drop a file onto the dialog, or click **Or Browse Files** to select one. * Accepted formats: plain text (**.txt**, **.md**) and documents (**.docx**, **.doc**, **.rtf**, **.pages**, **.pdf**) * Maximum file size: **4 MB** * Document files show a "Reading your document..." indicator while Jellypod extracts the text; plain text files load instantly Speakers can be labelled with brackets on their own line, like **\[John Doe]**, or left as prose. Jellypod detects speakers automatically either way. ### Reviewing Speakers [#reviewing-speakers] As soon as you paste text or add a file, Jellypod reviews it and lists every detected label before anything is imported. Each row has a host picker listing every active Host in your account (not just this podcast's), plus a **Create a new host** option, and a status icon: * A green checkmark: the speaker has a Host assigned. * An outlined icon: the speaker still needs one. When a label's name matches an active Host in your account, that Host is already selected for it. When it doesn't match anyone, you have to choose: pick an existing Host from the list, or **Create a new host** to have Jellypod generate one automatically from the speaker's lines (its name and voice are editable afterwards). Until every row is settled, the review header reads "Choose a host for the remaining speaker(s)" and the **Import Script** button stays disabled. One Host can't voice two speakers in the same import: once you assign a Host to a row, it drops out of every other row's list until you change that assignment. A single import creates at most four new Hosts. If you choose "Create a new host" for more than four speakers, the speakers beyond the fourth are assigned to the first new Host the import created rather than getting a Host of their own. For each label you can: * **Choose a host**: assign any active Host in your account, or **Create a new host**. * **Remove**: exclude a label that isn't really a speaker, such as a performance cue picked up from a bracketed line. Confirm in the dialog that appears; the speaker's words stay in the script, spoken by whoever had the floor before it. * **Start Over**: appears once you've made changes, and resets the review, including any host choices, to the original detection. At least one speaker must stay active, and every remaining speaker must have a Host chosen, before you can import. Nothing is created in your account until you click **Import Script**. Jellypod tries to recognize performance and emotion cues like `[Laugh]`, `[Sigh]`, or `[Pause]` and folds them into the surrounding line instead of listing them as speakers. If one still shows up in the review step, **Remove** it, or use the supported [audio tags](/docs/help/podcasts-and-episodes/audio-tags) to direct delivery instead. 4. Click **Import Script**. If you removed any labels, Jellypod re-checks your corrected speakers against the script once more before importing; otherwise it imports the reviewed script directly. 5. If your script is longer than your plan allows, Jellypod imports the portion that fits and shows a truncation notice with an option to upgrade. ### Changing a Host Manually [#changing-a-host-manually] After import, you can still reassign any block to a different Host from the script editor: 1. Click the speaker name above the block. 2. Pick a host from the list. By default the **Swap All Hosts?** checkbox at the bottom of the picker is checked, so reassigning one block moves **every** block from that speaker to the host you choose. To change only the selected block, uncheck **Swap All Hosts?** before picking. Jellypod remembers your choice for next time. ## Exporting a Script [#exporting-a-script] 1. Click **Export Script** from the dropdown. 2. A **.txt** file downloads automatically, named after your episode title. 3. The exported file includes speaker labels in brackets before each speech block: ``` [Host Name] The speech block text goes here. [Other Host] Their dialogue follows here. ``` # Importing ElevenLabs Voices (/docs/help/podcasts-and-episodes/importing-elevenlabs-voices) ## Prerequisites [#prerequisites] * You must have a **Professional Voice Clone** (PVC) in your ElevenLabs account. Instant Voice Clones (IVCs) are not supported for import. * Voice Sharing must be enabled on your PVC in ElevenLabs. ## How to Import [#how-to-import] 1. Open **Settings** from the account menu at the bottom of the sidebar. 2. Find the **Import PVC from ElevenLabs** card. 3. Click **Import ElevenLabs Voice**. A dialog opens with three numbered steps: ### Step 1: Find Your PVC [#step-1-find-your-pvc] Log in to ElevenLabs and find your Professional Voice Clone under **My Voices**. Confirm it is a PVC, not an Instant Voice Clone. ### Step 2: Enable Sharing [#step-2-enable-sharing] Click the **Share** icon on your voice in ElevenLabs and turn on **Voice Sharing**. ### Step 3: Paste the Share URL and Add a Backstory [#step-3-paste-the-share-url-and-add-a-backstory] Copy the share URL from ElevenLabs and paste it into the **ElevenLabs Share URL** field. Enter a **Backstory** describing who the host is and how they speak (required). You can optionally set a custom **Name**. Click **Create Host from PVC** to complete the import. ## After Importing [#after-importing] On success, you will see a toast: "Voice imported successfully. A new host was created with this voice. Find it under Hosts." Jellypod creates the host automatically, so there are no extra steps. Open the **Hosts** page to find it, ready to use in episodes. Professional Voice Clones trained on more data offer higher fidelity than instant clones. If you have invested in a PVC on ElevenLabs, importing it means you do not have to recreate it from scratch. # Importing a NotebookLM Audio Overview (/docs/help/podcasts-and-episodes/importing-notebooklm-audio) ## Overview [#overview] If you have a finished audio overview from NotebookLM, you can import it into Jellypod and rebuild it as an editable episode in your own hosts' voices. Jellypod transcribes the audio, separates the speakers, and creates a **draft** episode with a full script you can edit before generating audio. This is different from [Uploading Your Own Episode](/docs/help/podcasts-and-episodes/uploading-your-own-episode), which publishes a recording as-is. Import from NotebookLM turns the audio back into a script you control, so you can rewrite lines, fix names, and regenerate it with your hosts. ## How to Import [#how-to-import] 1. Go to **Podcasts** in the sidebar and open the podcast you want to add an episode to. 2. In the **Create New Episode** section, select **Import from NotebookLM**. 3. Pick your **First Host** and **Second Host**. These default to the podcast's regular cast, and you can swap either one. The two hosts must be different. 4. Drag and drop your audio file into the upload area, or click **Browse Files**. 5. Click **Import Audio**. A progress bar shows the status while Jellypod transcribes and imports. 6. When it finishes, you land in the script editor with a new **draft** episode. ## What Happens on Import [#what-happens-on-import] * **Transcription and diarization:** Jellypod transcribes the audio and separates it into speakers. * **Speaker mapping:** the detected speakers are mapped onto the two hosts you chose, in the order they first appear. No new hosts are created. * **An editable draft:** the result is a draft episode with a script, not a published recording. Nothing goes live until you generate audio and publish. Once the draft is ready, edit it like any other episode: rewrite lines, reassign speech blocks, and regenerate individual segments in the [Script Editor](/docs/help/podcasts-and-episodes/script-editor), then [generate the episode audio](/docs/help/podcasts-and-episodes/generating-episode-audio) in your hosts' voices. ## Supported File Formats [#supported-file-formats] * **MP3:** recommended for most use cases * **WAV:** lossless audio, larger file size * **M4A:** Apple's audio format Imports are limited to **30 minutes** of audio. If your file is longer, trim it before importing. Most NotebookLM Audio Overviews have two speakers, which maps cleanly onto the two hosts you pick. If the audio has more than two voices, the extra speakers cycle back onto your two chosen hosts. Non-speech sounds in the source audio, like `[sighs]` or `[laughter]`, are ignored on import so they never turn into an extra speaker or stray line. To direct delivery in the rebuilt episode, add [audio tags](/docs/help/podcasts-and-episodes/audio-tags) in the script editor. ## Import from NotebookLM vs. the Other Upload Options [#import-from-notebooklm-vs-the-other-upload-options] * **Import from NotebookLM:** transcribes audio, rebuilds it as an editable script, and voices it with your hosts. Creates a draft. * **Upload Audio:** publishes your recording (audio or video) as-is with no script or editing. See [Uploading Your Own Episode](/docs/help/podcasts-and-episodes/uploading-your-own-episode). * **Upload Script:** imports a written script (not audio) and voices it with your hosts. See [Importing and Exporting Scripts](/docs/help/podcasts-and-episodes/importing-and-exporting-scripts). # Inserting Audio Into the Transcript (/docs/help/podcasts-and-episodes/inserting-audio) You can add real audio to any episode. Use it for an intro you recorded yourself, a guest's voice memo, or an interview snippet. The clip becomes an inline block you can play right inside the transcript. ## Inserting an Audio Clip [#inserting-an-audio-clip] There are two ways to add audio between transcript blocks: * **Drag a file:** Drag an audio file from your desktop and drop it between transcript blocks. * **Insert Audio dialog:** Type `/` to open the picker and choose **insert audio** from the **Actions** category. This opens the **Insert Audio** dialog, where you can record a new clip with your microphone or upload a file. Either way, the clip is added as an inline audio block. Click it to play the audio directly in the transcript, and it stays in sync with the episode timeline. # Magic Video Visuals (/docs/help/podcasts-and-episodes/magic-video-slides) ## How Magic Video Works [#how-magic-video-works] Pick any style from the **Magic Video** section of the **Video Style** picker (see [Video Templates](/docs/help/podcasts-and-episodes/video-templates)) to turn Magic Video on. Once your episode's narration audio has been generated, Jellypod's AI analyzes the script and generates a sequence of scenes timed to that narration. The first time visuals are generated for an episode, an overlay appears over the preview showing planning and generation progress (for example, "3 of 8 visuals ready"). This can take a few minutes. You can keep listening to your audio while it works. ## Duration Limits [#duration-limits] Magic Video is eligible up to a narration-length cap set by your plan: 10 minutes on Starter and Educator, 15 minutes on Creator, and 25 minutes on Business and Enterprise. The Free plan doesn't include Magic Video. Only your narration counts toward the cap; intro, outro, background music, and stale visuals don't. If your episode is longer than your plan's limit, the Video Style picker shows the AI-generated styles disabled with a warning explaining the limit. You can pick a classic template like Karaoke instead, or upgrade your plan to unlock a longer Magic Video. See [Plans and Pricing](/docs/help/account-and-billing/plans-and-pricing) for the full breakdown. ## What Magic Video Generates [#what-magic-video-generates] * **Whiteboard Explainer** scenes are hand-drawn whiteboard drawings, like a teacher sketching while talking: confident dry-erase marker strokes with sparse flat color accents draw in stroke by stroke on a clean white whiteboard, largest idea first, then hold the finished scene. * **Watercolor** scenes are bold, hand-drawn editorial illustrations with thick ink outlines, loose watercolor fills, and warm paper texture. * **Paper Mache** scenes are tactile editorial collages: layered cut-paper shapes, archival photographs, and screen-printed textures with torn edges. * **Pixel Art** scenes are bright three-quarter adventure dioramas with crisp square pixels, layered tiled environments, warm daylight, and short stepped character actions supported by a whole-pixel camera track. * **Retro Comics** scenes are freshly printed 1980s newsstand panels with heavy black ink, flat CMYK color, Ben-Day dots, dramatic viewpoints, and one bold limited-animation action. * **Sketch** scenes are quiet storybook illustrations: fine dark pen lines and graphite hatching normally draw in from left to right before sparse muted colored-pencil fills appear. * **Stickman** scenes are deadpan stickman cartoons: simple round-headed stick figures with thick black ink outlines and flat muted color fills, with calm, single-element motion. * **Almanac** scenes are hand-drawn paper cutouts with crisp cut edges, white keylines, and soft drop shadows, placed on an aged parchment background, in an earthy documentary palette. * **Claymation** scenes are photographed plasticine caricatures acting silently inside mixed-material miniature sets, with practical lighting, gentle depth falloff, and tactile handmade detail. * **Toy Bricks** scenes are cinematic miniature dioramas built entirely from interlocking toy bricks and classic blocky figures, with feature-film lighting and polished stop-motion energy. * **Crayon** scenes are deliberately clumsy child-drawn wax-crayon pictures on a pure-white canvas, revealed once in their finished full color before the completed picture holds. * **Flat** scenes are warm modern picture-book illustrations built from bold rounded geometry, elongated or capsule-shaped figures, and a strict navy-blue-coral-orange palette with one restrained action. * **Atomic Age** scenes are flat mid-century gouache and screen-print illustrations with clean geometric masses, long angular shadows, deep cobalt skies over warm bone modernist forms, and burnt-orange accents on one locked-camera focal action. Each scene covers one section of your narration. Depending on the style, a scene may hold a slow camera zoom or keep the frame locked. Some scenes are instead rendered as a short animated video clip, so the illustration itself moves while preserving the style's camera treatment. If your episode has recurring people, such as a host speaking in the first person, Magic Video can depict them as the same illustrated character each time they appear. ## Managing Visuals [#managing-visuals] ### Edit Current Image [#edit-current-image] Click **Edit Current Image** to open a dialog where you can update the prompt for the still image at the current playback position and regenerate it. Changes are applied live in the preview. This control is only enabled for still-image scenes; animated video-clip scenes cannot be edited this way. ### Refresh Stale Visuals [#refresh-stale-visuals] If you edit your script or regenerate audio after visuals already exist, any scene whose narration changed becomes stale. Jellypod automatically refreshes newly-stale scenes once. To retry, click **Refresh Stale Visuals**, which only appears while stale scenes remain and only regenerates the affected scenes, leaving the rest of your visuals untouched. The Edit Current Image and Refresh Stale Visuals controls only appear when your active style is a Magic Video style and your episode has generated audio. Editing a single image is free. Switching to a different Style after visuals already exist replaces every generated visual and asks you to confirm first; see [Video Templates](/docs/help/podcasts-and-episodes/video-templates). Magic Video builds visuals from your episode's script. If you already have a deck, [Slide Voiceovers](/docs/help/podcasts-and-episodes/slide-voiceovers) do the reverse, turning a PowerPoint, Keynote, or PDF presentation into a narrated video. # Magic Voice Design (/docs/help/podcasts-and-episodes/magic-voice-design) ## What Is Magic Voice Design? [#what-is-magic-voice-design] Magic Voice Design creates a unique AI voice based on your host's name and backstory. Instead of browsing the Voice Library to find a match, the AI reads your host's character description and generates voice options tailored to them. ## How to Use It [#how-to-use-it] 1. Create a new host and complete the **Name** and **Backstory** steps. 2. On the **Voice Type** step, select **Voice Library**. 3. In the **Voice Library** step, click the **Magic Voice Design** button (sparkle icon) at the top right of the voice table, then click **Generate Voice**. 4. The dialog returns an AI-generated **Voice Description** and several **Voice Previews**, each with a play button. Listen, pick your favorite, and click **Use This Voice**. Your new custom voice appears selected in the voice table, and a toast confirms "Voice design created!" ## Best Results [#best-results] Magic Voice Design works best when your host has a detailed backstory. The more specific you are about personality traits, background, communication style, and expertise, the better the AI can match a voice to the character. If none of the initial previews feel right, click Regenerate Previews to generate a new set of voice options from the same backstory. Write your backstory first, then use the **Enhance Backstory** button on the backstory step to add more depth before using Magic Voice Design. The richer the backstory, the more accurate the voice match. # Managing Episodes (/docs/help/podcasts-and-episodes/managing-episodes) ## Overview [#overview] Episodes are the core unit of content in Jellypod. Each episode belongs to a podcast and moves through a lifecycle from draft to published. You can create episodes with the Podcast Agent, upload your own audio, or duplicate an existing one as a starting point. Every episode has its own workspace for writing and editing the script, generating audio, building video, and publishing. From the podcast dashboard you can see all your episodes, track their status, and take action on any of them. ## Finding and Sorting Episodes [#finding-and-sorting-episodes] The episodes table on your podcast dashboard lists every episode with its status, plays, duration, and date. * **Search:** Use the search box above the table to filter episodes by title or description. * **Sort:** Click the **Episodes**, **Status**, or **Date** column header to sort by that column. Click again to reverse the sort direction, and a third click returns to the default order. Plays and Duration cannot be sorted. By default, episodes are ordered by date: oldest first for serial shows, most recent first for episodic shows. A generating episode's row shows live progress and isn't clickable into its editor yet; a failed one opens a retry dialog when clicked. See [Generating Episode Audio](/docs/help/podcasts-and-episodes/generating-episode-audio) for details. ## What's in This Section [#whats-in-this-section] This section covers editing podcast and episode details, grouping episodes into seasons, show notes, episode statuses, duplicating episodes, uploading a pre-recorded audio file, and deleting or transferring episodes between podcasts. # Managing Hosts (/docs/help/podcasts-and-episodes/managing-hosts) ## The Hosts Page [#the-hosts-page] Click **Hosts & Voices** in the sidebar, then the **My Hosts** tab, to see all your hosts in a table. Each row shows: * Host avatar and name * A **Voice Clone** or **Guest Clone** badge for cloned voices, or the voice description for Voice Library hosts (deprecated voices show an **Update Required** badge) * Backstory preview * Voice play button * Creation date * An actions menu (three-dot icon) Click any host row to open their detail page. ## Viewing Host Details [#viewing-host-details] The host detail page, headed **Host Details**, displays: * Large avatar, name, title, and backstory * **Voice** card with a play button to preview their voice * **Active Podcasts** card listing the podcasts that use this host (when any) * **Personality Profile** card (if personality has been set) ## Editing a Host [#editing-a-host] 1. Navigate to the host detail page. 2. Click the actions dropdown (three-dot icon) in the top right. 3. Select **Edit Host**. This opens the full host editor pre-filled with the host's current details, guiding you through name, backstory, voice type, voice, photo, reference materials, and settings (title and personality), each as its own step you can navigate forward and backward between. The backstory step uses a rich text editor (bold, italic, lists) and takes 10 to 3,000 characters. Click **Enhance Backstory** (sparkle icon) in the toolbar to have AI expand what you've written; write at least a few sentences first so it has material to work with. This is the only place to change a host's voice type: * **Voice Clone:** Clone your own voice, or a guest's, from a short audio sample. Recording a brand-new clone adds a Voice Style step where you preview and choose between **More Consistent** and **More Expressive** delivery. * **Voice Library:** Browse and select from the professional AI voice library. See [Browsing the Voice Library](/docs/help/podcasts-and-episodes/browsing-the-voice-library). The Reference Materials step lets you attach up to 10 sources (blog posts, essays, podcasts, or video transcripts) that capture how the host writes or speaks, so Jellypod can match their tone. You can also access **Edit Host** from the actions dropdown on the Hosts table. Quickly creating a host only offers name, description, personality, an optional photo, and a Voice Library voice. Edit the host afterward to clone a voice or attach reference materials. See [Creating a Host](/docs/help/podcasts-and-episodes/creating-a-host). ## Deleting a Host [#deleting-a-host] 1. Open the actions dropdown on the host detail page or the Hosts table. 2. Select **Delete Host** (shown in red as a destructive action). 3. Confirm the deletion in the dialog. Deleting a host is permanent and cannot be undone. # Managing Shorts (/docs/help/podcasts-and-episodes/managing-shorts) ## The Shorts Library [#the-shorts-library] Navigate to **Shorts** in the studio sidebar to see your Shorts Library, displayed in a responsive grid sorted by most recently created. Each card shows how long ago the Short was created, followed by its video style's name if it has one. Use the search box to find a Short by title, and the style filter beside it to narrow the grid to one video style; the style menu only lists styles your library actually contains. A count below the search box shows how many Shorts are in view, whether or not a filter is active. The library shows 24 Shorts at a time; click **Show more** at the bottom to reveal the next batch. Click the **three-dot menu** on any Short card to: * **Edit Short:** opens the Short's workspace * **Download Video:** downloads the latest finished render (only available once a render has completed) * **Copy Share Link:** copies the Short's public share link (only available once a render has completed) * **Delete Short:** permanently deletes the Short. This action cannot be undone. Once a Short has a finished render, click anywhere on its card to open a preview player. From the preview, click **Share** in the top corner to copy the share link, or use the **three-dot menu** beside it to download the video or delete the Short, or click outside the player to close it. While a Short's video is still processing, its card shows **Preparing video...** and the preview isn't available yet. This usually clears in under a minute. ## The Short Workspace [#the-short-workspace] Opening a Short shows its editable workspace, organized around a rail of visuals above one continuous narration field: * **Visuals:** a horizontal rail shows every shot in order. Click a visual to open its editor, where you can regenerate that shot with AI or drag and drop your own image or video onto it. * **Narration:** one text field holds the Short's full voiceover. Editing it saves your draft, but doesn't regenerate the audio while you type. * **Change the host:** swap the voice narrating the Short. This regenerates the complete narration and retimes every visual to match the new audio, at no credit cost. * **Replace or remove the music:** the original instrumental score can be swapped or removed, but not customized further * **Add or change a watermark/logo:** click **Add Watermark/Logo** beside the host button to overlay a logo (PNG, JPG, or WebP, up to 5 MB, any aspect ratio) in a corner of the preview and final video. Available on the Creator plan and above; see [Creating Shorts](/docs/help/podcasts-and-episodes/creating-shorts). * **Fix pronunciations** through your organization's [Pronunciation Guide](/docs/help/podcasts-and-episodes/pronunciation-guide) Editing the narration text doesn't update the voiceover automatically. Click **Regenerate Audio** above the narration field to produce new audio from your edits and retime every visual. You can't render, download, or re-share a Short while its narration is out of date; Jellypod shows **Regenerate Audio before rendering** until you do. Regenerating narration audio, including when you change the host, is free. Regenerating a shot's visual costs 10 credits per second of that shot, minimum 1 credit; opening the visual's editor shows the exact cost on the **Regenerate** button before you commit to it. You can optionally describe what should change in the new visual, or leave it blank for a fresh interpretation. See [Understanding Credits](/docs/help/getting-started/understanding-credits) for details. You can't render or download a Short while one of its visuals is regenerating. Jellypod shows **Wait for visual regeneration** until it finishes. To see how your edits land on the timeline, click **Expand Timeline** at the bottom of the workspace. The timeline preview stays collapsed by default so you can focus on the visuals and narration, and Jellypod reflows the timing automatically as you make changes. There's no full regeneration option for a completed Short. If you want a wholly different result, create a new Short instead of trying to rework an existing one from scratch. ## Sharing and Downloading [#sharing-and-downloading] From the Short's page, use: * **Share:** creates a public link to the Short. Re-rendering pushes your latest edits to that same shared link. * **Download:** downloads a previous render, or renders your latest edits and downloads the result. A progress bar shows the render's status, and you can close the dialog without interrupting it; the file downloads automatically once the render finishes. You can also copy a Short's share link without opening it, using **Copy Share Link** in the Shorts Library's three-dot menu, or click **Share** in the preview player. Rendering or re-rendering a Short costs 5 credits per second of its duration. See [Understanding Credits](/docs/help/getting-started/understanding-credits) for details. The public share page plays your Short framed at the orientation it was rendered in: Portrait Shorts fill the screen, while Landscape and Square Shorts are centered and letterboxed on a black background instead of being stretched into a vertical frame. An always-visible "Made with Jellypod" mark links visitors to jellypod.com. Viewers can tap to pause or resume, toggle sound, and drag or tap the bottom scrubber to jump to any point in the Short; when the Short finishes playing, an end screen invites them to try Jellypod or replay it. On desktop, a Jellypod logo in the corner also links back to jellypod.com. # Playback Controls (/docs/help/podcasts-and-episodes/playback-controls) ## Overview [#overview] The playback controls bar sits between the script editor and the timeline. It contains everything you need to play, pause, navigate, and adjust audio playback. ## Control Layout [#control-layout] The controls are arranged in three sections: * **Left:** **Expand Timeline** / **Collapse Timeline** button * **Center:** Go to Start, Play/Pause, Go to End, and the duration display * **Right:** Mute button ## Play / Pause [#play--pause] Click the **Play** button (center of the controls bar) to start playback. The icon switches to a **Pause** button while audio is playing. You can also press **Space** to toggle play/pause. ## Go to Start / Go to End [#go-to-start--go-to-end] * **Go to Start:** Jumps the playhead to the beginning of the episode (0:00). * **Go to End:** Jumps the playhead to the end of the episode. These buttons sit on either side of the Play/Pause button. ## Mute [#mute] The **Mute** button is on the right side of the controls bar. Click it to silence audio output without stopping playback. Click again to unmute. ## Duration Display [#duration-display] The duration display sits to the right of the main playback buttons and shows two values in a monospace font: * **Current time:** Where the playhead is right now * **Total duration:** The full length of the episode Displayed as `current / total` (e.g., `1:23 / 12:45`), it updates in real time as the playhead moves. ## Disabled State [#disabled-state] All playback controls are disabled when the episode has no generated audio (duration is zero). Generate audio first to enable playback. ## Playback During Rendering or Generation [#playback-during-rendering-or-generation] Playback stays active while an episode renders or its audio and visuals are being generated. Even when the script editor or timeline is locked, you can still play, pause, and scrub to preview the episode. # Podcast Seasons (/docs/help/podcasts-and-episodes/podcast-seasons) Seasons let you group a podcast's episodes, the same way shows on Spotify or Apple Podcasts split content into Season 1, Season 2, and so on. Adding seasons is optional: episodes without a season keep working exactly as before. ## Creating a Season [#creating-a-season] 1. Open your podcast's episode list in the Studio. 2. Click **Seasons** in the header, next to the search bar. 3. Click **Add Season**. Each new season is numbered automatically (Season 1, Season 2, and so on) in order; you can't set or reorder the number yourself. You can optionally give a season a title, for example "The Reckoning", by typing into its title field in the dialog. The title is optional and saves when you click away from the field. ## Assigning Episodes to a Season [#assigning-episodes-to-a-season] Season assignment is available once a podcast has at least one season. Open a **published or scheduled** episode, click **Edit Episode Details**, and choose a season from the **Season** field. Choose **No season** to remove an episode from its season. Draft episodes don't have a season field yet. Assign a season after publishing or scheduling the episode. ## Deleting a Season [#deleting-a-season] Open **Seasons** from the episode list header and click the delete icon on the season you want to remove. Deleting a season never deletes its episodes: they stay published and simply become seasonless, and you can reassign them to another season at any time. ## How Seasons Appear [#how-seasons-appear] * **RSS feed:** episodes assigned to a season carry `itunes:season` and `podcast:episode` tags, with the episode number restarting at 1 within each season. Seasonless episodes are unaffected and keep whole-show numbering. * **Your podcast website:** the episode list is grouped into sections by season, in season order. Each section's heading shows your season title if you set one, otherwise "Season N". Episodes without a season appear in an unlabeled group. # Pronunciation Guide (/docs/help/podcasts-and-episodes/pronunciation-guide) ## What Is the Pronunciation Guide? [#what-is-the-pronunciation-guide] The Pronunciation Guide lets you define phonetic spellings for words or phrases that your AI hosts mispronounce. When Jellypod generates audio, it automatically replaces matched words with your specified phonetic spelling before sending the text to the voice engine. ## Accessing the Pronunciation Guide [#accessing-the-pronunciation-guide] Click **Pronunciations** in the sidebar to open the full pronunciation management page. The Pronunciation Guide is also available inline from the episode script editor as a dialog. ## The Pronunciation Table [#the-pronunciation-table] The table displays all your custom pronunciations with four columns: * **Word or Phrase:** The original word or phrase to match (sortable) * **Phonetic Spelling:** How the word should be pronounced (sortable) * **Last Updated:** When the entry was last modified (sortable) * **Actions:** Preview, edit, and delete buttons ## Adding a Pronunciation [#adding-a-pronunciation] 1. Click **Add Pronunciation** in the top right corner. 2. In the dialog, enter: * **Word or Phrase:** The word to match (e.g., "Quinoa") * **Phonetic Pronunciation:** The phonetic spelling (e.g., "keen-wah") 3. Click **Add Pronunciation** to save. ## Previewing a Pronunciation [#previewing-a-pronunciation] To hear how a pronunciation sounds with a specific host's voice: 1. Click the speaker icon in the **Actions** column for the entry you want to preview. 2. A popover appears with a searchable list of your hosts. 3. Select a host to hear the phonetic spelling spoken in that host's voice. Only hosts with active, non-deprecated ElevenLabs voices appear in the preview list. Audio previews are cached locally for faster playback on repeated listens. ## Editing and Deleting [#editing-and-deleting] Use the edit button in the **Actions** column to update an entry's word or phonetic spelling. Use the delete button to remove an entry, confirming in the dialog that appears. Use simple, intuitive phonetic spellings. Write how the word sounds when spoken naturally, breaking it into syllables with hyphens if needed (e.g., "acai" becomes "ah-sah-ee"). # Regenerating Individual Segments (/docs/help/podcasts-and-episodes/regenerating-individual-segments) ## How to Regenerate a Segment [#how-to-regenerate-a-segment] 1. Hover over a speech block in the script editor. The **Regenerate Audio** button appears on the right side. 2. Click **Regenerate Audio**. 3. A toast notification shows **Regenerating audio...** while processing, switching to a running count like **(1 of 1 lines)** once the segment settles. 4. When complete, the toast updates to **Audio generated successfully** and the segment is replaced on the timeline. The rest of your episode audio is untouched. To regenerate every speech block instead, click **Regenerate Audio** in the script editor toolbar. That full update replaces all generated segment audio while keeping intro, outro, and background music. ## Out-of-Sync Detection [#out-of-sync-detection] When you edit the text or change the host on a block that already has audio, Jellypod flags it automatically: * The block text dims to 60% opacity. * The **Regenerate Audio** button switches to a warning style and stays visible without hovering. This tells you exactly which blocks need regeneration before you publish or download. Only one audio regeneration can run at a time, whether it's a single segment or the whole episode. If you start another while one is already in progress, Jellypod shows a message asking you to wait for it to finish. While a segment's audio regenerates, that block locks: its text dims and can't be edited, and its host can't be changed, until the run finishes. Editing script text elsewhere in the episode is still fine and won't cancel a regeneration already in flight. ## Requirements and Credits [#requirements-and-credits] The **Regenerate Audio** button only appears when the episode already has generated audio and a host is assigned to the block. Credits are only consumed when you publish or download the final episode. # Script Editor (/docs/help/podcasts-and-episodes/script-editor) ## Overview [#overview] The Script Editor is where you refine your episode before generating audio. Every line of dialogue is a speech block. You can edit the text, change which host is speaking, and regenerate individual blocks without touching the rest of the script. ## What's in This Section [#whats-in-this-section] This section covers how the Script Editor works, how to edit and reassign speech blocks, and how to regenerate individual sections. It also covers adding intro, outro, and background music from the toolbar, importing and exporting scripts as text files, and downloading transcripts and SRT captions. You can also start from existing audio: [import a NotebookLM audio overview](/docs/help/podcasts-and-episodes/importing-notebooklm-audio) and Jellypod rebuilds it as an editable script you can refine here before generating audio in your own hosts' voices. # Show Notes (/docs/help/podcasts-and-episodes/show-notes) ## Overview [#overview] When Show Notes is on, Jellypod appends a **Show Notes** list to the end of an episode's description, linking out to the pages that materially informed the episode. This works the same way whether the episode was created manually or by an automation. ## Turning Show Notes On or Off [#turning-show-notes-on-or-off] Look for **Include show notes** in the settings dropdown next to Auto-Publish: * **Manual episodes:** In the **Create New Episode** box (from the studio dashboard or a podcast's episode list), open the settings dropdown next to Auto-Publish. * **Automations:** In the automation's advanced settings, alongside Web Search and Auto-Publish, for both Schedule and Inbound Email triggers. Include show notes is **on by default** for new episodes and new automations. Turn it off if you'd rather keep the description free of links. ## What Gets Included [#what-gets-included] Jellypod only links sources that materially informed the episode, not every source you attached or every page it researched. A source only appears in Show Notes if: * It genuinely shaped the episode's outline, and * The specific claim it supports made it into the final script. Sources that were consulted but not actually used, or that got cut during script revisions, are left out. If no source meets that bar, no Show Notes list is added, even with the setting on. Each entry shows the page's title linking to its URL, listed under a **Show Notes** heading at the end of the description. ## Editing or Removing Show Notes [#editing-or-removing-show-notes] Show Notes are part of the episode description, so you edit or delete them the same way you edit any other description text. See [Editing Episode Details](/docs/help/podcasts-and-episodes/editing-episode-details). # Slide Voiceovers (/docs/help/podcasts-and-episodes/slide-voiceovers) Slide Voiceovers turn a slide deck into a narrated video. Upload a PowerPoint, Keynote, or PDF presentation, pick a narrator, and Jellypod writes a script, adds an AI voiceover in that voice, and assembles a video where each slide is timed to the words spoken over it. ## How to Create a Slide Voiceover [#how-to-create-a-slide-voiceover] 1. Go to **Slide Voiceovers** in the sidebar, then click **New Voiceover**. You can also start one from the **Create a Slide Voiceover** option on the new content page. 2. Pick a **narrator** from your hosts. This is the voice that reads the narration. 3. Drag and drop your slide deck into the upload area, or click **Browse Files**. 4. Click **Generate Video**. 5. Wait for generation to finish. A progress bar walks through preparing slides, analyzing them, writing the narration script, generating the narration audio, and assembling the timeline. When it's done, you land on the video's artifact page. Generation continues in the background if you close the dialog, and the finished video shows up under **Slide Voiceovers**. If generation fails, the artifact page shows what went wrong along with **Try again** and **Delete** buttons. Delete lives here because a failed Slide Voiceover never opens the full editor, where deletion normally happens. ## Supported Slide Formats [#supported-slide-formats] * **PDF** * **PowerPoint:** `.ppt`, `.pptx`, `.pptm` * **Keynote:** `.key` * **OpenDocument Presentation:** `.odp` Maximum file size: **50 MB**. ## How the Narration Works [#how-the-narration-works] Jellypod analyzes every slide together, so the script reads as one continuous narration that flows naturally across slide boundaries rather than a set of disconnected per-slide blurbs. The narration is generated in a single pass, and slide transitions are timed to the narration so each slide is on screen while it's being talked about. ## Editing After Generation [#editing-after-generation] A Slide Voiceover opens as a regular episode artifact, so you get the full [script editor](/docs/help/podcasts-and-episodes/using-the-script-editor) and [timeline editor](/docs/help/podcasts-and-episodes/using-the-timeline-editor). You can edit the narration script, regenerate audio, adjust slide timing, and download the finished video the same way you would for any other episode. Slide Voiceovers starts from a deck you already have. To generate visuals automatically from an episode's script instead, see [Magic Video Visuals](/docs/help/podcasts-and-episodes/magic-video-slides). # Transferring Episodes Between Podcasts (/docs/help/podcasts-and-episodes/transferring-episodes) You can move an episode from one podcast to another. This is useful when you drafted an episode under the wrong show, for example under the default "My First Podcast", or when you are reorganizing content across multiple podcasts. ## How to Transfer an Episode [#how-to-transfer-an-episode] 1. Open the episode, or find it on its current podcast's page. 2. Click the episode actions menu (the three-dot icon). 3. Select **Transfer Episode**. 4. In the dialog, choose the destination **Podcast**. 5. Confirm the transfer. The episode moves instantly with all of its content, sources, and settings intact. It uses the destination podcast's hosts for any future regeneration. # Uploading Your Own Episode (/docs/help/podcasts-and-episodes/uploading-your-own-episode) ## Overview [#overview] If you've recorded an episode outside of Jellypod (in a recording studio, on Riverside, or with any other tool) you can upload the audio or video file directly and publish it to your podcast. This lets you use Jellypod's hosting, distribution, and podcast website without using the AI content generation features. ## How to Upload an Episode [#how-to-upload-an-episode] 1. Go to **Podcasts** in the sidebar and open the podcast you want to add an episode to. 2. Click the **more options (...)** button next to **Edit Website**, then select **Upload Audio**. 3. Drag and drop your audio or video file into the upload area, or click to browse your files. 4. Wait for the upload to complete. A progress bar shows the status. 5. Enter a **title** and **description** for your episode. 6. Click **Publish** to make it live. Your episode is published immediately after uploading. ## Supported File Formats [#supported-file-formats] * **MP3:** Recommended for most use cases * **WAV:** Lossless audio, larger file size * **M4A:** Apple's audio format * **MP4:** Video, most common format * **MOV:** Apple's video format Maximum file size: **250 MB**. ## What Happens After Upload [#what-happens-after-upload] Uploaded episodes are published right away with your file hosted on Jellypod's servers. They appear on your podcast website, in your RSS feed, and on any connected platforms (Spotify, Apple Podcasts, YouTube) just like AI-generated episodes. Jellypod processes the uploaded file in the background to determine its playback duration. The episode publishes immediately, but the duration shown may take a few minutes to appear while processing finishes. Uploaded episodes are flagged as **user-uploaded**, so they won't have an AI-generated script or timeline editor. You can still edit the title, description, and cover art after publishing. ## Upload vs. AI-Generated Episodes [#upload-vs-ai-generated-episodes] * **Source:** Uploaded: Your own recording (audio or video). AI-Generated: Generated by Jellypod. * **Script editor:** Uploaded: Not available. AI-Generated: Full editing and regeneration. * **Timeline editor:** Uploaded: Not available. AI-Generated: Full timeline control. * **Distribution:** Same for both (RSS, Spotify, Apple, YouTube). * **Podcast website:** Same for both. ## Uploading a Script Instead [#uploading-a-script-instead] If you have a written script and want Jellypod to generate the audio for it, use **Upload Script** in the **Create New Episode** section. This imports your script text and lets you generate AI audio from it using your podcast's hosts. If you want to rebuild a finished audio file (like a NotebookLM audio overview) as an editable episode in your own hosts' voices instead of publishing it as-is, use **Import from NotebookLM**. See [Importing a NotebookLM Audio Overview](/docs/help/podcasts-and-episodes/importing-notebooklm-audio). # Using Accents and Languages (/docs/help/podcasts-and-episodes/using-accents-and-languages) ## Supported Languages [#supported-languages] Jellypod supports 74 languages, including English, Spanish, French, Hindi, Portuguese, Chinese, German, Japanese, Arabic, Russian, Korean, Indonesian, and more added on a regular basis. ## How Accents Work [#how-accents-work] Every voice in the Voice Library can speak all supported languages. The **Accent** shown in the Voice Library determines how the voice sounds, not which languages it can produce. For example, a voice with a Spanish accent will speak English with a Spanish accent, and will sound fully native when generating Spanish content. ## Selecting a Language [#selecting-a-language] When creating a host, the language is determined by the voice you select: 1. On the **Voice Type** step, choose **Voice Library**. 2. In the Voice Library, use the **Language** dropdown to narrow the list to a language, or the **Accent** dropdown to narrow to a regional accent (the Language dropdown only appears when the library has voices in more than one language; the Accent dropdown only appears when the selected language has more than one regional accent to choose between). You can also type a language or accent name into the page's search bar. 3. Select a voice with the language or accent you want. The Voice Library automatically sorts voices for your country: voices in your country's accent come first (American English for the United States, British English for the United Kingdom, and so on), then other voices in your language, then the rest of the catalog. If your country isn't recognized, it falls back to sorting by your browser's language setting instead. ## Voice Quality Across Languages [#voice-quality-across-languages] Jellypod's Horizon audio model powers every voice in the library and handles emotion, pacing, and emphasis across languages. For Voice Library voices, the model is selected automatically based on the voice you choose, so there is nothing to configure. If you record a new voice clone, the **Voice style** step lets you choose between **More Consistent** (most stable delivery) and **More Expressive** (more dynamic and emotive). For multilingual content, either style works; pick the one that sounds closest to what you want. If you need a specific accent for your host, pick a voice whose primary language matches the accent you want, even if your episodes will be in a different language. A French-primary voice speaking English will have a natural French accent. # Using the Script Editor (/docs/help/podcasts-and-episodes/using-the-script-editor) ## Overview [#overview] When an episode has a generated script, the **Episode Script** panel displays it in a structured, editable format. The script is organized into **chapters**, each containing **speech blocks** assigned to individual hosts. ## Script Structure [#script-structure] ### Chapters [#chapters] Each chapter displays a numbered label (e.g., "Chapter 1", "Chapter 2") and an editable title underneath. Chapters group related speech blocks together, giving your episode clear sections. ### Speech Blocks [#speech-blocks] Speech blocks are the individual lines of dialogue within each chapter. Each block shows: * A **host name label** above the text (clickable to change which host is speaking) * The block's text content, which you can click into and edit directly * A **Regenerate Audio** button that appears on hover (if audio has been generated) For the full mechanics of editing block text and reassigning hosts, see [Editing Speech Blocks](/docs/help/podcasts-and-episodes/editing-speech-blocks). ## The Toolbar [#the-toolbar] The toolbar sits at the top of the script editor. It contains: * **Regenerate Audio** button (left side): regenerate audio for every speech block * **Add Music** dropdown (left side): add intro, outro, or background music to your episode * **Pronunciation Guide** button (right side): open the pronunciation guide to fix mispronounced words * **Import/Export** menu (right side, three-dot icon): import a script, export the current one as a `.txt` file, or delete the episode ## Editing Text [#editing-text] Click into any speech block to start editing. Editing feels like working in a standard document, and changes are auto-saved as you type. Chapter titles are also editable: click the title text at the top of any chapter and type a new name. The script auto-saves after each edit with a short debounce delay. If you navigate away mid-edit, pending changes are flushed automatically. ## Editing While an Episode Renders [#editing-while-an-episode-renders] Downloading, publishing, and re-rendering a share link each trigger a render, and a render reads the script straight from the database. While one is in progress, the script editor becomes read-only and a "Script locked while rendering" overlay appears over the editor, with a **Stop render** button. Editing resumes automatically once the render finishes, or immediately if you stop it. Click **Stop render** to cancel the in-flight render. This unlocks the script editor right away. The episode's audio and video from before the render are unaffected; only the render that was in progress is discarded. Generating audio does not lock the script editor: you can keep editing while narration audio is being produced in the background. A banner above the script shows progress and includes its own **Stop** button if you want to cancel the audio update early. The script editor only locks again once Magic Video visuals are being generated, unlocking automatically when they finish. # Using the Timeline Editor (/docs/help/podcasts-and-episodes/using-the-timeline-editor) ## Opening the Timeline [#opening-the-timeline] 1. Look for the playback controls bar below the script editor. 2. Click the **Expand Timeline** button on the left side of the controls bar. 3. The timeline panel slides open below the playback controls. To close it, click the same button, which now reads **Collapse Timeline**. The **Expand Timeline** button is disabled until your episode has generated audio. ## Timeline Layout [#timeline-layout] The timeline has several key areas: * **Track headers** (left side): Display track names. The main track is labeled **Podcast Audio**. Additional tracks (for music) are labeled **Track 2**, **Track 3**, etc. * **Time ruler** (top): Shows time ticks across the duration of your episode. Click anywhere on the ruler to move the playhead to that position. * **Audio segments:** Colored blocks on the timeline with waveforms rendered inside, so you can see the shape of each audio segment at a glance. * **Playhead:** A vertical marker showing the current playback position. ## Dragging and Reordering Segments [#dragging-and-reordering-segments] Drag any audio segment to reposition it on the timeline. Segments snap to the edges of other segments and to the playhead by default. ## Snapping [#snapping] Snapping is always on and helps segments align cleanly. Snap indicators appear as guide lines when a segment aligns with another segment's edge or the playhead. ## Trimming Segments [#trimming-segments] 1. Hover over the edge of an audio segment. A trim handle appears. 2. Drag the edge inward to shorten the segment. 3. A trim indicator appears during the drag to show the new boundary. This is useful for removing long pauses at the start or end of a speech block. ## Zoom Controls [#zoom-controls] The zoom slider is located at the top-right of the timeline panel, with minus and plus buttons on either side. * **Zoom in:** Click the **+** button or drag the slider right to see waveform detail for precise edits. * **Zoom out:** Click the **-** button or drag the slider left to see the full episode at a glance. ## Track Muting [#track-muting] Additional tracks (music tracks) have a mute button in their track header. Click it to toggle audio on or off for that track, letting you preview your episode with or without music. ## Looping Background Music [#looping-background-music] Background music loops automatically to fill your entire episode, spanning from the first spoken word to just before the outro. Drag the edge of the segment to trim it shorter or extend it longer, and it keeps looping to fill the new length, with dashed lines marking where each loop restarts. The background track also has its own color, making it easy to tell apart from your dialogue. See [Adding Music](/docs/help/podcasts-and-episodes/adding-music) for more. ## Editing While an Episode Renders [#editing-while-an-episode-renders] Downloading, publishing, and re-rendering a share link each trigger a render, and a render reads the timeline straight from the database. While one is in progress, the timeline is locked: dragging, trimming, and other edits are disabled until the render finishes, at which point editing resumes automatically. # Video & Shorts (/docs/help/podcasts-and-episodes/video-and-shorts) ## Overview [#overview] Every episode can be rendered as a video as well as an audio file. Choose a fixed Classic Template (from a simple waveform audiogram to a captions-forward look) or a Magic Video style, which builds AI-generated visuals from your episode content, then pick an aspect ratio for the platform you're targeting. Shorts are a separate, standalone kind of content: generate a video from a prompt or source in your choice of orientation (Portrait, Landscape, or Square), complete with AI narration, animated visuals in your choice of style, and an original instrumental score (on by default, optional), ready for TikTok, Instagram Reels, or YouTube Shorts. ## What's in This Section [#whats-in-this-section] This section covers the available episode video templates and how Magic Video Visuals generates AI illustrated scenes from your episode content. It also covers choosing aspect ratios for different platforms, browsing every video style in the [Video Styles gallery](/docs/help/podcasts-and-episodes/video-styles-gallery), applying your saved colors and logo with [Brand Kits](/docs/help/podcasts-and-episodes/brand-kits), creating and managing Shorts, and downloading your finished episode as a video, audio file, or SRT caption file. Already have a deck? [Slide Voiceovers](/docs/help/podcasts-and-episodes/slide-voiceovers) turn a PowerPoint, Keynote, or PDF presentation into a narrated video, no episode required. # Video Styles Gallery (/docs/help/podcasts-and-episodes/video-styles-gallery) ## Browsing Styles [#browsing-styles] Click **Video Styles** in the studio sidebar's **Personalize** section to see every animated video style Jellypod offers, laid out as a grid of tiles. 1. Hover a tile (on a mouse or trackpad) to play a short, muted preview of the style right on the tile. 2. Click any tile to open a detail view that plays the same example video with playback controls, along with the style's name and a description of its look. 3. Click **Use this style** in the detail view to jump to the **Shorts** page with that style already selected in the composer. 4. Click outside the detail view to close it and keep browsing. The Video Styles gallery is for browsing and starting a new Short. To change the visual style of an existing episode, use the **Video Style** picker above the episode's video preview instead; see [Video Templates](/docs/help/podcasts-and-episodes/video-templates). ## Available Styles [#available-styles] The gallery shows every style Jellypod offers, each with its own example video. For a written description of each, see [Creating Shorts](/docs/help/podcasts-and-episodes/creating-shorts#choosing-a-visual-style). # Video Templates (/docs/help/podcasts-and-episodes/video-templates) ## Choosing a Style or Template [#choosing-a-style-or-template] Every episode has a built-in video editor. Above the video preview you will find an **Orientation** control and a **Video Style** control. 1. Open an episode in the studio. 2. Click the **Video Style** button above the video preview (it shows the name of your current selection) to open the **Choose a video style** picker. 3. Pick a card from the **Magic Video** or **Classic Templates** section, then click **Use** to apply it. The picker groups your options into two sections: * **Magic Video**: AI-generated visuals matched to your episode content, in your choice of art style. See [Styles](#styles) below. * **Classic Templates**: Fixed layouts that apply the same look to every episode. See [Templates](#templates) below. If your episode's narration is longer than your plan allows for Magic Video, the Styles cards appear disabled beneath a warning, and you can pick a Classic Template or upgrade your plan instead. See [Magic Video Visuals](/docs/help/podcasts-and-episodes/magic-video-slides#duration-limits) for the per-plan limits. ## Templates [#templates] ### Classic Audiogram [#classic-audiogram] A clean, minimal audiogram with a waveform visualization synced to your audio and your podcast cover art. Best for a simple, recognizable podcast look. ### Conversation [#conversation] Host avatars pulse as each speaker talks, with live captions underneath. Best for multi-host shows where you want to show who is speaking. ### Classic Captions [#classic-captions] A captions-focused template with clean typography over a styled background. Great for accessibility and for viewers watching on mute. ### Spotlight [#spotlight] Highlights key words as they are spoken with dynamic, streaming-style caption emphasis. A modern look that draws attention to the content. ### Karaoke [#karaoke] The default template. Large, centered captions with karaoke-style word highlighting. Bold and impossible to miss. Captions take center stage. ## Styles [#styles] All Styles generate AI illustrated scenes timed to your narration using the same [Magic Video](/docs/help/podcasts-and-episodes/magic-video-slides) pipeline; only the art treatment differs. Each Style locks your episode's orientation to landscape, and needs your episode's narration audio generated before it can plan and generate scenes. ### Whiteboard Explainer [#whiteboard-explainer] Hand-drawn whiteboard scenes, like a teacher sketching while talking: confident dry-erase marker linework with sparse flat color accents on a clean white whiteboard that fills the frame. Scenes draw in stroke by stroke, largest idea first, then hold the finished board. ### Watercolor [#watercolor] Bold hand-drawn editorial illustrations with thick, confident ink outlines and loose watercolor fills on warm paper. ### Paper Mache [#paper-mache] Tactile editorial paper mache: layered cut-paper shapes, archival photographs, and screen-printed textures with torn edges. The same animated style used for [Shorts](/docs/help/podcasts-and-episodes/creating-shorts), now available for full episodes too. ### Pixel Art [#pixel-art] Bright three-quarter adventure dioramas built on one crisp square-pixel grid, with cheerful topic-adaptive palettes, warm daylight, layered tiled environments, and short stepped character actions supported by a whole-pixel camera track. ### Retro Comics [#retro-comics] Freshly printed 1980s newsstand panels with heavy black brush ink, flat CMYK color, Ben-Day dots, dramatic foreshortening, and one bold limited-animation action. ### Sketch [#sketch] Quiet storybook sketches in fine dark pen and graphite, with sparse muted colored-pencil fills and generous warm paper-white breathing room. Scenes normally draw in from left to right, fill with color, then hold the finished illustration. ### Stickman [#stickman] Deadpan stickman cartoons: simple round-headed stick figures with thick black ink outlines and flat muted color fills, with calm, single-element motion. ### Almanac [#almanac] Hand-drawn paper cutouts with crisp cut edges, white keylines, and soft drop shadows, placed on an aged parchment background. An earthy, documentary-style palette with a calm historical-explainer tone. ### Claymation [#claymation] Handcrafted plasticine caricatures perform silently inside warm mixed-material miniature sets, with practical lighting, a crisp focal puppet, gentle depth falloff, and a controlled stepped stop-motion cadence. ### Toy Bricks [#toy-bricks] Cinematic miniature dioramas built entirely from interlocking toy bricks and classic blocky figures, with feature-film lighting, full-scale miniature compositions, and polished stop-motion energy. ### Crayon [#crayon] Deliberately clumsy child-drawn wax-crayon pictures on a pure-white canvas, with wobbly overshooting lines, wrong proportions, messy color, and one full-color reveal that holds on the completed picture. ### Flat [#flat] Warm modern picture-book scenes built from bold rounded geometry, elongated or capsule-shaped figures, a strict navy-blue-coral-orange palette, huge calm negative space, and one restrained pose or prop action. ### Atomic Age [#atomic-age] Flat mid-century gouache and screen-print scenes with clean geometric masses, long angular shadows, and deep cobalt skies over warm bone modernist forms. Burnt-orange and turquoise accents carry one locked-camera focal action. Switching between Classic Templates updates the preview instantly, no generation required. Switching to a Style generates new AI visuals for your episode, which can take a few minutes the first time. # Inviting Guests to Clone Their Voice (/docs/help/podcasts-and-episodes/voice-clone-invites) You can email someone a link to create a voice clone directly in your account, without them ever signing up for Jellypod. When they submit a sample, a new host with their voice appears on your Hosts page, ready to use in episodes. This is useful when you want a colleague or subject matter expert featured as a host but don't want them to create their own account. ## Sending an Invite [#sending-an-invite] 1. On the **Hosts** page, click **Create Voice Clone**, then select **Invite a guest**. 2. Enter the **Host Name** and a **Backstory**. 3. Click **Create invite**. You can also send an invite from the **Voice Clone Invites** page itself: click **Invite a Guest** there. Creating the invite opens the **Voice Clone Invites** page. From there, copy the link to share it yourself, or click **Send email** to have Jellypod deliver it. Your guest opens the link (no account required) and records or uploads voice samples directly. Each sample uploads as soon as your guest adds it, with an inline **Retry** if one fails, so a slow connection does not hold up the rest. When they submit, the new host lands on your Hosts page and you get an email letting you know it is ready. ## Managing Invites [#managing-invites] Open **Hosts** and go to the **Voice Clone Invites** page to track invites. From there you can copy the link, send the email, or **Delete** an invite. Invite links are single-use and expire after 24 hours. # Voice Cloning (/docs/help/podcasts-and-episodes/voice-cloning) ## How to Clone a Voice [#how-to-clone-a-voice] 1. Start creating a new host (or edit an existing one). 2. Complete the **Name** and **Backstory** steps. 3. On the **Voice Type** step, select **Voice Clone**. 4. Upload or record your audio samples on the **Voice Clone** step. 5. Complete the remaining steps and save. Jellypod creates your voice clone after you finish creating the host. You will see a toast notification: "Creating your voice clone! This may take a few moments..." followed by confirmation when it is ready. ## Uploading Audio Samples [#uploading-audio-samples] Drag and drop a file into the upload zone, or click **Browse files**. Each sample starts uploading right away, so you can keep adding samples while earlier ones are still in progress. **Accepted formats:** MP3, WAV, M4A, OGG, OGA, FLAC audio, or a video file (MP4, M4V, MOV, WEBM, MKV, AVI). If you pick a video or an audio file in a format Jellypod cannot use directly, Jellypod pulls the audio track out in your browser and converts it to MP3 before uploading, so you can use a selfie clip, Zoom recording, or phone video as a sample. You will see "Extracting audio from your file…" while this happens. If the file has no audio track, or it cannot be processed, Jellypod shows an error so you can pick a different file. ## Recording Audio [#recording-audio] Click the **Record Audio** button to record directly in your browser. A three-second countdown appears, then a live recording state with a red pulsing dot, timer, and audio visualizer. Click **Save Sample** when finished. ## Audio Requirements [#audio-requirements] * **Minimum total audio:** 30 seconds across all samples (60 seconds recommended) * **Minimum per sample:** 10 seconds * **Maximum samples:** 10 * **Maximum file size:** 10 MB for an audio file. Video files (or other files that need audio extraction) can be up to 500 MB, but the extracted audio must still be 10 MB or under. ## Managing Samples [#managing-samples] After uploading or recording, each sample appears in the **Audio samples** list showing: * File name * Duration * A play/pause button to preview * A download button to save the sample * A remove button to delete the sample While a sample is uploading, its row shows **Uploading…**. If an upload fails, the row shows **Upload failed** with a **Retry** button to try again. Removing a sample cancels its upload if one is still in progress. You can continue to the next step once every sample finishes uploading; retry or remove any failed sample first. ## Tips for High-Quality Clones [#tips-for-high-quality-clones] The page displays three tip cards to guide you: * **Record somewhere quiet:** Background noise and room echo get cloned right along with your voice. * **Use a good mic:** A wired headset or external mic captures you far more cleanly than a laptop. * **Vary your delivery:** Read from a script and shift your tone, pace, and emotion. A monotone read makes a monotone clone. Your voice clone captures not just your voice, but also your tone, pace, emotion, and speaking style. Poor audio quality in your samples directly affects clone quality. 1-2 minutes of clear audio is the sweet spot. More than 3 minutes can actually reduce quality for instant voice clones. Focus on quality over length. ## If Your Voice Clone Doesn't Sound Right [#if-your-voice-clone-doesnt-sound-right] If your clone sounds different from your original recording, try these steps: 1. **Check recording quality:** Make sure your samples had clear audio with minimal background noise. 2. **Re-record with better delivery:** Record again with a clear, consistent tone and varied emotion. Avoid monotone delivery. 3. **Try the style toggle:** Some voice clones have a "More Consistent vs More Expressive" style option. Try switching between styles to find one that works better for your needs. 4. **Regenerate speech blocks:** If the clone works overall but specific episodes sound off, try regenerating those speech blocks to get a different rendering with the same clone. If you consistently get poor results, you may need to start over with new, higher-quality audio samples. # Changing Your Team Name (/docs/help/teams-and-collaboration/changing-team-name) You must have the **Admin** role to change the team name. This option is not visible to Members. Go to `Settings`, open the `Team` tab, and click `Change Team Name`. Enter the new name and confirm. The change takes effect immediately. Changing your team name does not affect podcast URLs, RSS feeds, or any published content. # Deleting Your Team (/docs/help/teams-and-collaboration/deleting-your-team) You must have the **Admin** role to delete the team. This action is permanent and irreversible: all data will be deleted and your subscription cancelled immediately with no refund. To delete your team, go to `Settings`, open the `Team` tab, scroll to the `Delete Team` section, and confirm by typing `DELETE`. Deleting the team removes every user, all content, your subscription (cancelled immediately, no refund), and your distributed podcasts from third-party platforms. See [Deleting Your Account](/docs/help/account-and-billing/deleting-your-account) for the full list of what gets removed. If you only want to cancel your subscription but keep your account and data, go to `Usage & Billing` instead. # Inviting Team Members (/docs/help/teams-and-collaboration/inviting-team-members) You must have the **Admin** role to invite members. If you don't see the `Team` tab, contact your team administrator. Go to `Settings`, open the `Team` tab, and click `Invite Member`. Enter their email address, select a role (`Admin` or `Member`), and send the invite. The invitee receives an email with an invitation link. When they click it, they create or sign in to their account and are immediately added to your workspace. ## Seat Limits [#seat-limits] Each plan includes a set number of seats: Creator includes 2 and Business includes 5. Inviting beyond your plan's seat limit prompts you to upgrade before the invite can be sent. ## Pending Invitations [#pending-invitations] Pending invites appear in the Team Members list. You can resend or revoke them from there. ## What New Members Can Access [#what-new-members-can-access] All team members have access to everything in the shared workspace (all podcasts, episodes, hosts, and sources) immediately. There is no per-project access control, so if you're working on something sensitive, finish it before inviting new collaborators. # Roles and Permissions (/docs/help/teams-and-collaboration/roles-and-permissions) ## Role Overview [#role-overview] Every team member is assigned one of two roles: **Admin** or **Member**. ## What Members Can Do [#what-members-can-do] Members have full creative access to the workspace: * Create and edit podcasts and episodes * Manage hosts and voice clones * Add and organize sources * Generate audio and video * Write and edit scripts * Publish episodes * Use the content agent and all AI tools Members focus on making content. They cannot access team management or billing settings. ## What Admins Can Do [#what-admins-can-do] Admins get everything Members have, plus the management layer: * Invite and remove team members * Change team member roles * Access **Usage & Billing** settings * Manage subscriptions and purchase credits * Change the team name * Delete the organization ## How Roles Are Assigned [#how-roles-are-assigned] Roles are assigned when inviting a team member. An Admin can change a member's role at any time from the **Team Members** list in **Settings > Team**. ## Tab Visibility [#tab-visibility] The tabs you see in **Settings** depend on your role and permissions: * **General** and **Notifications:** visible to everyone * **Team:** visible to users with team management permissions * **Usage & Billing:** visible to users with billing management permissions Keep the number of Admins small. Most team members only need the Member role to do their work. # SSO Setup (/docs/help/teams-and-collaboration/sso-setup) Jellypod supports SSO for organizations that want their team to sign in using a corporate identity provider, no separate Jellypod passwords required. SSO is an Enterprise feature. [Contact us](https://www.jellypod.com) to discuss Enterprise pricing and setup. ## Supported Providers [#supported-providers] SSO works with any SAML 2.0 or OIDC-compatible provider, including Google Workspace, Okta, Microsoft Azure AD (Entra ID), OneLogin, and others. ## How It Works [#how-it-works] Once configured, team members sign in through your company's identity provider. New members are automatically provisioned on first authentication, and sessions are managed by your provider's policies. SSO is provisioned by the Jellypod team, not self-served in studio settings. [Contact us](https://www.jellypod.com) to get started, and have your identity provider's metadata or configuration details ready, as setup typically requires coordination with your IT department. # Host Sources (/docs/help/sources/host-sources) ## What Are Host Sources? [#what-are-host-sources] Host sources are reference materials attached to an individual host. They help Jellypod understand and replicate the host's vocabulary, tone, and personality in generated scripts. Unlike podcast or episode sources (which provide episode content), host sources inform *how* the host communicates. Good reference materials include blog posts or essays, podcast recordings, video interviews or talks, and social media threads or newsletters that show their writing style. The more reference material you provide, the more authentic the host will sound. Variety helps. A mix of written content and audio or video gives Jellypod a richer understanding of how the host communicates across different formats. ## How to Add Host Sources [#how-to-add-host-sources] 1. Open the host creation flow or edit an existing host. 2. Navigate to the **Reference Materials (Optional)** step. 3. Use the upload zone or the **Website**, **YouTube**, and **Paste Text** buttons to add materials. You can add up to **10 reference materials per host**. ## How Host Sources Are Used [#how-host-sources-are-used] When the Podcast Agent writes a script, it references the host's source materials to match their vocabulary and phrasing, reflect their personality and conversational style, and maintain consistency across episodes. Host sources are analyzed once and inform every episode the host appears in. You do not need to re-add them per episode. # Managing Sources (/docs/help/sources/managing-sources) ## Adding Sources [#adding-sources] Sources attached in the Podcast Agent chat are episode-specific: they are included in the context for that episode only. Podcast-level sources are managed from the podcast settings page and are automatically included in every episode's context. You can also reuse sources you've already uploaded by picking them from the [Source Library](/docs/help/sources/source-library), no need to re-upload the same file or URL. See [What Are Sources?](/docs/help/sources/what-are-sources) and [Podcast vs. Episode Sources](/docs/help/sources/podcast-vs-episode-sources) for more on the difference. ## Processing Status [#processing-status] After adding a source, Jellypod extracts and indexes the content before it is available to the AI. A source can be in one of three states: * **Processing:** The source is being extracted. This normally finishes within minutes. Wait for it to complete before generating content. * **Ready:** The source is indexed and included in the AI context. * **Error:** The source failed to extract. Common causes are a URL behind a paywall, an unsupported file format, a PDF over the [100-page limit](/docs/help/sources/supported-source-types), or a YouTube video with no available transcript. If extraction stalls for more than 15 minutes, Jellypod marks the source as errored automatically so it doesn't sit in Processing indefinitely. Hover the errored source pill to see the specific reason, or try a different URL or paste the text directly. ## Removing Sources [#removing-sources] Click the `x` next to any episode source in the chat to remove it. To remove podcast-level sources, go to the podcast settings page. Podcast-level sources cannot be removed from the chat view. ## Refreshing a Source [#refreshing-a-source] There is no in-place refresh. If a source's content has changed, remove the old source and add the URL again. This creates a new source from the latest version (it does not update the existing one). # Podcast vs. Episode Sources (/docs/help/sources/podcast-vs-episode-sources) ## Podcast Sources [#podcast-sources] Podcast sources are attached to the series itself and carry across every episode you create. They're best for evergreen reference material: brand guidelines, company overviews, host bios, or anything you want every episode to reference. You can add up to **3 sources per podcast**, managed from [Edit Podcast](/docs/help/podcasts-and-episodes/editing-podcast-details) after the podcast is created. In the Podcast Agent chat, podcast sources display with a **Podcast Source** label so you can distinguish them from episode sources. ## Episode Sources [#episode-sources] Episode sources are the unique material for one specific episode, added directly in the Podcast Agent chat. Use these for the article or report that inspired this week's episode, a guest interview recording, or topic-specific notes. There is no fixed limit on episode sources. Mix both source types for the best results. Use podcast sources for your brand voice and background, then add episode sources for the specific topic you're covering. # Source Library (/docs/help/sources/source-library) The Source Library is a dedicated page where you can see every source across all your podcasts, episodes, and conversations in one place. Instead of re-uploading the same file or re-adding the same URL each time you create new content, you can pick existing sources from your library and link them instantly. For source processing states (Ready, Processing, Error), see [Managing Sources](/docs/help/sources/managing-sources). Open the Source Library by clicking your avatar at the bottom-left of the sidebar and selecting **Source Library**. ## What You Can Do [#what-you-can-do] * **Browse all sources:** See every source you've ever added, with its name, type, processing status, and how many pieces of content use it. * **Search:** Quickly find a source by name using the search bar at the top. * **Upload new sources:** Click **Upload Source** to add files directly to your library without needing to start a new episode first. * **Download:** Download the extracted content from any source, or the original uploaded file (Download Original appears for uploaded files only, not URL or YouTube sources). * **Delete:** Remove sources you no longer need. Deleting a source removes it from all linked content. * **Create content:** Use **Create New with Source** to open the content-type picker (episode or series) with that source already attached. ## Picking Sources from the Library [#picking-sources-from-the-library] When creating new content or working in the Podcast Agent chat, click the **+** button to open the **Add Sources** dialog. Along with uploading new files and adding URLs, you'll see a **Pick from Source Library** button. Click it to open a searchable list of all your existing sources. Select the ones you want, then click **Add Selected Sources** to link them to your current content. Sources you've already attached to the current content are automatically hidden from the picker, so you won't accidentally add duplicates. # Supported Source Types (/docs/help/sources/supported-source-types) Click the `+` button next to the chat input to open the `Add Sources` dialog. From there, you can drag and drop files, paste a URL, add a YouTube link, or type text directly. ## Website URLs [#website-urls] Click `Website`, paste any public URL, and click `Add Website`. Jellypod automatically extracts the page content. Blog posts, news articles, documentation, and company pages: if it's publicly accessible, you can use it. URLs behind paywalls or login walls may fail to extract. If a source errors out, try a different URL or paste the text directly instead. ## YouTube Videos [#youtube-videos] Click `YouTube`, paste a YouTube URL, and click `Add YouTube Video`. Jellypod pulls the video's transcript automatically. ## File Uploads [#file-uploads] Drag and drop files into the upload zone, or click to browse. Supported file types: * **Documents:** PDF, Word (.doc, .docx), RTF, EPUB, Pages * **Presentations:** PowerPoint (.ppt, .pptx), Keynote * **Spreadsheets:** Excel (.xlsx, .xls), CSV, Numbers * **Audio:** MP3, WAV, M4A, MPEG * **Video:** MP4, MOV, WebM, AVI, MKV (audio is extracted automatically) * **Images:** JPG, PNG, GIF, SVG, WebP * **Text:** TXT, Markdown (.md) PDFs are capped at 100 pages. A longer PDF is rejected with an explanation on the source pill; split it into smaller files and upload each one. ## Paste Text [#paste-text] Click `Paste Text`, type or paste your content, and click `Add Text`. This is ideal for quick notes, talking points, outlines, or any text you do not have saved as a file. On the new content start screen, paste long text (2000 or more characters) directly into the chat input and Jellypod will automatically convert it into a source. Want to turn a slide deck into a narrated video instead of using it as a source? [Slide Voiceovers](/docs/help/podcasts-and-episodes/slide-voiceovers) add an AI voiceover to a PowerPoint, Keynote, or PDF presentation. # What Are Sources? (/docs/help/sources/what-are-sources) ## Overview [#overview] Sources are files, links, and text you provide as reference material for Jellypod's AI. The Podcast Agent reads your sources when writing episodes, using them to stay accurate, on-topic, and grounded in real content. Think of sources as the research your hosts use to prepare: an article, a company overview, a YouTube interview, a PDF report. The quality of your sources directly impacts the quality of your output. Two or three focused, relevant sources produce better results than ten vague ones. Good sources give the AI accuracy (real facts and data to reference), depth (enough detail to go beyond surface-level discussion), and direction (a clear sense of what to cover). Sources are entirely optional. The Podcast Agent can research topics on its own using [Web Search](/docs/help/podcast-agent/using-web-search). Sources give you more control over what gets discussed. ## How Sources Work [#how-sources-work] 1. Add sources to your podcast, episode, or conversation using the **+** button next to the chat input, or pick existing ones from your [Source Library](/docs/help/sources/source-library). 2. Jellypod extracts and processes the content from each source. 3. The Podcast Agent references your sources when writing the script. Sources can be attached at the [podcast level](/docs/help/sources/podcast-vs-episode-sources) (available for every episode in a series), at the episode level (specific to one conversation), or to [individual hosts](/docs/help/sources/host-sources) to shape how they write and speak. The [Source Library](/docs/help/sources/source-library) gives you a central place to browse, search, and reuse sources across all your content. ## When a Source Is Already a Finished Script [#when-a-source-is-already-a-finished-script] If the single source you attach already reads like a complete, ready-to-record script, Jellypod detects that and uses it word-for-word instead of writing a new one, skipping straight to audio. This works automatically from the New Episode box, [Automations](/docs/help/podcasts-and-episodes/automations) (including inbound email), and the [API](/docs/help/api), no need to use the separate Upload Script option. This only applies when you attach exactly one source. Attaching more than one, even if one of them is a full script, means all of them are used as research material for a newly written script instead. You can also override the automatic behavior in your prompt: say "read this verbatim" to force it, or "rewrite this" to force a fresh script instead. # Health (/docs/api/health/health) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/health/health for the full schema, request/response examples, and code samples. # Get the authenticated organization (/docs/api/account/getAccount) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/account/getAccount for the full schema, request/response examples, and code samples. # Get streaming analytics for an episode (/docs/api/analytics/getEpisodeAnalytics) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/analytics/getEpisodeAnalytics for the full schema, request/response examples, and code samples. # Get streaming analytics for a podcast (/docs/api/analytics/getPodcastAnalytics) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/analytics/getPodcastAnalytics for the full schema, request/response examples, and code samples. # List episodes (/docs/api/episodes/listEpisodes) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/episodes/listEpisodes for the full schema, request/response examples, and code samples. # Create an empty episode (/docs/api/episodes/createEpisode) Inserts an episode row with only the metadata you provide. No script, audio, or video is generated. Use `POST /v1/episodes/generate` to create an episode and trigger generation in one call. This is an API reference page. See the live version at https://www.jellypod.com/docs/api/episodes/createEpisode for the full schema, request/response examples, and code samples. # Generate a new episode (asynchronous) (/docs/api/episodes/generateEpisode) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/episodes/generateEpisode for the full schema, request/response examples, and code samples. # Import script text and generate a new episode (asynchronous) (/docs/api/episodes/importEpisode) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/episodes/importEpisode for the full schema, request/response examples, and code samples. # Get an episode (/docs/api/episodes/getEpisode) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/episodes/getEpisode for the full schema, request/response examples, and code samples. # Update episode fields (/docs/api/episodes/updateEpisode) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/episodes/updateEpisode for the full schema, request/response examples, and code samples. # Delete an episode (/docs/api/episodes/deleteEpisode) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/episodes/deleteEpisode for the full schema, request/response examples, and code samples. # Upload an episode cover image (raw image bytes in body) (/docs/api/episodes/uploadEpisodeImage) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/episodes/uploadEpisodeImage for the full schema, request/response examples, and code samples. # Publish or schedule an episode (/docs/api/episodes/publishEpisode) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/episodes/publishEpisode for the full schema, request/response examples, and code samples. # Unpublish a published or scheduled episode (/docs/api/episodes/unpublishEpisode) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/episodes/unpublishEpisode for the full schema, request/response examples, and code samples. # Get episode timestamps (/docs/api/episodes/getEpisodeTimestamps) Returns timestamps in the requested `format`. Use `format=json` (default) for structured timestamps, `format=srt` for SubRip, or `format=vtt` for WebVTT. This is an API reference page. See the live version at https://www.jellypod.com/docs/api/episodes/getEpisodeTimestamps for the full schema, request/response examples, and code samples. # List hosts (/docs/api/hosts/listHosts) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/hosts/listHosts for the full schema, request/response examples, and code samples. # Create a host (/docs/api/hosts/createHost) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/hosts/createHost for the full schema, request/response examples, and code samples. # Get a host (/docs/api/hosts/getHost) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/hosts/getHost for the full schema, request/response examples, and code samples. # Update a host (/docs/api/hosts/updateHost) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/hosts/updateHost for the full schema, request/response examples, and code samples. # Delete a host (/docs/api/hosts/deleteHost) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/hosts/deleteHost for the full schema, request/response examples, and code samples. # List podcasts (/docs/api/podcasts/listPodcasts) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/podcasts/listPodcasts for the full schema, request/response examples, and code samples. # Create a podcast (/docs/api/podcasts/createPodcast) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/podcasts/createPodcast for the full schema, request/response examples, and code samples. # Get a podcast (/docs/api/podcasts/getPodcast) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/podcasts/getPodcast for the full schema, request/response examples, and code samples. # Update a podcast (/docs/api/podcasts/updatePodcast) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/podcasts/updatePodcast for the full schema, request/response examples, and code samples. # Delete a podcast (/docs/api/podcasts/deletePodcast) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/podcasts/deletePodcast for the full schema, request/response examples, and code samples. # Replace the podcast cover image (/docs/api/podcasts/updatePodcastImage) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/podcasts/updatePodcastImage for the full schema, request/response examples, and code samples. # List sources (/docs/api/sources/listSources) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/sources/listSources for the full schema, request/response examples, and code samples. # Create a source from a URL, YouTube link, or text payload (/docs/api/sources/createSource) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/sources/createSource for the full schema, request/response examples, and code samples. # Get a source (/docs/api/sources/getSource) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/sources/getSource for the full schema, request/response examples, and code samples. # Delete a source (/docs/api/sources/deleteSource) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/sources/deleteSource for the full schema, request/response examples, and code samples. # List voices (/docs/api/voices/listVoices) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/voices/listVoices for the full schema, request/response examples, and code samples. # Get a voice (/docs/api/voices/getVoice) This is an API reference page. See the live version at https://www.jellypod.com/docs/api/voices/getVoice for the full schema, request/response examples, and code samples.