A browser-based lab for testing AI video prompts one variable at a time. Built for people who are tired of burning credits on prompts that fail and not knowing why.
Try it: open web/index.html in any browser. No install, no API keys, no account. Everything stays on your machine.
Ask anyone who makes AI video for a living and you will hear the same complaint. The prompt fails. The character drifts. The lighting looks wrong. And nobody can tell you which part of the prompt caused it, because everyone changes three or four things between every render.
The fix is boring and it works: change one variable per test round, lock everything else, and run a short check before you commit to a full render. Creators say it all over the place, in threads and on X, and almost nobody does it because nothing enforces it.
PromptLab makes the discipline the path of least resistance. It watches your edits, tells you when you changed one thing and when you changed five, and keeps a history of what you tested so you stop guessing.
- Prompt builder. Nine variable blocks: subject, action, camera move, shot size, lighting, style, mood, duration, negative prompt. Click suggestion chips or type your own.
- Round tracking. Press "Start test round" and PromptLab freezes the current state. From there it flags every block you touch. Change one variable and you get a clean-test verdict. Change several and it calls you out.
- Locking. Lock any block so you cannot accidentally change it mid-round.
- Model formatting. Switch between Kling, Veo, Runway, Luma, and Seedance prompt styles. The same ideas reassemble in each model's preferred structure.
- Test history. Every logged round stores what changed and the prompt you used, in your browser's local storage. Clear it when you want.
- Credits saved counter. Log a clean single-variable test and it counts up. It is a small reward for doing it right, and it adds up fast.
- Clone or download the repo.
- Open
web/index.htmlin your browser. - Build a prompt or hit Reset for starter suggestions.
- Press Start test round, change one thing, press Log this round.
- Copy the prompt, paste it into Kling, Veo, Runway, Luma, or Seedance, and render a short check.
That's the whole loop. Five seconds of discipline per test saves you renders that teach you nothing.
PromptLab/
├── web/index.html the whole app, one file
├── prompts/ model-specific prompt reference cards
├── docs/decision-tree.md which variable to change when something looks wrong
├── examples/ a worked session, round by round
└── README.md
Stuck on a bad render? The docs/decision-tree.md file walks you through it: face keeps changing, motion looks weird, colors are off, style is inconsistent. Each symptom points to the variable you should test next, in order, one at a time.
Does it need an internet connection? No. Open the file and it works. Fonts and icons load from a CDN when you are online and fall back gracefully offline.
Does it send my prompts anywhere? No. There is no backend, no telemetry, no upload. localStorage only, and only on your machine.
Can I add my own model? The model list lives in one object at the top of the script in web/index.html. Add a name and an assembly template, done.
Why is the app one giant HTML file? Because it is a tool for people who copy repos and open files. One file, zero build step, zero dependencies. Open and use.
Open an issue with a prompt pattern you want added, a model you want supported, or a workflow that feels broken. Pull requests are welcome. See CONTRIBUTING.md.
MIT. Use it, fork it, put it on your own profile. If it saves you a few failed renders, that's the point.