Repository navigation
Home
The VideoExpress Scripting skill turns an idea, a script or a song into a finished multi-clip video in VideoExpress 3.5 and later. It plans the piece with you, writes a prompt pack (a start-image prompt and a paste-ready multishot video prompt for every clip), and then helps you generate, fix and assemble the clips. It can also drive VideoExpress for you in the browser.
See all styles: 🎬 Existing presets reel · 🎬 v2.2 new styles reel · 📺 Full playlist · 📚 Style catalogue
🎓 New here? Watch Getting Started with the VideoExpress Scripting Skill (10 min): install, your first project, the prompt pack and browser control. Then read the Barnaby and Pip prompt pack, the complete pack behind the video's demo.
💬 Need help? Join the community chat on Facebook Messenger, or see Support.
- Requirements and Recommendations (read first)
- Install
- The journey from idea to finished video
- Choose how to start
- Intake: the decisions
- Bible and prompt pack
- Generate: choose an operating mode
- Fixing problems
- Finish and export
- Quick tasks without a full project
- Tips that save takes
▶ Watch in the Getting Started video: Installing (3:20)
Before you install: check Requirements and Recommendations. A paid plan isn't strictly required, but a full production with browser control can exhaust a free plan's limits, and paid models write more detailed, better-informed prompts.
| Platform | How |
|---|---|
| Claude Desktop (recommended) | Add this repo as a plugin marketplace: Customize → Personal plugins → + → Browse plugins → Add marketplace, enter ratava/videoexpress-scripting-skill, click Sync, then install VideoExpress Scripting. Step-by-step with screenshots: Install Claude Desktop. Updates arrive automatically while Sync automatically is left on. |
| Claude web or mobile | Download videoexpress-scripting-claude.zip from the releases page and upload it under Customize → Skills (turn on Code execution and file creation under Settings → Capabilities first). |
| ChatGPT (recommended) | Add this repo as a plugin marketplace: Settings → Plugins → Add → Add a Marketplace, source ratava/videoexpress-scripting-skill, then install VideoExpress Scripting from the Personal tab. Step-by-step with screenshots: Install ChatGPT. |
| ChatGPT without plugins | Upload videoexpress-scripting-chatgpt.zip in ChatGPT's skills settings (or paste SKILL.md into a Project's instructions if your plan has no skills yet). |
| Grok | Ask Grok to install the skill from its GitHub folder link (free trial and paid plans only); answer yes to regular update checks. Paste-ready message and steps: Install Grok. |
Companion skill: VideoExpress Prompt writes a single image or clip prompt with the same rules. It installs from the same marketplace (or by asking Grok to install it): Install VideoExpress Prompt.
For the assisted and automatic modes you also need a browser-capable assistant: Claude in Chrome for Claude, ChatGPT agent mode, or, for Grok, a browser plugin in Grok Build. Planning and prompt writing work without it.
Start a conversation with something like "I've got an idea for a VideoExpress video. Help me plan it." The skill takes over from there.
flowchart TD
A["You: an idea, a script, images, or a song"] --> B["Choose how to start"]
B --> C["Intake: decision rounds with suggestions"]
C --> D["Feasibility check: what VE does well and badly"]
D --> E{"Development tests? (optional)"}
E -- yes --> F["Style / character / motion / sound / lip-sync tests"]
F --> G
E -- no --> G["Sign off: brief, Core Bible, script, production plan"]
G --> H["Prompt pack: start images + multishot prompt per clip"]
H --> I{"Who operates VideoExpress?"}
I -- "You" --> J["Manual mode: paste prompts, pick takes"]
I -- "Claude, you pick" --> K["Assisted mode: Claude drives, you approve every take"]
I -- "Claude picks" --> L["Automatic mode: one take, Claude reviews it, re-rolls if it fails"]
J --> M["Review takes"]
K --> M
L --> M
M --> N{"Problem in a take?"}
N -- yes --> O["Diagnose mechanism, fix globally, sweep clips"]
O --> H
N -- no --> P["Save last frame, add to timeline"]
P --> Q{"More clips?"}
Q -- yes --> H
Q -- no --> R["Edit: trims, captions, transitions, music"]
R --> S["Export the finished video"]
Every arrow that crosses a sign-off is a gate: nothing is generated until you have approved the plan, and nothing is chained or kept until you have picked it.
▶ Watch in the Getting Started video: Getting started (5:20)
The skill opens with one question card: "How do you want to start?" Each answer takes a different route into the same production pipeline.
flowchart LR
S(["How do you want to start?"]) --> A1["1. A concept or idea"]
S --> B1["2. A full or partial script"]
S --> C1["3. Existing images or footage"]
S --> D1["4. Something else"]
A1 --> PA["Path A: concept first"]
B1 --> PB["Path B: script first"]
C1 --> PC["Path A, with your images as fixed references"]
D1 --> PD["Claude asks, then routes to A or B"]
PA --> J(["Decision rounds → Core Bible → prompt pack"])
PB --> J
PC --> J
PD --> J
flowchart TD
A["Describe the idea in a sentence or two, plus anything you already know"] --> B["Claude reflects it back as 2–3 ways to realise it in VE, with clip cost and risk"]
B --> C["Decision rounds (section 4), each with a suggested default"]
C --> D{"Who writes the script?"}
D -- "Claude" --> E["Scene table and beat outline → review → full script → review"]
D -- "Together" --> E2["Scene by scene, review each"]
D -- "You" --> E3["You write, Claude adapts to VE clips"]
E --> F["Feasibility check"]
E2 --> F
E3 --> F
F --> G["Core Bible built from decisions and script"]
G --> H["Optional development tests"]
H --> I["Production plan → prompt pack"]
flowchart TD
A["Paste, upload or link the script (an outline or dialogue only is fine)"] --> B["Claude extracts characters, locations, props, lines, sound cues, tone"]
B --> C["Gaps and contradictions flagged"]
C --> D["One summary card to confirm what the script already decides"]
D --> E["Only the decision rounds the script doesn't answer"]
E --> F["Adapt to VE: clips of 3–10 s; dialogue method per clip; risky beats split or reworked"]
F --> G["Review round on the clip breakdown"]
G --> H["Core Bible → optional tests → production plan → prompt pack"]
Same as Path A, but Claude starts by reading your images (a character, a location, a storyboard) and treats them as fixed references: they become Consistent Character slots, start images, or the basis for the bible blocks.
Questions come as tappable cards, one topic at a time, each with a one-line recommendation. Anything you've already said is confirmed in a summary rather than asked again, and a running "decisions so far" list lets you correct anything.
flowchart LR
A["Delivery: use, platform, aspect ratio, length, audience, tone"] --> B["Look: art style, palette, camera language, on-screen text"]
B --> C["Characters and world: cast, Consistent Character, designs, references, locations, props"]
C --> D["Sound and dialogue: production sound, music, lip-sync method, narration, voices"]
D --> E["Script: who writes, structure, transitions"]
E --> F["Logistics: generation budget, takes per clip, who operates VE, chaining, editing, review cadence"]
Art style. Claude offers three styles that suit the concept, each with strengths and risks. All 43 supported styles, with demo clips, are in the style catalogue.
Feasibility check. Before the bible is written, the plan is compared against what VideoExpress does well (one clear subject, steady camera, light changes, two-character staging, short dialogue), what needs care (long chains, POV, night and neon, crowds), and what it does badly (text in footage, many-limbed characters, complex fights in one clip). Workarounds are proposed before anything is committed.
Development tests (each a yes/no card, one take each): style image, character reference image on grey, location image, motion clip, sound clip, lip-sync clip. Wording that worked is folded back into the bible.
Sign-off outputs: the project brief, the Core Bible, the script and clip breakdown, and the production plan.
▶ Watch in the Getting Started video: The prompt pack (6:16)
📄 A complete example: the Barnaby and Pip prompt pack: the brief, bible blocks, every start-image and video prompt for a ten-clip story, with the images they produced.
The Core Bible holds the locked text that every prompt reuses word for word: the style anchor and style line, character and outfit blocks, location blocks, props and effects, voices, the sound palette, and the fixed left/right layout for multi-character scenes.
The prompt pack is a living document:
- Overview: scene table, references per clip, the paste rule (only text inside code blocks is pasted).
- Global rules for this project.
- Bible.
- Per scene: start-image prompts, then each clip's header (clip · time range · VE length · FRESH from image X or CHAIN from clip N · role) and its full multishot prompt.
- Edit, timing and QC: trims, transitions, the per-take QC checklist, open items.
Each video prompt uses VE's multishot tags: [REFERENCE USE], [IDENTITY / CONTINUITY], [SCENE], timed [ACTION 0-5s] segments, [CAMERA], [LIGHT AND IMAGE], [PRODUCTION SOUND] and [NEGATIVES]. Stylised looks open with a style anchor sentence and close every [LIGHT AND IMAGE] with the style's stability line.
flowchart LR
S["Scene"] --> I1["Start image prompt (FRESH)"]
I1 --> C1["Clip 1: multishot prompt"]
C1 --> F1["Last frame saved"]
F1 --> C2["Clip 2: CHAIN from clip 1"]
C2 --> F2["Last frame saved"]
F2 --> C3["Clip 3: CHAIN, or FRESH start image at a hard beat"]
Chaining gives smoother continuity but drift accumulates; fresh start images give control. The usual plan mixes both: a fresh start at each scene and at difficult beats.
▶ Watch in the Getting Started video: Making the clips (6:52)
| Setting | Rule |
|---|---|
| Use Creative mode | On for every image |
| Automatically enhance my image prompt | Off (it re-ticks itself; check before every image) |
| Automatically enhance my video prompt | Never on: it rewrites the prompt and drops the bible |
| Advanced Mode + Manual Video Length | On; slider set to the clip's length |
| Use Consistent Character | On for clips with the reference characters, off for empty or POV shots |
| Video Only (No Sound) | Off when the prompt has a [PRODUCTION SOUND] block |
| Lipsync HD Video | Only for Lipsync-dialog clips; set the length first |
| Share this in the public gallery | Off unless you want it |
flowchart TD
A["Open Create Video From Prompt"] --> B["Paste the start-image prompt, check settings, Create Image"]
B --> C{"Pick a candidate (2 per pass)"}
C -- "neither" --> B
C -- "left or right" --> D["Save the image to My AI Images"]
D --> E["Paste the clip's video prompt exactly, set length and switches"]
E --> F["Create Video once per take (e.g. 5 takes, ~8 s apart)"]
F --> G["Wait for renders, refresh My AI Videos"]
G --> H{"A good take?"}
H -- "no" --> X["Send Claude the frame or describe the fault"]
X --> Y["Claude diagnoses and revises the prompt"]
Y --> E
H -- "yes" --> I["Save Last Frame (unique name) → Add to Timeline → Save project"]
I --> J{"Next clip chains?"}
J -- "yes" --> K["Use from Library → pick the saved last frame"]
K --> E
J -- "no, fresh" --> B
▶ Watch in the Getting Started video: Letting Claude drive (7:33)
Claude operates app.videoexpress.ai in your browser with Claude in Chrome (or ChatGPT agent mode). It pastes prompts exactly, sets every switch, submits the takes and manages the library and timeline. You stay in charge of every creative choice: Claude stops at each checkpoint with a question card. To hand the take picks to Claude as well, use the automatic mode.
Ask, for example: "Open VideoExpress and generate clips 1 to 5 from my approved script, five takes each, stopping for me to pick each take."
Session setup
flowchart TD
A["Claude asks: one tab or two? (two is normal)"] --> B["Creation tab: Create with AI → Create Video From Prompt, left open all session"]
A --> C["Review tab: open or create the project, Save it with a name"]
B --> D["Settings checked by reading the page, not by screenshot"]
C --> E["Media Library → My AI Videos, sorted Newest"]
D --> F(["Ready for the per-clip cycle"])
E --> F
Per-clip cycle
flowchart TD
A["Load the opening image: new start image, or the saved last frame by name"] --> B["Claude inspects the frame against the plan"]
B --> C{"Checkpoint: image OK?"}
C -- "regenerate" --> A
C -- "use it" --> D["Set Consistent Character and reference slots"]
D --> E["Enter the prompt with its caption label; verify a unique phrase is present"]
E --> F["Verify length, Video Only, Lipsync, sharing, enhance-off"]
F --> G["Submit takes ~8 s apart, recording grid positions"]
G --> H["Confirm the tiles exist (rendering %)"]
H --> I{"Card: Have the generations finished?"}
I -- "not yet" --> I
I -- "yes" --> J{"Card: which take? (check for drift)"}
J -- "none" --> K["Diagnose and revise (section 7)"]
K --> E
J -- "take N" --> L["Save Last Frame with a unique name"]
L --> M["Add to Timeline → Save project"]
M --> N{"After clip 1 (and 2): harden prompts from a real frame?"}
N -- "yes" --> O["Compare frame to bible; update blocks for clips not yet made"]
O --> P(["Next clip"])
N -- "later" --> P
Why it pauses between submit and review: renders take minutes and the assistant can only act while replying, so it submits, confirms the tiles and asks whether they've finished, rather than waiting inside a reply.
Recovery is built in: after a page reload Claude reopens the saved project and checks the timeline count; if the window shrinks or a tab changes, it stops and asks; if you fixed something yourself, it carries on from your state.
▶ Watch in the Getting Started video: Clip review (8:05)
The same session setup and per-clip cycle as the assisted mode, but you hand the take picks to Claude. Claude submits one take per clip, runs a Clip review on it when it finishes (twelve frames from start to end and a spectrogram of the soundtrack, checked against the prompt beat by beat), keeps the take if it matches, and re-rolls it if it fails. You review the finished timeline. The Barnaby and Pip demo in the video was made this way; its full prompt pack is public.
Ask, for example: "Generate clips 1 to 8 from my approved script, one take each. Review each take yourself and re-roll any that fail."
The review sees sampled frames, not motion, and doesn't check lip-sync, so watch the result before you export. You can take back any pick at any point, and you can work in the same tabs: Claude never undoes changes you make; it reports what it finds and asks.
flowchart LR
Q{"Does the clip have action besides talking?"} -- yes --> A["Method A: quoted lines in the multishot prompt; set the length by hand (~2 s per short line)"]
Q -- "no, talking heads" --> B["Method B: Lipsync HD dialog; up to 2 actors, each line under 100 characters; timing automatic"]
Two speakers per clip, maximum. In clips without dialogue, mouths stay closed or out of view.
▶ Watch in the Getting Started video: When a take goes wrong (7:15)
Report failures one at a time, ideally with a frame. The skill diagnoses the mechanism, fixes it once in the bible or rules, and sweeps every clip not yet generated.
flowchart TD
A["You report a fault, with a frame if possible"] --> B["Claude matches it to the failure → cause → rule table"]
B --> C["Fix applied globally (bible block or rule)"]
C --> D["Sweep: every ungenerated clip with the same risk updated"]
D --> E["Retake the failed clip"]
E --> F{"Fixed after two rounds?"}
F -- yes --> G(["Continue"])
F -- no --> H["Isolation test: fixed base prompt, one variable per take, plus a control take"]
H --> I["Keep what worked; record it"]
I --> G
Common faults it handles: camera direction flipping, outfit and accessory drift, environments changing, stylised clips turning realistic, scenes darkening, text appearing in footage, props changing shape, actions happening late or in place, background hiss and unwanted music. If a sequence drifts too far from the concept, the skill will say so and offer to restart it rather than patch clip by clip.
flowchart LR
A["Timeline of kept takes"] --> B["Trim heads and tails; retime to the music or narration"]
B --> C["Titles and captions with Text Animations / Automatic Captions (never generated in-clip)"]
C --> D["Transitions: cuts, match cuts, fades"]
D --> E["Music, narration, sound mix"]
E --> F["Filters and final QC"]
F --> G["Export Video"]
Save the project after every couple of timeline additions; only a saved timeline survives a reload.
You don't have to run intake to use the skill:
- "Write a multishot prompt for this start frame: the camera should orbit her while she walks through the market."
- "Give me an image and clip prompt for Bella in the Linocut style."
- "My chained clips keep reversing camera direction. How do I fix it?"
- "Script a ten-clip short in claymation."
For a single prompt, Claude reads only the template, the prompt rules and whichever reference or style sheet the clip needs.
- Match the frame, not the plan. Write each prompt against the image actually loaded.
- Paste bible blocks word for word; when a start image nails the look, reuse that image prompt's wording.
- End chained clips on full-body framing and check the cut frame before chaining.
- Keep effects adding light, never replacing it; restate brightness in the last segment.
- Transient sounds with silence between them, no ambient beds.
- One clear beat and one camera move per segment.
- Use a development test before committing to a style or a hard action beat.
Repository: https://github.com/ratava/videoexpress-scripting-skill · Licence: CC BY-NC 4.0 · Independent community skill, not affiliated with VideoExpress or PaulPonna.com.
See all styles