The complete path: blank project → written story → framed shots → performance → a published, narrated slideshow. Twenty minutes the first time; much faster after.
1Start a project
Open Story Cards. Click the black spine on the left to open the project drawer, then + (top-left) or the empty slot on the Backlog shelf.
Pick the story's shape. Free form is the default; the others — Three beats, the Story spine, Kishōtenketsu, Fable, Haiku, Greek tragedy, Hero's and Heroine's journeys — fix the card count and give every card its prompt as ghost text. You write the line; the shape keeps the pace.
The Project Manifest opens automatically. Fill in what you know — title, subtitle, logline, theme — and rename the placeholder characters (these become selectable speakers everywhere). Add locations; they'll appear as one-tap suggestions later. Set a cover image — it backgrounds your project's spine and the shelf card. Afterwards it lives as the title page: the slim page-edge left of card 1 — click to slide it open, click anywhere else to close. (Cast, locations & cover stay one click deeper.)
Display controls sit right on the spine: light/dark, vertical/horizontal layout, accent color (click to cycle), and reading pace (drag or scroll the wpm number). The gear below them holds the manifest, backups, and exports.
2Write the cards
Each card is a scene: number → title → duration & word count → scene action → Script → On-screen.
Type the title, then the one-line scene action (what happens in frame).
Click ✎ edit script to open the script drawer. + add line offers your cast (with avatars), the Narrator, or a Soundscape note (music/SFX — displayed in italics, never read aloud). Click a line's name to reassign its speaker; characters you use appear as avatars under the title.
Duration is automatic from word count at your wpm. Drag the seconds number to override; scroll it to nudge.
No script yet? The title speaks. A card with no lines uses its title as the Narrator's line, so every card always plays. A title of just dots is timed silence — 1 second per dot (... holds for 3s).
⌘/Ctrl + Enter inserts a new card right after the one you're writing in.
Hover a card's top edge for tools: drag-reorder, AI draft, lock, perform from here, dictate (mic), delete. Hover the seam between cards and click the column to insert a scene. Click a card's number to collapse it.
3Give every card an image
In the On-screen section click choose image. Type what you want — your words become the image's label — and photos appear as you type (real photography via Pexels; the photographer is credited automatically). Click a photo and it's chosen — no confirm step.
Paste an image URL to use it directly, click the upload button, or drag & drop a file anywhere on the picker. Images already in your project show first so you can reuse them.
In Overview mode the image becomes the card's backdrop — your deck reads as a storyboard.
4Cut a beat across cards
A beat that needs several images is just several cards: his face → the empty bench → his face again, closer. One image per card keeps the deck honest — a card is a beat.
Insert cards for the beat (hover the seam between two cards and click the column), then give each its own image and line.
Set the follow-on cards to cut — the small toggle next to view / edit flips a card between slide (carousel, the default) and cut (hard edit). Cuts are what make a return shot land.
For the return, open the first card's image → Frame · stickers… → Frame → drag to the focal point, zoom in → Reframe onto a new card. Same photo, tighter framing, set to cut automatically — no second copy of the image.
Opening a project made before v17? A card holding several shots offers split N shots into cards — one click converts it, moving each shot's micro-VO into that card's script.
5Motion and marks
In the Frame modal, pick the image's motion: Push in (lands exactly on your framing), Pull out, Pan, or Still. Global Ken Burns on/off is in preferences.
Stickers tab: drop emoji or type text (broadcast-style captions); drag to place, select to resize.
Draw tab: circle a detail in six colors — strokes are vector and stay crisp everywhere.
The image editor's Text overlay field prints bold type on the image itself (The 6:40 uses it for "TUESDAY").
6Perform it
Click the ◉ tool on any card, or click The End card after your last card — it opens into Listen & Practice (the story plays itself, read aloud), Record (the teleprompter, your voice), and Export and Publish.
Space/→ next · ← back · P play/pause · Esc exit. Cards slide like a carousel unless you set one to cut.
7Narrate it — your own voice
List the steps and their lines: python3 tools/attach-audio.py stories/<slug>/index.html --list(this runs on the exported file — see step 9)
Record while you perform. Perform mode is your teleprompter — start a recorder (Voice Memos, or QuickTime → File → New Audio Recording), play the story, and read one take per step.
Name the files step-00.m4a, step-01.m4a… to match the list, and drop them in the story's audio/ folder.
Attach and redeploy: python3 tools/attach-audio.py stories/<slug>/index.html
Steps without a recording fall back to device TTS — you can voice just the title card and let TTS carry the rest, or silence a step by leaving it out and muting 🔊.
8Narrate it — Google TTS
Prefer a generated narrator? The 🔊 button normally uses the viewer's device voice — quality varies. Instead, pre-generate the audio once with Google's Gemini TTS and bake it into the story; the player automatically prefers real audio. (Runs on the exported file — see step 9.)
export GEMINI_API_KEY="your-key"
python3 tools/narrate.py stories/the-640/index.html
# pick a different voice:
python3 tools/narrate.py stories/the-640/index.html --voice Charon
It writes audio/step-NN.wav next to the story and patches each step. Redeploy and every viewer hears the same narrator, even offline.
Cost ≈ $0.015 per minute of audio — about a cent for The 6:40. Voices: Kore, Charon, Puck, Fenrir, Aoede.
9Export
Book icon → three exports:
Export slideshow (.html) — the publishable artifact. One self-contained file: click-through, auto-read (🔊), autoplay (▶), photo credits end card. Send it to anyone.
Export document (.doc) — a formatted screenplay for Word/Pages/Docs.
Export project JSON (for AI) — tight scene instructions for a video-generation model; also re-importable.
Save to file… is your backup; Open backup file… restores it (that's also how you open The 6:40's project file).
10Publish to the shelf
Export the slideshow; make a folder stories/<your-slug>/ in the shelf repo and save it as index.html.
Copy the OG <meta> block from The 6:40's file into yours (swap title, logline, cover) so links unfurl nicely.
Recorded or generated narration? Run the step-7/8 tool on this exported file now.
Copy and edit meta.json; add a card for it on the gallery page.