Skip to content

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 ​

bash
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 ​

GoalUse When
create-videoOriginal video from a brief
creator-demoZero-key idea → project → storyboard → local review portal demo
copy-referenceAdapt a reference video or ad
presenter-videoBunty, Nex, Davendra, or generic presenter episode
music-videoMulti-shot cinematic or music video planning
character-videoIdentity-locked character ad or episode (locked Go Bananas / Flow character)
ugc-campaignBelief-driven UGC campaign
brand-campaignBrand DNA from a website URL → seed the brief → plan an on-brand campaign
existing-projectContinue a project and get next actions
review-regenerateReview, reroll, or approve scenes
publish-deliverBuild 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.

Studio goals to commands — the eleven vclaw studio goals route through the studio planner (recipes.ts) into a recipe of the underlying vclaw video commands: init, brief, storyboard, assets, readiness, plan, produce/execute, assemble, portal, publish-preview

Examples ​

bash
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.com

Use --write-session to persist the planned handoff under the project:

bash
vclaw studio --dry-run --goal presenter-video --project demo --input deck.pdf --write-session

This 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.

bash
vclaw studio --execute --goal existing-project --project demo

Three modes (you choose at run time) ​

CommandWhat runsCredits
--executeDry. Free steps + spend steps with --dry-run. Pauses at the real director storyboard gate (surfaced as a blocked step).none
--execute --confirm-spendReal 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-storyboardUnattended 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 --execute is provably dry — a spend subcommand (execute/produce/seedance-register-assets/batch-submit/publish-preview/publish-portal-index) lacking --dry-run is refused (blocked-spend), and the dry steps keep --dry-run.
  • Real spend requires the explicit --confirm-spend; unattended real spend requires both --confirm-spend and --auto-approve-storyboard (never accidental).
  • Without --auto-approve-storyboard the runner strips VIDEOCLAW_APPROVE_STORYBOARD from 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 deprecated approve subcommand) cannot be stripped, so it is refused (blocked-approval) unless both --confirm-spend and --auto-approve-storyboard made 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).

Built to be driven by agent hosts like Claude Code, Claude Desktop, or Codex · Source-available, commercial use requires a paid license.