Studio
vclaw studio is the human-friendly planning front door for VideoClaw.
It does not replace the low-level CLI. It builds a production plan from a goal, then shows the exact commands and artifacts that will be used.
Start With A Dry Run
vclaw studio --dry-run --goal create-video --project demo --intent "Create a 30 second product ad"Studio is plan-only by default. Planning does not call providers, run FFmpeg, or spend credits; execution is always a separate explicit action.
Goals
| Goal | Use When |
|---|---|
create-video | Original video from a brief |
creator-demo | Zero-key idea → project → storyboard → local review portal demo |
copy-reference | Adapt a reference video or ad |
presenter-video | Bunty, Nex, Davendra, or generic presenter episode |
music-video | Multi-shot cinematic or music video planning |
character-video | Identity-locked character ad or episode (locked Go Bananas / Flow character) |
ugc-campaign | Belief-driven UGC campaign |
brand-campaign | Brand DNA from a website URL → seed the brief → plan an on-brand campaign |
existing-project | Continue a project and get next actions |
review-regenerate | Review, reroll, or approve scenes |
publish-deliver | Build and publish a portal |
brand-campaign (aliases: brand, website) takes the site URL via --input; its plan chains brand-extract → brief --from-brand-dna → storyboard → readiness.

Examples
vclaw studio --dry-run --goal presenter-video --project demo --input deck.pdf --client "Acme"
vclaw studio --dry-run --goal music-video --project dhuaan --duration 60
vclaw studio --dry-run --goal existing-project --project demo
vclaw studio --dry-run --goal publish-deliver --project demo --client "Acme"
vclaw studio --dry-run --goal brand-campaign --project demo --input https://acme.comUse --write-session to persist the planned handoff under the project:
vclaw studio --dry-run --goal presenter-video --project demo --input deck.pdf --write-sessionThis writes projects/<slug>/artifacts/studio-session.json.
Execution (--execute)
By default Studio is plan-only — it prints the commands but runs nothing. Add --execute to run the emitted plan step-by-step. Studio does not re-implement any orchestration; it shells out to the same vclaw video … commands the plan already lists, so the plan stays the source of truth.
vclaw studio --execute --goal existing-project --project demoThree modes (you choose at run time)
| Command | What runs | Credits |
|---|---|---|
--execute | Dry. Free steps + spend steps with --dry-run. Pauses at the real director storyboard gate (surfaced as a blocked step). | none |
--execute --confirm-spend | Real render, human-gated. Promotes the dry spend steps to real (strips --dry-run). The render still needs the storyboard approved out-of-band — the runner does not auto-approve. | spends on approval |
--execute --confirm-spend --auto-approve-storyboard | Unattended render. Also sets VIDEOCLAW_APPROVE_STORYBOARD, so a single command runs the whole pipeline through the real render with no human checkpoint. | spends unattended |
Credit-safety guarantees:
- The default
--executeis provably dry — a spend subcommand (execute/produce/seedance-register-assets/batch-submit/publish-preview/publish-portal-index) lacking--dry-runis refused (blocked-spend), and the dry steps keep--dry-run. - Real spend requires the explicit
--confirm-spend; unattended real spend requires both--confirm-spendand--auto-approve-storyboard(never accidental). - Without
--auto-approve-storyboardthe runner stripsVIDEOCLAW_APPROVE_STORYBOARDfrom the child env, so the director gate keeps blocking a real render. A step that carries the approval in its own argv (produce --approve, or the deprecatedapprovesubcommand) cannot be stripped, so it is refused (blocked-approval) unless both--confirm-spendand--auto-approve-storyboardmade the unattended render explicit. - Fails fast — a blocked or failed step stops the run with no partial spend.
--from-step <id>resumes after you have approved the storyboard out-of-band.
The result is reported under an execution block in the JSON output: the mode (dry / confirm-spend / auto-render), per-step status (ran / blocked-spend / blocked-approval / blocked / failed / skipped-before-resume), the stopReason, a hint (in dry mode) on how to render for real, and any surfaced storyboard markdownPath.
Creator UI execution
vclaw video creator-ui --port 0 exposes the same Studio contract on an authenticated loopback-only browser surface. Planning returns a content digest. The separate execution action rebuilds the plan from current project state and rejects an unknown, expired, or changed digest.
The browser offers only dry and confirm-spend modes. Confirmed execution requires the exact spend estimate shown with the plan. The UI request contract has no auto-approval field and always removes VIDEOCLAW_APPROVE_STORYBOARD, so storyboard approval remains an explicit out-of-band checkpoint.
Agent Contract
When stdout is piped, Studio outputs JSON. Progress and warnings stay out of stdout. The plan-only default performs no provider work; --execute runs only dry-run/free steps and pauses at approval/spend points (see above).
