Tutorial
How CueCast turns a pasted screenplay into a playable table read — and what you need from OpenAI to make it sing.
What CueCast does
CueCast parses screenplay text into structured scenes, characters, and lines, then optionally voices each line with an OpenAI text-to-speech model so you can play the whole script back in your browser.
- Parse a script using either the built-in Local parser (free, regex-based) or the OpenAI parser (smarter, for messier formatting).
- Edit characters, dialogue, and stage directions inline after parsing.
- Assign voices from OpenAI's TTS catalog to each character.
- Generate audio line-by-line and play scenes back as a table read.
Step 1 — Get an OpenAI API key
You only need an OpenAI key if you want to use the OpenAI parser or generate AI voice audio. The Local parser works without any key.
- Go to platform.openai.com/api-keys and sign in (or create an account).
- Make sure your OpenAI account has a payment method and a small prepaid balance under Billing. TTS is pay-as-you-go.
- Click Create new secret key, name it something like
cuecast, and copy the value that starts withsk-. You will not be able to view it again.
Treat the key like a password. Never paste it into a chat, screenshot, or repo. If it leaks, revoke it from the same page and create a new one.
Step 2 — Save the key in CueCast
- Log in with Google.
- Open Settings from the top navigation.
- Paste your key into the OpenAI API Key field and click Save Key.
Your key is stored encrypted and is only ever sent to OpenAI from the server when you parse a script or generate audio. You can remove it at any time from the same page.
Step 3 — Create a table read
- Click My Scripts in the top nav, then New Script.
- Give it a title and paste the script text. Standard screenplay format works best — character names in caps on their own line, dialogue below, stage directions in brackets.
- Pick a parser:
- Local — fast, free, and good for clean, well-formatted scripts.
- OpenAI — handles unusual formatting, dual dialogue, and inline stage directions. Requires a saved key.
- Click Parse Script. You'll land on the script page with scenes, characters, and lines extracted.
Step 4 — Assign voices and generate audio
- On the script page, each character has a dropdown of OpenAI voices (alloy, echo, fable, onyx, nova, shimmer, etc.).
- Pick a voice for every character, including
NARRATORfor stage directions. - Click Generate Audio. CueCast generates a small batch of lines at a time, so large scripts stream in over a few rounds — keep clicking until the progress bar fills.
- Editing a line, adding a new one, or changing a character's voice regenerates just the affected audio.
Audio is stored locally on the server and streamed to your browser when you play a line. Deleting a line also deletes its audio file.
Step 5 — Play the table read
Use Play, Pause, and Stop at the top of the script page. CueCast plays each line in order, highlights the active line, and skips lines that don't have audio yet. Click any line to jump to it.
Costs and limits
- Parsing uses a single chat-completion call per script with a small model — typically a fraction of a cent.
- Audio is billed per character of text. A full feature-length screenplay can run a few dollars; a short scene is cents.
- You're billed by OpenAI, not CueCast. Set a monthly spend cap on your OpenAI account if you want a hard ceiling.
Troubleshooting
- "Save an OpenAI API key in Settings..." — your key is missing or was removed. Re-add it in Settings.
- Parser dropped lines or merged characters — try the OpenAI parser, or clean up the source text so every character cue is on its own line in ALL CAPS.
- Audio generation errored — usually an OpenAI billing or rate-limit issue. Check your OpenAI dashboard, wait a moment, and click Generate Audio again to resume where it left off.
- A character has the wrong voice everywhere — change the voice and use the Regenerate button on that character's card to refresh just their lines.