Write a video as a plain .txt file: tags set each scene's voice, footage, graphics, sounds and the steps Otto runs, and the file becomes a storyboard.
A Vidmoat Script is an ordinary text file. Plain lines are what is said; tags in angle brackets say how each scene is made. Open it in the editor, send it to a Vidmoat bot, or pass it to the API, and it becomes a storyboard: one card per scene, with its voice, footage, graphics and the steps Otto will run.
Nothing runs when a script is read. You see the scenes, their steps and the price first, then build.
launch.txt
<scene title="Hook" seconds="4">
<voiceover emotion="excited">You're paying $225 for an edit you could get for ten.</voiceover>
<onscreen>$10 vs $225</onscreen>
<footage stock>close-up of a hand counting cash</footage>
<sfx>whoosh</sfx>
</scene>
<scene title="The trick">
<voiceover>I post two videos a day, and two things make them look expensive.</voiceover>
<footage media="interview.mp4" />
<insert component="stat-counter" on="two videos">2 videos a day</insert>
<sfx on="two">pop</sfx>
<agent>Cut this to the strongest 8 seconds.</agent>
</scene>
<music>calm lo-fi, ducked under the voice</music>
<captions preset="Bold Yellow" />
<insert component="stat-counter" on="two videos">2 videos a day</insert>
A designed graphic on what is said, the way a paid editor packages a talking head. component is one of stat-counter, keyword, checklist, chat-bubbles, search-bar, proof-card, icon-card or quote-card (leave it out and Otto chooses); on is the spoken words it lands on. Every figure and word on it is checked against what the speaker actually says, so a script cannot put a claim on screen that is not said.
<sfx>whoosh</sfx>, <sfx on="two">pop</sfx>
A sound effect from the stock library: on each graphic in the scene, or on one spoken word.
<agent>
An instruction Otto carries out on that scene only. It cannot change other scenes.
<cut />, <cut fillers />
Remove silences, or filler words, from the scene's speech.
<review />
Otto reviews the scene and reports what is wrong with it.
The editor, on the web and in the phone app: Storyboard, then Split a script into scenes. Paste it or press Open a .txt. What the tags make, and anything not used, is shown before you press Make scenes from the tags.
Telegram, WhatsApp and Discord: send the .txt file to the Vidmoat bot in a private chat. It makes the storyboard in a new project and replies with its scenes, anything it could not use, and the link to open and build it.
MCP: create_storyboard with from: { script: "..." }.
API: POST /v1/projects/{id}/storyboard with the same body. The answer carries script.problems (line and reason) and script.notes.