PolyScript — Tutorials

Written guides for every feature in PolyScript, the Fountain screenwriting app at the start of the PolySpeak pipeline. Work through them in order for a full introduction, or jump to any section using the contents list.

1 Opening, Saving & New Scripts

What you'll learn: creating a new script, opening an existing one, saving your work, and working with multiple scripts at once.

Creating a new script

  1. Press ⌘N, or choose File → New. A new window opens with a fresh script.
  2. New documents start with a built-in, annotated starter-template scene — a short example scene with notes explaining each Fountain element in place. It's there to teach the format; once you don't need it, turn it off in Settings → Editor so new scripts start blank.

Opening a script

  1. Press ⌘O, or choose File → Open…, and choose a .fountain file.
  2. Double-clicking a .fountain file in Finder opens it directly in PolyScript — the file type is registered to the app.
  3. Recently opened scripts are listed under File → Open Recent.

Saving a script

  1. Press ⌘S to save. If the script has never been saved, a Save dialog appears asking for a location and file name.
  2. Press ⇧⌘S to Save As — saves a copy under a new name or location, and switches the window to that new file.

Multiple scripts at once

Every script you open or create gets its own window. There's no limit on how many you can have open at the same time — keep a feature script and a short side project open together, or compare two drafts side by side.

Keyboard shortcuts

ShortcutAction
⌘NNew script
⌘OOpen script
⌘SSave
⇧⌘SSave As
File extension. PolyScript always saves in the plain-text Fountain format (.fountain) — the industry-standard screenplay markup that every app in the PolySpeak suite, and most other screenwriting software, can read.

2 Fountain Format Basics

What you'll learn: using the format-teaching toolbar to write correctly structured Fountain screenplay elements without memorizing syntax.

Fountain is a plain-text markup for screenplays — scene headings, action, character names, and dialogue are all just formatted text, but the formatting rules matter. PolyScript's toolbar inserts each element correctly so you never have to remember the exact syntax.

The format toolbar

Each button inserts correctly formatted text at the cursor and shows a tooltip on hover explaining what it does:

ButtonInserts
Scene HeadingAn INT./EXT. slugline, formatted and capitalized as a scene heading
ActionA plain action/description paragraph
CharacterA centered, capitalized character name line, ready for dialogue underneath
DialogueA dialogue block under the current character
ParentheticalA short parenthetical direction inside a dialogue block, e.g. (beat)
TransitionA right-aligned transition, e.g. CUT TO:
Title PageOpens the Title Page editor (see Tutorial 4)
SectionA # section heading, used for outlining and navigation
SynopsisAn = synopsis line summarizing a scene or section
LyricA ~ lyric line, italicized when sung dialogue is needed
NoteA [[bracketed note]] — visible in the editor, invisible in exported/printed pages

Using the toolbar

  1. Place your cursor where you want the new element, then click the matching toolbar button.
  2. PolyScript inserts the correctly formatted text and positions your cursor ready to type.
  3. Hover over any button to see a tooltip describing what it inserts.
Learning by example. Every new script starts with a short, annotated starter-template scene that shows each of these elements already in place with notes explaining them. Read through it once, then turn it off in Settings → Editor so future new scripts start blank.

3 Character & Scene-Location Autocomplete

What you'll learn: how PolyScript speeds up typing character names and scene headings you've already used.

Character autocomplete

  1. Start typing a character name on a Character line.
  2. As soon as the letters match a character you've already used in the script, a suggestion appears.
  3. Press Return or Tab to accept the suggestion, or keep typing to enter a new name.

Scene-location autocomplete

  1. Start a Scene Heading line and begin typing the location (after INT./EXT.).
  2. PolyScript suggests locations you've already used elsewhere in the script.
  3. Accept the suggestion the same way, or keep typing for a new location.
Why it matters. Consistent character and location names keep your script clean — and matter downstream too: TableRead and PolyProject read character names directly out of your Fountain file to build the cast list, so a typo'd name becomes a phantom character that needs its own casting.

4 The Title Page Editor

What you'll learn: filling in your script's title page fields.

  1. Click the Title Page button in the toolbar.
  2. Fill in the fields you want to include: Title, Credit, Author, Draft Date, Contact, and Language.
  3. Leave any field blank to omit it — the title page only shows the fields you fill in.
  4. The title page is stored as Fountain key/value metadata at the very top of the file, ahead of your first scene.
FieldTypical use
TitleThe script's title, shown centered on the title page
CreditUsually "Written by"
AuthorYour name, or a pen name
Draft DateThe date of this draft, useful when tracking revisions
ContactEmail, phone, or representation info
LanguageThe script's primary language — also used as the source language for Translation (Tutorial 8)

5 Page Count & Runtime Estimate

What you'll learn: reading the live page count and runtime estimate in the status bar, and why you can trust the number.

The status bar at the bottom of the window shows two live numbers as you write: the current page count and an estimated runtime.

How it's calculated

This is not a word-count guess. PolyScript lays out your actual script text at Courier 12pt — the standard screenplay format — and counts real pages from that layout, the same way a printed or PDF script would paginate. Runtime then follows the long-standing industry convention that one page of a properly formatted screenplay equals roughly one minute of screen time. Because the page count comes from genuine typeset pages rather than a word or character count, the runtime estimate tracks much closer to reality than a simple words-per-minute formula.

Watch it move. Add a page of action description or a long monologue and watch both numbers update immediately — because it's driven by real layout, formatting choices (like switching a passage to Action vs. Dialogue) can shift the estimate too, just as they would on a printed page.

6 Dual Dialogue

What you'll learn: formatting two characters speaking at the same time, side by side.

  1. Write the first character's Character line and Dialogue as normal.
  2. Write the second character's Character line directly after — then add a caret ^ immediately after the second character's name.
  3. PolyScript recognizes the ^ marker and renders the two character/dialogue blocks side by side as simultaneous dialogue, the standard screenplay convention for two people talking over each other.
Where the caret goes. The ^ belongs on the second character's line, not the first — it tells PolyScript "this dialogue happens alongside the block above it."

7 The AI Tab

What you'll learn: using PolyScript's AI actions to draft, tighten, and check your script, and choosing which AI engine powers them.

Setting up AI (first time)

Go to Settings → AI and choose a provider:

  • Apple Intelligence — runs entirely on-device. Requires Apple Silicon and macOS 26 with Apple Intelligence enabled. No API key, no data leaves your Mac.
  • OpenRouter — uses your own OpenRouter API key and lets you pick from many cloud models. Paste your key in Settings → AI → OpenRouter Key.

AI actions

ActionWhat it does
ContinueWrites the next lines of action or dialogue, picking up where the script leaves off
Punch Up DialogueRewrites selected dialogue to be sharper and more character-specific
Voice CheckFlags when two different characters' dialogue reads too similarly — a sign they need more distinct voices
Fix FormatCorrects Fountain formatting mistakes in the selection or scene
ProofreadFinds spelling, grammar, and consistency issues
Summarize SceneProduces a short synopsis of the current scene

Running an action

  1. Open the AI tab in the sidebar.
  2. Optionally select the text you want the action to apply to — some actions (like Continue) work from the cursor position instead.
  3. Click the action button. The result appears in the AI tab for review.
  4. Insert the result into your script, or discard it and try again.
Voice Check is a writing tool, not a Talent feature. It compares word choice and rhythm in the text of your script — it has nothing to do with the voice models you train in Talent. Think of it as an early warning that two characters are starting to sound alike on the page.

8 Translation

What you'll learn: translating an entire script to a new window, or just a selection in place.

Translating the whole script

  1. Open the Translation panel from the toolbar.
  2. Choose a target language from the list — about 40 languages are available, powered by Apple's on-device Translation framework.
  3. Click Translate. PolyScript opens a new window containing the translated script, leaving your original untouched.

Translating a selection in place

  1. Select the lines you want to translate — a scene, a speech, or a single action line.
  2. Open the Translation panel and choose a target language.
  3. Click Translate Selection. The translated text replaces the selection directly in your current script.
On-device. Because translation runs through Apple's on-device Translation framework, your script text isn't sent anywhere — the first use of a given language pair downloads a small language pack, and after that it works offline.