clear everything and start from scratch β save first!
load projectβO
load a saved .storyboard.json file
open recent
saveβS
download a .json backup (also auto-saves to browser storage on every change)
save asβ¦ββ§S
download with a custom filename
save new version
bump the project's version number, then save β filename gets a fresh vN suffix
restore pre-join backup
bring back exactly what this tab had before you last joined a live session (your offline copy is also auto-shelved on join)
package project
save the project JSON, this app's HTML, and the script PDF together into a folder β requires Chrome or Edge
load script
load a PDF screenplay for scene and shot linking
extract scenes from script
scan the loaded PDF for INT./EXT. slug lines and create a scene for each
sort scenes by script order
reorder scenes by the page they appear on in the script
renumber scenes in order
assign scene numbers 1, 2, 3β¦ matching the current list order
[debug] diagnose PDF state
show exactly what PDF data is available and where β for bug reports
[debug] force-rerender PDF
redraw the PDF pages using whatever data is in memory
media library
images placed on shot canvases β a fuller media library is to come
undoβZ
undo the last drawing or image change
redoββ§Z
redo the last undone action
copy drawing
copy all strokes and images from this shot into the internal clipboard (for pasting into other shots)
paste drawing
paste internally copied strokes and images into the active shot
mirror shot
flip all strokes and images horizontally
clear shot
remove all strokes from the active version β images are kept
delete shot
permanently remove this shot and all its versions from the scene
export shotlistβ¦
the production shotlist, clean like the Google Sheet β pick scenes, filter by type / character / location, images on or off, then save as printable PDF or CSV
import shotlist from Google Sheetsβ¦
one-time import from a shared sheet β review every row first, skip any you like; overwrites shot text only, never drawings (for LIVE two-way sync, link the sheet in prefs)
export storyboardβ¦
a PDF or JPEG storyboard document from selected scenes β frames laid out like boards
export scene packageβ¦
the active scene's takes (stills + clips) under stable SC/SH filenames, plus notes CSV β ready to drop into Premiere. Or right-click any scene.
export images Β· ZIP
download a ZIP archive of every image in the project
scene list Β· txt/csv
just the scene numbers and slugs β copy-paste or download
location list Β· txt/csv
each location with the scenes that take place there β copy-paste or download
locations PDF Β· images only
every location with its reference images
locations PDF Β· with scenes
locations with images AND assigned scene names
this frame β JPEG
save the active shot's rendered frame as a JPEG file
this frame β clipboardββ§C
render the active shot as a PNG and copy it to the system clipboard
batch generate videosβ¦
queue Veo video generations for multiple shots β uses your API key from Preferences
[debug] download video debug log
save the video-generation network log as a JSON file β for bug reports
rule of thirdsβ
overlay a rule-of-thirds grid on the drawing canvas (G)
hide X'd shotsβ
hide cancelled shots from the scene strip
hide duplicate shotsβ
collapse same-as repeats into stacked cards in the scene strip
shotlist modeβ
every shot is an editable ROW β frame Β· camera Β· action Β· type Β· notes, like the linked Google Sheet. Type into the cells, drag frames to reorder, hide or delete from the row
viewing an old draft β read-only
no script loaded
click or drag a PDF to load a script
sizeΞ±stab
βΆ
0.0s
shotβ
v 0/0
describe this space Β· feeds every prompt here
script links
no script text linked. select text in the script and tap "link"
camera
cast
action
shot reference
shot reference
notes
notes
moodboard Β·
generations
β
β
Art is the symbol of the two noblest human efforts: to construct and to refrain from destruction.
β Simone Weil
generate imageβ
options
prompt (editable β written from your shot)
reference package
result
Hit βgenerateβ to create an image from this package.
this shotβs images
edit image with AI
source image
edit instruction
model
The instruction is applied to the source image; the rest is preserved. The result is saved as a new generation on this shot (drag it onto the canvas to use it).
preferences
project
starts once you've saved the project to a folder (Save asks the first time) Β· keeps 3 rotating copies
images
quality
0 to process
max 1400px on longest edge Β· only scales down, never up Β· irreversible
image archive
Restores images from a ZIP exported at compression time. Matches by image ID β reloads into the right shot automatically.
appearance
linked google sheet β experimental, two-way shotlist sync
Columns: ## (shot number) Β· SHOT β camera Β· DESCRIPTION β action Β· SPECIALTY β shot type (dolly / steadicam / aerialβ¦) Β· NOTES β notes. Scene rows: number + slug. Sync pulls sheet edits in (a change on both sides keeps LucaBoard's and tells you), and β with the write endpoint set β pushes the board's shotlist back. Write setup: in the sheet, Extensions β Apps Script, paste the copied script, Deploy β New deployment β Web app, execute as ME, access ANYONE, then paste the /exec URL above. One person per project should own the link.
collaboration
The meeting point for live sessions β it introduces collaborators and relays only when direct P2P fails; project data is never stored on it. Running servers broadcast their address to this site and 'go live' finds them automatically. Start one with the one-line installer in README-RENDEZVOUS.md.
gen ai
looks
A look is a named, project-wide grade/lighting/lens/film-stock recipe. The active look (or a per-scene override) is woven into every shot's prompt for consistency.
providers
The π¬ generate buttons only offer enabled platforms. Nothing enabled = they'll point you back here.
google api β veo video + nano banana images (direct)
Stored in this browser only. Never written to disk or project files.
runway api β gen-4 Β· gemini Β· gpt-image Β· video (one key)
Stored in this browser only β never shared with anyone, never written to disk or project files. Calls route through a pass-through proxy (the key travels per-request; the proxy stores nothing) because Runway's API blocks direct browser calls.
Running from a local file? Start the bundled relay with node relay.mjs and leave this blank.
(none chosen)
Generated MP4s save here. The browser will ask permission once per session. Requires Chrome / Edge / Arc / Brave β Safari is not supported.
requests / minAUTO
Auto-mode (default) picks a starting rate from the selected model (Lite: 8/min Β· Fast: 4/min Β· 3.1/3.0: 2/min) and self-tunes: halves on 429s, nudges up after 10 consecutive successes. Editing this field switches to manual; press "reset to auto" to give the model picker control again.
Every Veo network call (upload, submit, poll, response) is recorded with sanitised payloads. Click "download log" to save a JSON file for debugging.
export storyboard
scenes
scene cast
Casting shapes HOW a character rides into this scene's prompts. Which characters appear in a given shot still follows the shot itself (explicit chips β brush colors β script mentions), with this cast as the fallback. Changes save instantly.
relink stale linesββ navigate Β· Enter = relink Β· click skip to leave stale
reconcile script revision
nothing changes until you apply Β· apply is undoable (βZ)
scene brief
summarybrief changed β re-summarize
"summary" uses the AI-condensed version when available (needs the Google API); until then the full text stands in. Changes save instantly. Shots with edited sticky prompts show a "context changed" pill instead of being overwritten.
fill scene
review batchββ navigate Β· Enter = take Β· R = re-roll
linked scenes
veo queue
Pausing stops releasing new submissions; items already with Veo keep running. Cancelling a "pending" gen abandons the result locally β the server still finishes the job (no quota refund), but the file won't be downloaded.
generate video
start frame
(this shot)
end frame
Both shots' drawings are sent as conditioning images. The model generates a video that animates from the start frame to the end frame. (Forces "use reference image" on; ignores batch mode.)
video generation not configured β set an API key and output folder in preferences.