Skip to content
Jellypod
Esc
↑↓navigate↵open⌘Jpreview
On this page

Use your own script

Turn a script you wrote into an episode.

Jellypod can voice a finished script word for word, one of the ways to start an Episode in AI Podcasts. Upload Script starts a new Episode; Import Script replaces the script of an existing Episode, Video, Short or Voiceover. Both end in the same speaker review. Videos and shorts have the same Upload Script button and script format.

Start a new episode from a script

  1. Select Podcast Episode on the Studio dashboard, or Create New Episode in a Podcast. Click Upload Script, beside Settings on desktop or inside Settings on mobile.
  2. Paste your script or click Choose file, then click Add script. Host selection, Duration (Auto) and adding Sources lock, because the script decides them. Clear the script to unlock them.
  3. Send. Jellypod runs the speaker review, then voices the script with your Hosts.

If you paste a script straight into the composer, or attach it as a Source, Jellypod asks when you send: Use my exact words opens the speaker review, and Write a new script treats your text as instructions.

If narration can’t start after the review, usually for lack of Credits, the Episode is still created with your script and Jellypod says why. Generate audio from the script editor once that’s resolved.

Import a script into an existing episode or video

  1. In the Episode, Videos, Shorts or Voiceover workspace, open the three-dot Import / Export menu and choose Import Script. It is disabled while the script is locked, for example during a render.
  2. Paste your script or add a file, then click Continue to reach the speaker review.
  3. Click Import script. The current script is replaced. In Videos, Shorts or Voiceover, matching lines keep their narration and music, and changed lines regenerate audio.

Formats and limits

  • Files: .txt, .md, .markdown, .docx, .doc, .rtf and .pdf, up to 4 MB.
  • Speaker labels: start each turn on its own line with [John Doe] or John Doe:. Bold, heading, list and blockquote labels from Word or Google Docs count too. Prose without labels is detected automatically.
  • Chapters: a heading line (a Heading style in Word or Google Docs, or # in plain text) starts a chapter titled with its text. A chapter without a label continues the previous speaker.
  • Length: no script can exceed 75 minutes of narration on any plan. A script over your plan’s episode length is refused at review, not shortened.
  • Credits: the review stops with the upgrade dialog if your Credits fall short of the narration cost. After adding Credits, click Try again. Importing into an Episode that already has audio isn’t checked.
  • Screening: a script with graphic violence, harassment or other content the speech providers won’t voice imports nothing, and the error says why. War, history and true-crime scripts import normally.

Review the speakers

Before anything is created, the review pairs every detected label with one of your active Hosts.

  • Matched: a label that matches an active Host’s name preselects that Host.
  • Unmatched: choose a Host, or click Create new to generate a Character from that speaker’s lines. You can edit its name and Voice later.
  • Remove: the trash icon excludes a label that isn’t a speaker. Its words stay in the script, spoken by the previous speaker.

Import script stays disabled until every active speaker has a Host, and at least one speaker must stay active.

Cues such as [Laugh] fold into the surrounding line, and short headers such as Audience: are dropped. If one still shows as a speaker, remove it. For delivery cues, see audio tags.

A Short or Video allows up to 4 distinct Hosts, and API or MCP requests over that are refused before Credits are charged. An Episode has no Host ceiling. To change one block’s Host after import, see speech blocks.

Attach a script as a source

When you attach Sources in the new-episode composer, Jellypod looks for one text Source that reads like a finished script:

  • Exactly one: Jellypod offers Use my exact words, and the other Sources are not used. Clearly unspoken titles, rule lists and visual or duration directions are removed in review. If nothing spoken remains, the import is refused.
  • None, or more than one: every Source is research for a new script.
  • Your prompt decides: “read this verbatim” forces a word-for-word read, and “rewrite this” forces a new script.

A Source still processing when you send is used as research, so wait for it to finish or use Upload Script.

Automations and API prompt requests always treat Sources as research. To keep finished narration, use POST /v1/episodes/import or script on POST /v1/videos and POST /v1/shorts, or script on the MCP tools generate_episode, generate_video and generate_short. All accept speaker_characters to assign saved Characters to labels. See the agent guide.

Edge cases

Situation What happens
Speaker review times out or finds no speakers Try again, or start each turn with a [Name] label
A turn with no spoken words (an audio tag, emoji, --- rule or table divider) Dropped. If every turn is like this, the import is rejected
Production notes such as “LOCKED SCRIPT” or “END OF SCRIPT” Removed when clearly unspoken; otherwise they may be narrated
API or MCP: a [Name] label matches no saved Character Refused, naming each label. Use speaker_characters or create a Character

To export a script as a .txt file, see Download the script as text.

Last updated on

Was this page helpful?