videoclaw 3.0.0-alpha.11 → 3.0.0-alpha.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/README.md +16 -16
  2. package/dist/cli/vclaw.js +2 -2
  3. package/dist/cli/vclaw.js.map +1 -1
  4. package/dist/video/cli-schema.js +10 -10
  5. package/dist/video/cli-schema.js.map +1 -1
  6. package/dist/video/execution-adapter.d.ts +39 -1
  7. package/dist/video/execution-adapter.d.ts.map +1 -1
  8. package/dist/video/execution-adapter.js +67 -8
  9. package/dist/video/execution-adapter.js.map +1 -1
  10. package/dist/video/execution-runtime.d.ts +2 -1
  11. package/dist/video/execution-runtime.d.ts.map +1 -1
  12. package/dist/video/execution-runtime.js +1 -1
  13. package/dist/video/execution-runtime.js.map +1 -1
  14. package/dist/video/provider-platform/registry.js +10 -10
  15. package/dist/video/provider-platform/registry.js.map +1 -1
  16. package/dist/video/provider-status.d.ts +6 -1
  17. package/dist/video/provider-status.d.ts.map +1 -1
  18. package/dist/video/provider-status.js +71 -5
  19. package/dist/video/provider-status.js.map +1 -1
  20. package/dist/video/types.d.ts +7 -0
  21. package/dist/video/types.d.ts.map +1 -1
  22. package/docs/AGENT_QUICKSTART.md +33 -18
  23. package/docs/CAPABILITIES.md +9 -9
  24. package/docs/PROVIDER_PLATFORM.md +5 -4
  25. package/docs/RELEASE_READINESS.md +16 -3
  26. package/engines/seedance-direct/README.md +44 -7
  27. package/engines/seedance-direct/bootstrap/import_cookies.py +58 -0
  28. package/engines/seedance-direct/bootstrap.sh +11 -6
  29. package/package.json +1 -1
  30. package/src/video/cli-schema.ts +10 -10
  31. package/src/video/execution-adapter.ts +98 -7
  32. package/src/video/execution-runtime.ts +3 -0
  33. package/src/video/provider-platform/registry.ts +10 -10
  34. package/src/video/provider-status.ts +88 -6
  35. package/src/video/types.ts +7 -0
package/README.md CHANGED
@@ -231,7 +231,7 @@ approval for already-reviewed projects; for director storyboard-image handoffs,
231
231
  use `review-ui` or `review-autopilot` so `publishReady` is derived from locked
232
232
  scene candidates, artifact-backed 4K stills, and final assembly approvals.
233
233
 
234
- Full operator guide: [`docs/PRODUCTION_WORKFLOW.md`](https://videoclaw-docs.vercel.app/reference/PRODUCTION_WORKFLOW).
234
+ Full guide: [`docs/PRODUCTION_WORKFLOW.md`](https://videoclaw-docs.vercel.app/reference/PRODUCTION_WORKFLOW).
235
235
  Handoff checklist: [`docs/OPERATOR_HANDOFF.md`](https://videoclaw-docs.vercel.app/reference/OPERATOR_HANDOFF).
236
236
 
237
237
  ---
@@ -269,7 +269,7 @@ See [`docs/AGENT_INTEGRATION_RESEARCH.md`](https://videoclaw-docs.vercel.app/ref
269
269
 
270
270
  The system is layered: a thin command-line front, a domain core that does the real work, and an adapter tier that talks to the AI providers. Each stage writes to the artifact/checkpoint/event ledger on disk.
271
271
 
272
- <p align="center"><img src="./docs/assets/diagram-architecture.jpg" alt="videoclaw architecture layers — operator/agent at the top, CLI dispatching into domain modules, artifacts/checkpoints/events fanning out, execution runtime feeding the adapter layer, adapter layer branching into native transport, command shim, and custom adapter" width="100%" /></p>
272
+ <p align="center"><img src="./docs/assets/diagram-architecture.jpg" alt="videoclaw architecture layers — you or an agent at the top, CLI dispatching into domain modules, artifacts/checkpoints/events fanning out, execution runtime feeding the adapter layer, adapter layer branching into native transport, command shim, and custom adapter" width="100%" /></p>
273
273
 
274
274
  <details>
275
275
  <summary>Show diagram source (Mermaid)</summary>
@@ -332,7 +332,7 @@ flowchart LR
332
332
  ingest --> assets([assets])
333
333
  assets --> review([review])
334
334
  review --> publish([publish])
335
- execStatus -. operator .-> cancel([execute-cancel])
335
+ execStatus -. you .-> cancel([execute-cancel])
336
336
  ```
337
337
 
338
338
  </details>
@@ -540,16 +540,16 @@ Two recent additions are worth calling out because they fix the two things that
540
540
  - **Diegetic stills** (`vclaw video gen-image`) — generate an in-world **prop**, on-screen **screen** (UI/dashboard), or **overlay** graphic (e.g. a "SYSTEM COMPROMISED" alert) into `assets/props/`. Three backends via `--backend`: **gobananas** (default, `GO_BANANAS_API_KEY`, no OpenAI key), **openai** (gpt-image), and **flow** — Google Flow via useapi.net (`USEAPI_API_TOKEN` + `USEAPI_ACCOUNT_EMAIL`): `nano-banana-2-lite` / `nano-banana-2` / `nano-banana-pro` auto-selected by reference count (the retired `imagen-4` and `nano-banana` ids still map to the current models), repeated `--ref` (`reference_1..10`, local paths upload first) + `--character` (`character_1..7`, names resolve via `flow-characters.json`) slots, `--count`/`--seed`, and inline `@reference_N`/`@character_N` prompt markers validated **before any upload or spend**. Per-kind render directives (screens/overlays keep text, props suppress it); `--dry-run` prints the composed request with no spend. Composite it onto footage with the assemble overlay builders. Full guide: [`docs/CLI_REFERENCE.md`](https://videoclaw-docs.vercel.app/reference/CLI_REFERENCE).
541
541
  - **Motion-graphics overlays** (`vclaw video overlay`) — composite a graphic onto a clip (time-gated, faded, positioned — pairs with `gen-image` to drop a generated screen/alert onto footage, **font-free + real-render validated**), or burn a pulsing `--alert` / boxed `--lower-third` caption (FFmpeg `drawtext`, needs a libfreetype build). `--dry-run` prints the planned ffmpeg command. Full guide: [`docs/CLI_REFERENCE.md`](https://videoclaw-docs.vercel.app/reference/CLI_REFERENCE).
542
542
  - **Motion-overlay reels** (`vclaw video motion-overlay`) — turn an existing **talking-head video** into a reel with **motion-graphics overlays synced to the speech** via Google Flow's **Omni Flash V2V** (kinetic typography / icons / metaphors painted on the footage, original voice preserved). Plan/dry by default — ingest → Gemini STT (or `--transcript`) → sentence-boundary slice into ≤10s takes → per-take overlay-prompt composition → work folder + manifest + `--preview` review surface, **no spend**. `--execute --confirm-spend` renders each take (V2V → audio-restore → clip-stitch). Four layouts (`split` / `overlay` / `motion-only` / `avatar-host`); the `avatar-host` layout fills the frame with an **identity-locked character host** (go-bananas `generate_with_character` → Veo I2V) and needs `--gb-character <Name:ID>`. Full guide: [`docs/MOTION_OVERLAY.md`](https://videoclaw-docs.vercel.app/reference/MOTION_OVERLAY).
543
- - **Style-locked motion graphics** (`vclaw video mograph-sheet` / `mograph-pack` / `mograph-render` / `mograph-logos`) — generate **fleets of explainer B-roll clips that share one look with a shared visual reference**. A **motion sheet** (master style-board image + ≤120-word style lock, persisted as `artifacts/motion-sheet.json`) locks the visual system ONCE; a **motion pack** turns the VO into time-coded, **action-only** blocks tagged P1/P2/P3, gated by an anti-drift lint (style words and hex codes are banned from choreography). `mograph-render` is plan-only — it assembles `style lock + SHOT + AUDIO + AVOID` per block and compiles a **batch-queue manifest** for `batch-submit`/`batch-monitor` (free explore lane by default); v2v modes route to omni-flash. Clips carry **sound design only** (never music/VO — they sit under your own narration). Full guide: [`docs/MOGRAPH.md`](https://videoclaw-docs.vercel.app/reference/MOGRAPH).
543
+ - **Style-locked motion graphics** (`vclaw video mograph-sheet` / `mograph-pack` / `mograph-render` / `mograph-logos`) — generate **fleets of explainer B-roll clips that share one look with a shared visual reference**. A **motion sheet** (master style-board image + ≤120-word style lock, persisted as `artifacts/motion-sheet.json`) locks the visual system ONCE; a **motion pack** turns the VO into time-coded, **action-only** blocks tagged P1/P2/P3, gated by an anti-drift lint (style words and hex codes are banned from choreography). `mograph-render` is plan-only — it assembles `style lock + SHOT + AUDIO + AVOID` per block and compiles a **batch-queue manifest** for `batch-submit`/`batch-monitor` (the free Runway explore route by default); v2v modes route to omni-flash. Clips carry **sound design only** (never music/VO — they sit under your own narration). Full guide: [`docs/MOGRAPH.md`](https://videoclaw-docs.vercel.app/reference/MOGRAPH).
544
544
 
545
545
  - **Music videos** (`vclaw video music-video`) — the **vocal-synced, beat-exact assembler**. From a hand-authored config (song + clip registry + B-roll pools + an explicit vocal map *or* a transcript it auto-classifies into rap / hook / instrumental / outro by **word density**), it pins each performer to **their own vocal** time-aligned across B-roll cutaways (lips stay locked to the muxed song), cuts every segment **frame-exact** (`-frames:v`, never `-t`, so there is **zero cumulative drift**), then concats + applies one grade pass + muxes the song. **Fully local — ffmpeg only, no provider, no spend.** Plan/dry by default; `--execute` renders and asserts the built master matches the plan within one frame. Full guide: [`docs/CLI_REFERENCE.md`](https://videoclaw-docs.vercel.app/reference/CLI_REFERENCE).
546
546
 
547
547
  - **Music-video titles** (`vclaw video title-card`) — burn the **titles you see in music videos** (a faded **lower-third** + a centred **end card** that holds to EOF) onto a finished cut. Text is rasterized via **Pillow + RAQM**, so it works on **any ffmpeg build** (no libfreetype) and **any script** — including **Devanagari/Arabic** (vowel marks shape + stack correctly). Each card is a looped PNG input so delayed alpha fades animate. Fully local, no spend; `--dry-run` plans, omit to render. Full guide: [`docs/CLI_REFERENCE.md`](https://videoclaw-docs.vercel.app/reference/CLI_REFERENCE).
548
548
 
549
- - **HD finish / upscale** (`vclaw video finish`) — upscale a rendered cut to a clean HD master via **Topaz** (hosted Proteus/Gaia/Starlight through the apiz/xskill aggregator, or a local Topaz CLI), **Magnific Video Upscaler Precision** (`--backend magnific-precision`, direct Magnific REST, `--target-resolution 1k|2k|4k`), or **free Runway Topaz 4K** (`--backend runway-topaz-free`, useapi `exploreMode` — $0 on a Runway Unlimited plan; chunks the source at the 40 s cap and re-muxes the original audio). Magnific accepts MP4/MOV/AVI/WebM/MKV and ffprobe-preflights every input against its limits (≤15 s / ≤450 frames / ≤150 MB / ≤4K), failing fast unless `--normalize` re-encodes to fit. The **anti-plastic** "detail-not-sharp" recipe (denoise + halo off, film grain kept + clamped to the real 0.1 cap, detail recovery high) avoids waxy skin. Hosted backends are **paid** → refuses without `--confirm-spend` (`--dry-run` plans free); `topaz-local` is free. Hosted needs `APIZ_API_KEY`/`XSKILL_API_KEY` (Topaz) or `MAGNIFIC_API_KEY` (Magnific). Full guide: [`docs/CLI_REFERENCE.md`](https://videoclaw-docs.vercel.app/reference/CLI_REFERENCE).
549
+ - **HD finish / upscale** (`vclaw video finish`) — upscale a rendered cut to a clean HD master via **Topaz** (hosted Proteus/Gaia/Starlight through the apiz/xskill service, or a local Topaz CLI), **Magnific Video Upscaler Precision** (`--backend magnific-precision`, direct Magnific REST, `--target-resolution 1k|2k|4k`), or **free Runway Topaz 4K** (`--backend runway-topaz-free`, useapi `exploreMode` — $0 on a Runway Unlimited plan; chunks the source at the 40 s cap and re-muxes the original audio). Magnific accepts MP4/MOV/AVI/WebM/MKV and ffprobe-preflights every input against its limits (≤15 s / ≤450 frames / ≤150 MB / ≤4K), failing fast unless `--normalize` re-encodes to fit. The **anti-plastic** "detail-not-sharp" recipe (denoise + halo off, film grain kept + clamped to the real 0.1 cap, detail recovery high) avoids waxy skin. Hosted backends are **paid** → refuses without `--confirm-spend` (`--dry-run` plans free); `topaz-local` is free. Hosted needs `APIZ_API_KEY`/`XSKILL_API_KEY` (Topaz) or `MAGNIFIC_API_KEY` (Magnific). Full guide: [`docs/CLI_REFERENCE.md`](https://videoclaw-docs.vercel.app/reference/CLI_REFERENCE).
550
550
  - **Image upscale** (`vclaw video image-ops --op upscale`) — still-image upscaling 2×–16× via **Magnific's image upscaler** (`image-upscaler-precision-v2`, live-verified). Local image is base64-encoded inline; an `http(s)` URL is passed through. `--logo-safe` keeps flat graphics/text crisp without hallucinated texture. **Paid** → `--confirm-spend` (`--dry-run` plans free); needs `MAGNIFIC_API_KEY`.
551
551
 
552
- - **Audio-driven lip-sync** (`vclaw video lipsync`) — a **still/keyframe + a vocal track** → a **lip-synced talking-head clip** via **OmniHuman v1.5** (apiz/xskill). Uploads image+audio → submits → awaits → downloads → **normalizes** to CFR fps + even dims (OmniHuman's 25fps/odd dims otherwise break frame-accurate seeking). Drives an **external** vocal (a rapper's verse, a singer's hook) — the lane's way to put a performer's real vocal on their face. Audio cap enforced up front (1080p≤30s, 720p≤60s). **Paid** → refuses without `--confirm-spend` (`--dry-run` plans free); needs `APIZ_API_KEY`/`XSKILL_API_KEY`. Full guide: [`docs/CLI_REFERENCE.md`](https://videoclaw-docs.vercel.app/reference/CLI_REFERENCE).
552
+ - **Audio-driven lip-sync** (`vclaw video lipsync`) — a **still/keyframe + a vocal track** → a **lip-synced talking-head clip** via **OmniHuman v1.5** (apiz/xskill). Uploads image+audio → submits → awaits → downloads → **normalizes** to CFR fps + even dims (OmniHuman's 25fps/odd dims otherwise break frame-accurate seeking). Drives an **external** vocal (a rapper's verse, a singer's hook) — the way to put a performer's real vocal on their face. Audio cap enforced up front (1080p≤30s, 720p≤60s). **Paid** → refuses without `--confirm-spend` (`--dry-run` plans free); needs `APIZ_API_KEY`/`XSKILL_API_KEY`. Full guide: [`docs/CLI_REFERENCE.md`](https://videoclaw-docs.vercel.app/reference/CLI_REFERENCE).
553
553
 
554
554
  ---
555
555
 
@@ -610,7 +610,7 @@ sane.
610
610
 
611
611
  Generic orchestration skills (`autopilot`, `ralph`/`ralph-init`/`ralplan`, `team`, `cancel`,
612
612
  `trace`, `hud`, `git-master`, `code-review`, `security-review`, `omx-setup`) were culled —
613
- they duplicated the operator's global plugin set with zero repo-specific content.
613
+ they duplicated the global plugin set with zero repo-specific content.
614
614
 
615
615
  </details>
616
616
 
@@ -619,7 +619,7 @@ they duplicated the operator's global plugin set with zero repo-specific content
619
619
 
620
620
  ---
621
621
 
622
- ## 🗂️ Obsidian operator workspace
622
+ ## 🗂️ Obsidian workspace
623
623
 
624
624
  The repo writes a **vault of machine-generated notes** that mirrors canonical project state — dashboards,
625
625
  queues, metrics, health, timelines, dependencies, and per-project notes — all regenerated from one command.
@@ -627,7 +627,7 @@ queues, metrics, health, timelines, dependencies, and per-project notes — all
627
627
  > **Obsidian is a view, not the source of truth.** The repo state on disk is canonical; the vault is a
628
628
  > regenerable rendering of it.
629
629
 
630
- <p align="center"><img src="./docs/assets/diagram-obsidian-loop.jpg" alt="Daily operator loop — five-step circular workflow: make changes via vclaw, sync vault, read Dashboard, triage queue, update metadata, then back to making changes" width="100%" /></p>
630
+ <p align="center"><img src="./docs/assets/diagram-obsidian-loop.jpg" alt="Daily loop — five-step circular workflow: make changes via vclaw, sync vault, read Dashboard, triage queue, update metadata, then back to making changes" width="100%" /></p>
631
631
 
632
632
  ### What you get
633
633
 
@@ -645,7 +645,7 @@ vclaw video export-obsidian --project my-project --output-dir ./ops/obsidian/Pro
645
645
  vclaw video sync-obsidian --root . --output-dir ./ops/obsidian # full regenerate (the common case)
646
646
  ```
647
647
 
648
- 📖 **Full operator guide** — vault layout, every dashboard note explained, frontmatter schema, daily loop,
648
+ 📖 **Full guide** — vault layout, every dashboard note explained, frontmatter schema, daily loop,
649
649
  common workflows: **[`docs/OBSIDIAN.md`](https://videoclaw-docs.vercel.app/reference/OBSIDIAN)**
650
650
 
651
651
  ---
@@ -763,16 +763,16 @@ Current status: **`npm test` green · `check:release-readiness-lite` passing.**
763
763
 
764
764
  | # | Doc | What it gives you |
765
765
  |---|---|---|
766
- | 1 | [Production workflow](https://videoclaw-docs.vercel.app/reference/PRODUCTION_WORKFLOW) | Operator-first workflow: make, review/fix, and manage video projects |
766
+ | 1 | [Production workflow](https://videoclaw-docs.vercel.app/reference/PRODUCTION_WORKFLOW) | A workflow built around you: make, review and fix, and manage video projects |
767
767
  | 2 | [Architecture](https://videoclaw-docs.vercel.app/reference/ARCHITECTURE) | Layer map + canonical flow |
768
768
  | 3 | [CLI reference](https://videoclaw-docs.vercel.app/reference/CLI_REFERENCE) | Full command reference |
769
769
  | 4 | [Skills](https://videoclaw-docs.vercel.app/skills/) | **Comprehensive per-skill reference with features and when-to-reach-for guidance** |
770
770
  | 5 | [Story bible](https://videoclaw-docs.vercel.app/reference/STORY_BIBLE) | **Story bible reference — the deterministic continuity artifact, when it's generated, its shape, and how downstream stages use it** |
771
- | 6 | [Assemble](https://videoclaw-docs.vercel.app/reference/ASSEMBLE) | **`vclaw video assemble` operator guide — pipeline stages, media QC, narration fit, API keys, dry-run vs real render, validation status** |
772
- | 7 | [Obsidian](https://videoclaw-docs.vercel.app/reference/OBSIDIAN) | **Obsidian operator workspace deep guide — vault layout, dashboard notes, frontmatter schema, daily loop** |
773
- | 8 | [Reference sheets](https://videoclaw-docs.vercel.app/reference/REFERENCE_SHEETS) | **Reference sheets operator guide — 5 sheet types, role vocabularies, CLI commands, readiness/preflight semantics, GB integration** |
774
- | 9 | [Scene candidates](https://videoclaw-docs.vercel.app/reference/SCENE_CANDIDATES) | **Scene candidates operator guide — append-only candidates + mutable selection, 9 CLI commands, partial reruns, chain-from-prev, migration** |
775
- | 10 | [Prompt quality](https://videoclaw-docs.vercel.app/reference/PROMPT_QUALITY) | **Prompt-quality preflight operator guide — Seedance-handbook anti-pattern checks, thresholds, strict-mode blocking** |
771
+ | 6 | [Assemble](https://videoclaw-docs.vercel.app/reference/ASSEMBLE) | **`vclaw video assemble` guide — pipeline stages, media QC, narration fit, API keys, dry-run vs real render, validation status** |
772
+ | 7 | [Obsidian](https://videoclaw-docs.vercel.app/reference/OBSIDIAN) | **Obsidian workspace deep guide — vault layout, dashboard notes, frontmatter schema, daily loop** |
773
+ | 8 | [Reference sheets](https://videoclaw-docs.vercel.app/reference/REFERENCE_SHEETS) | **Reference sheets guide — 5 sheet types, role vocabularies, CLI commands, readiness/preflight semantics, GB integration** |
774
+ | 9 | [Scene candidates](https://videoclaw-docs.vercel.app/reference/SCENE_CANDIDATES) | **Scene candidates guide — append-only candidates + mutable selection, 9 CLI commands, partial reruns, chain-from-prev, migration** |
775
+ | 10 | [Prompt quality](https://videoclaw-docs.vercel.app/reference/PROMPT_QUALITY) | **Prompt-quality preflight guide — Seedance-handbook anti-pattern checks, thresholds, strict-mode blocking** |
776
776
  | 11 | [Generation telemetry](https://videoclaw-docs.vercel.app/reference/GENERATION_TELEMETRY) | Generation event ledger + cost-estimate telemetry behavior |
777
777
  | 12 | [Operations](https://videoclaw-docs.vercel.app/reference/OPERATIONS) | Day-to-day maintenance loop |
778
778
  | 13 | [Templates](https://videoclaw-docs.vercel.app/reference/TEMPLATES) | Template store + clone bridge |
package/dist/cli/vclaw.js CHANGED
@@ -44,7 +44,7 @@ import { handleVideoCinemaHistoryImport } from './handlers/cinema-history.js';
44
44
  import { handleVideoCinemaArchive, handleVideoCinemaRestore } from './handlers/cinema-archive.js';
45
45
  import { handleVideoCinemaDeliver } from './handlers/cinema-delivery.js';
46
46
  function printHelp() {
47
- process.stdout.write(`vclaw - video-first clean-room core\n\nUsage:\n vclaw --version\n vclaw video providers [--workspace-root <path>]\n vclaw video verify-env [--root <path>] [--workspace-root <path>]\n vclaw video init <slug> [--root <path>] [--mode storyboard|director]\n vclaw video create "<intent>" [--project <slug>] [--root <path>] [--production-mode storyboard|director] [--title <title>] [--genre <genre-id>] [--runtime MM:SS|seconds] [--scenes <count>] [--clip-duration <seconds>] [--style <preset>] [--color-grading <preset>] [--platform <name>] [--gb-character <Name:ID> ...] [--import-library-characters] [--auto-create-characters <json-path>] [--api-url <url>] [--aspect-ratio 16:9|9:16|1:1] [--quality fast|quality] [--resolution 720p|1080p] [--audio on|off] [--outputs 1-4] [--apply-content-fixes] [--execute] [--dry-run]\n vclaw video auto "<intent>" [--project <slug>] [--root <path>] [--title <title>] [--genre <genre-id>] [--runtime MM:SS|seconds] [--scenes <count>] [--clip-duration <seconds>] [--style <preset>] [--color-grading <preset>] [--platform <name>] [--gb-character <Name:ID> ...] [--import-library-characters] [--auto-create-characters <json-path>] [--api-url <url>] [--aspect-ratio 16:9|9:16|1:1] [--quality fast|quality] [--resolution 720p|1080p] [--audio on|off] [--outputs 1-4] [--apply-content-fixes] [--execute] [--dry-run]\n vclaw video iterate "<intent>" [--project <slug>] [--root <path>] [--title <title>] [--genre <genre-id>] [--runtime MM:SS|seconds] [--scenes <count>] [--clip-duration <seconds>] [--style <preset>] [--color-grading <preset>] [--platform <name>] [--gb-character <Name:ID> ...] [--import-library-characters] [--auto-create-characters <json-path>] [--api-url <url>] [--aspect-ratio 16:9|9:16|1:1] [--quality fast|quality] [--resolution 720p|1080p] [--audio on|off] [--outputs 1-4] [--apply-content-fixes]\n vclaw video run-pipeline "<intent>" [--project <slug>] [--root <path>] [--title <title>] [--genre <genre-id>] [--runtime MM:SS|seconds] [--scenes <count>] [--clip-duration <seconds>] [--style <preset>] [--color-grading <preset>] [--platform <name>] [--gb-character <Name:ID> ...] [--import-library-characters] [--auto-create-characters <json-path>] [--api-url <url>] [--aspect-ratio 16:9|9:16|1:1] [--quality fast|quality] [--resolution 720p|1080p] [--audio on|off] [--outputs 1-4] [--apply-content-fixes] [--dry-run]\n vclaw video approve --project <slug> [--root <path>] [--mode storyboard|director] [--dry-run]\n vclaw video cost-estimate [--project <slug>] [--root <path>] [--scenes <count>] [--clip-duration <seconds>] [--new-characters <count>] [--narration on|off]\n vclaw video remix-narrated --project <slug> [--root <path>] [--output <path>]\n vclaw video verify-final (--project <slug> | --file <path>) [--root <path>] [--output-dir <path>]\n vclaw video qc --project <slug> [--root <path>]\n vclaw video make-vertical (--project <slug> | --file <path>) [--root <path>] [--write-plan-template <json> | --reframe-plan <json> | --quick-center-crop] [--captions <path>] [--caption-profile social-large|social-standard] [--strict] [--output <path>]\n vclaw video make-square (--project <slug> | --file <path>) [--root <path>] [--output <path>]\n vclaw video make-loop (--project <slug> | --file <path>) [--root <path>] [--output <path>]\n vclaw video thumbnail (--project <slug> | --file <path>) [--root <path>] [--output <path>] [--text <title>]\n vclaw video archive-project --project <slug> [--root <path>] [--archive-dir <path>] [--cleanup]\n vclaw video find-library --intent "<text>" [--api-url <url>]\n vclaw video list-library [--name-regex <pattern>] [--root <path>]\n vclaw video import-legacy --source <path> [--root <path>]\n vclaw video set-meta --project <slug> [--root <path>] [--owner <name>] [--priority low|medium|high|critical] [--due YYYY-MM-DD] [--tag <value> ...] [--blocked-by <slug> ...] [--blocked-reason <text>]\n vclaw video set-execution-profile --project <slug> [--root <path>] [--aspect-ratio 16:9|9:16|1:1] [--quality fast|quality] [--resolution 720p|1080p] [--audio on|off] [--outputs 1-4] [--veo-model fast|quality|lite|free|omni-flash] [--veo-resolution 360p|720p]\n vclaw video character-add --project <slug> --name <name> [--gb-id <id>] [--description <text>] [--ref <path> ...] [--note <text> ...] [--root <path>]\n vclaw video character-auto-create --project <slug> --input <json-path> [--root <path>] [--api-url <url>] [--dry-run]\n vclaw video environment-auto-create --project <slug> --input <json-path> [--root <path>] [--api-url <url>] [--dry-run]\n vclaw video character-import-library --project <slug> --intent "<text>" [--root <path>] [--api-url <url>]\n vclaw video character-list --project <slug> [--root <path>]\n vclaw video character-show --project <slug> --name <name> [--root <path>]\n vclaw video character-consistency --project <slug> [--root <path>]\n vclaw video consistency-audit --project <slug> [--root <path>] [--json]\n vclaw video motion-qc --project <slug> [--root <path>] [--samples <2-24>]\n vclaw video keyframe-qc --project <slug> [--root <path>] [--json]\n vclaw video storyboard-review --project <slug> [--root <path>] [--mode storyboard|director] [--apply-content-fixes]\n vclaw video director-preflight --project <slug> [--root <path>] [--apply-content-fixes]\n vclaw video library find --intent "<text>" [--api-url <url>]\n vclaw video library clean [options]\n vclaw video playbook-list [--root <path>]\n vclaw video playbook-show --name <playbook-name> [--root <path>]\n vclaw video prompt-lib-list\n vclaw video prompt-lib-show --name <reference-name> [--root <path>]\n vclaw video multi-shot (--presets | --plan [--shots N] [--seed N] [--genre <id>] [--format default|seedance-paragraph|per-shot|timecoded] [--lang en|zh|en+zh] [--category <id>] [--hook <patternId>] [--dialogue "<speaker>: <line> [emotion] [|| <speaker>: <line> [emotion]]"] [--emotion-cues] | --validate [--file <path>] [--explain-issues] | --fix [--file <path>] | --auto --image <path> [--dry-run] [--retry-invalid N] [--location <text>] [--time <text>] [--character <text>] [--action <text>]) [--preset <name>] [--total-seconds N] [--max-chars N] [--style-line <t>] [--audio-line <t>] [--project <slug>] [--raw]\n vclaw video analyze-template --project <slug> --source <path-or-url> [options] [--auto]\n vclaw video template-create --project <slug> --name <template-name> [--root <path>]\n vclaw video template-save --project <slug> --name <template-name> [--root <path>]\n vclaw video template-list [--root <path>]\n vclaw video template-show --name <template-name> [--root <path>]\n vclaw video template-validate --name <template-name> [--root <path>]\n vclaw video storyboard-template-list\n vclaw video storyboard-template-show --name <template-id>\n vclaw video clone-ad --template <template-name> --project <slug> --intent <text> [--root <path>] [--mode storyboard|director] [--platform <name>] [--aspect-ratio 16:9|9:16|1:1] [--quality fast|quality] [--resolution 720p|1080p] [--audio on|off] [--outputs 1-4] [--dry-run]\n vclaw video clone-plan --template <template-name> --project <slug> --intent <text> [--root <path>]\n vclaw video clone-init --template <template-name> --project <slug> --intent <text> [--root <path>] [--mode storyboard|director] [--platform <name>] [--aspect-ratio 16:9|9:16|1:1] [--quality fast|quality] [--resolution 720p|1080p] [--audio on|off] [--outputs 1-4]\n vclaw video storyboard-from-clone --project <slug> [--root <path>] [--mode storyboard|director]\n vclaw video clone-execute --template <template-name> --project <slug> --intent <text> [--root <path>] [--mode storyboard|director] [--platform <name>] [--aspect-ratio 16:9|9:16|1:1] [--quality fast|quality] [--resolution 720p|1080p] [--audio on|off] [--outputs 1-4] [--dry-run]\n vclaw video readiness --project <slug> [--root <path>] [--mode storyboard|director]\n vclaw video plan --project <slug> [--root <path>] [--mode storyboard|director]\n vclaw video execution-plan --project <slug> [--root <path>] [--mode storyboard|director]\n vclaw video produce --project <slug> [--root <path>] [--mode storyboard|director] [--dry-run] [--scene <sceneIndex> ...]\n vclaw video execute --project <slug> [--root <path>] [--mode storyboard|director] [--dry-run] [--scene <sceneIndex> ...]\n vclaw video execute-status --project <slug> [--root <path>] [--mode storyboard|director]\n vclaw video list [--root <path>]\n vclaw video index [--root <path>] [--output <path>]\n vclaw video metrics [--root <path>] [--mode storyboard|director]\n vclaw video workload [--root <path>] [--mode storyboard|director]\n vclaw video next-actions [--root <path>] [--mode storyboard|director]\n vclaw video dependencies [--root <path>] [--mode storyboard|director]\n vclaw video report [--root <path>] [--mode storyboard|director]\n vclaw video report-snapshot [--root <path>] [--mode storyboard|director]\n vclaw video report-history [--root <path>]\n vclaw video report-diff [--root <path>] [--from <snapshot-path>] [--to <snapshot-path>]\n vclaw video trends [--root <path>]\n vclaw video export-csv [--root <path>] [--output-dir <path>] [--mode storyboard|director]\n vclaw video status --project <slug> [--root <path>] [--mode storyboard|director]\n vclaw video doctor-project --project <slug> [--root <path>] [--mode storyboard|director]\n vclaw video doctor-portfolio [--root <path>] [--mode storyboard|director]\n vclaw video artifact-history --project <slug> --artifact <name> [--root <path>]\n vclaw video export-obsidian --project <slug> [--root <path>] [--output-dir <path>] [--mode storyboard|director]\n vclaw video scaffold-obsidian-vault [--output-dir <path>]\n vclaw video sync-obsidian [--root <path>] [--output-dir <path>] [--mode storyboard|director]\n vclaw video brief --project <slug> --title <title> --intent <intent> [--root <path>] [--mode storyboard|director] [--platform <name>] [--aspect-ratio 16:9|9:16|1:1] [--quality fast|quality] [--resolution 720p|1080p] [--audio on|off] [--outputs 1-4] [--veo-model fast|quality|lite|free|omni-flash] [--veo-resolution 360p|720p]\n vclaw video storyboard --project <slug> (--scene <text> [--scene <text> ...] | --template <template-id> [--environment <text>] [--character-a <name>] [--character-b <name>]) [--scene-character <sceneIndex:name> ...] [--scene-color <sceneIndex>:<gradeId> ...] [--scene-voice <sceneIndex>:<preset> ...] [--scene-ref-video <sceneIndex>:<mediaId> ...] [--scene-first-frame <sceneIndex>[,<sceneIndex>...] ...] [--reset-assets] [--root <path>] [--mode storyboard|director]\n vclaw video assets --project <slug> (--asset <kind:path[:sceneIndex][:backend]> [--asset ...] | --text-only) [--root <path>]\n vclaw video review --project <slug> --verdict pass|retry|fail [--finding <text> ...] [--root <path>]\n vclaw video publish --project <slug> --status ready|published|blocked [--final-output <path>] [--note <text> ...] [--root <path>]\n vclaw video analyze --project <slug> --source <path-or-url> [options] [--auto]\n`);
47
+ process.stdout.write(`vclaw - make videos from the command line\n\nUsage:\n vclaw --version\n vclaw video providers [--workspace-root <path>]\n vclaw video verify-env [--root <path>] [--workspace-root <path>]\n vclaw video init <slug> [--root <path>] [--mode storyboard|director]\n vclaw video create "<intent>" [--project <slug>] [--root <path>] [--production-mode storyboard|director] [--title <title>] [--genre <genre-id>] [--runtime MM:SS|seconds] [--scenes <count>] [--clip-duration <seconds>] [--style <preset>] [--color-grading <preset>] [--platform <name>] [--gb-character <Name:ID> ...] [--import-library-characters] [--auto-create-characters <json-path>] [--api-url <url>] [--aspect-ratio 16:9|9:16|1:1] [--quality fast|quality] [--resolution 720p|1080p] [--audio on|off] [--outputs 1-4] [--apply-content-fixes] [--execute] [--dry-run]\n vclaw video auto "<intent>" [--project <slug>] [--root <path>] [--title <title>] [--genre <genre-id>] [--runtime MM:SS|seconds] [--scenes <count>] [--clip-duration <seconds>] [--style <preset>] [--color-grading <preset>] [--platform <name>] [--gb-character <Name:ID> ...] [--import-library-characters] [--auto-create-characters <json-path>] [--api-url <url>] [--aspect-ratio 16:9|9:16|1:1] [--quality fast|quality] [--resolution 720p|1080p] [--audio on|off] [--outputs 1-4] [--apply-content-fixes] [--execute] [--dry-run]\n vclaw video iterate "<intent>" [--project <slug>] [--root <path>] [--title <title>] [--genre <genre-id>] [--runtime MM:SS|seconds] [--scenes <count>] [--clip-duration <seconds>] [--style <preset>] [--color-grading <preset>] [--platform <name>] [--gb-character <Name:ID> ...] [--import-library-characters] [--auto-create-characters <json-path>] [--api-url <url>] [--aspect-ratio 16:9|9:16|1:1] [--quality fast|quality] [--resolution 720p|1080p] [--audio on|off] [--outputs 1-4] [--apply-content-fixes]\n vclaw video run-pipeline "<intent>" [--project <slug>] [--root <path>] [--title <title>] [--genre <genre-id>] [--runtime MM:SS|seconds] [--scenes <count>] [--clip-duration <seconds>] [--style <preset>] [--color-grading <preset>] [--platform <name>] [--gb-character <Name:ID> ...] [--import-library-characters] [--auto-create-characters <json-path>] [--api-url <url>] [--aspect-ratio 16:9|9:16|1:1] [--quality fast|quality] [--resolution 720p|1080p] [--audio on|off] [--outputs 1-4] [--apply-content-fixes] [--dry-run]\n vclaw video approve --project <slug> [--root <path>] [--mode storyboard|director] [--dry-run]\n vclaw video cost-estimate [--project <slug>] [--root <path>] [--scenes <count>] [--clip-duration <seconds>] [--new-characters <count>] [--narration on|off]\n vclaw video remix-narrated --project <slug> [--root <path>] [--output <path>]\n vclaw video verify-final (--project <slug> | --file <path>) [--root <path>] [--output-dir <path>]\n vclaw video qc --project <slug> [--root <path>]\n vclaw video make-vertical (--project <slug> | --file <path>) [--root <path>] [--write-plan-template <json> | --reframe-plan <json> | --quick-center-crop] [--captions <path>] [--caption-profile social-large|social-standard] [--strict] [--output <path>]\n vclaw video make-square (--project <slug> | --file <path>) [--root <path>] [--output <path>]\n vclaw video make-loop (--project <slug> | --file <path>) [--root <path>] [--output <path>]\n vclaw video thumbnail (--project <slug> | --file <path>) [--root <path>] [--output <path>] [--text <title>]\n vclaw video archive-project --project <slug> [--root <path>] [--archive-dir <path>] [--cleanup]\n vclaw video find-library --intent "<text>" [--api-url <url>]\n vclaw video list-library [--name-regex <pattern>] [--root <path>]\n vclaw video import-legacy --source <path> [--root <path>]\n vclaw video set-meta --project <slug> [--root <path>] [--owner <name>] [--priority low|medium|high|critical] [--due YYYY-MM-DD] [--tag <value> ...] [--blocked-by <slug> ...] [--blocked-reason <text>]\n vclaw video set-execution-profile --project <slug> [--root <path>] [--aspect-ratio 16:9|9:16|1:1] [--quality fast|quality] [--resolution 720p|1080p] [--audio on|off] [--outputs 1-4] [--veo-model fast|quality|lite|free|omni-flash] [--veo-resolution 360p|720p]\n vclaw video character-add --project <slug> --name <name> [--gb-id <id>] [--description <text>] [--ref <path> ...] [--note <text> ...] [--root <path>]\n vclaw video character-auto-create --project <slug> --input <json-path> [--root <path>] [--api-url <url>] [--dry-run]\n vclaw video environment-auto-create --project <slug> --input <json-path> [--root <path>] [--api-url <url>] [--dry-run]\n vclaw video character-import-library --project <slug> --intent "<text>" [--root <path>] [--api-url <url>]\n vclaw video character-list --project <slug> [--root <path>]\n vclaw video character-show --project <slug> --name <name> [--root <path>]\n vclaw video character-consistency --project <slug> [--root <path>]\n vclaw video consistency-audit --project <slug> [--root <path>] [--json]\n vclaw video motion-qc --project <slug> [--root <path>] [--samples <2-24>]\n vclaw video keyframe-qc --project <slug> [--root <path>] [--json]\n vclaw video storyboard-review --project <slug> [--root <path>] [--mode storyboard|director] [--apply-content-fixes]\n vclaw video director-preflight --project <slug> [--root <path>] [--apply-content-fixes]\n vclaw video library find --intent "<text>" [--api-url <url>]\n vclaw video library clean [options]\n vclaw video playbook-list [--root <path>]\n vclaw video playbook-show --name <playbook-name> [--root <path>]\n vclaw video prompt-lib-list\n vclaw video prompt-lib-show --name <reference-name> [--root <path>]\n vclaw video multi-shot (--presets | --plan [--shots N] [--seed N] [--genre <id>] [--format default|seedance-paragraph|per-shot|timecoded] [--lang en|zh|en+zh] [--category <id>] [--hook <patternId>] [--dialogue "<speaker>: <line> [emotion] [|| <speaker>: <line> [emotion]]"] [--emotion-cues] | --validate [--file <path>] [--explain-issues] | --fix [--file <path>] | --auto --image <path> [--dry-run] [--retry-invalid N] [--location <text>] [--time <text>] [--character <text>] [--action <text>]) [--preset <name>] [--total-seconds N] [--max-chars N] [--style-line <t>] [--audio-line <t>] [--project <slug>] [--raw]\n vclaw video analyze-template --project <slug> --source <path-or-url> [options] [--auto]\n vclaw video template-create --project <slug> --name <template-name> [--root <path>]\n vclaw video template-save --project <slug> --name <template-name> [--root <path>]\n vclaw video template-list [--root <path>]\n vclaw video template-show --name <template-name> [--root <path>]\n vclaw video template-validate --name <template-name> [--root <path>]\n vclaw video storyboard-template-list\n vclaw video storyboard-template-show --name <template-id>\n vclaw video clone-ad --template <template-name> --project <slug> --intent <text> [--root <path>] [--mode storyboard|director] [--platform <name>] [--aspect-ratio 16:9|9:16|1:1] [--quality fast|quality] [--resolution 720p|1080p] [--audio on|off] [--outputs 1-4] [--dry-run]\n vclaw video clone-plan --template <template-name> --project <slug> --intent <text> [--root <path>]\n vclaw video clone-init --template <template-name> --project <slug> --intent <text> [--root <path>] [--mode storyboard|director] [--platform <name>] [--aspect-ratio 16:9|9:16|1:1] [--quality fast|quality] [--resolution 720p|1080p] [--audio on|off] [--outputs 1-4]\n vclaw video storyboard-from-clone --project <slug> [--root <path>] [--mode storyboard|director]\n vclaw video clone-execute --template <template-name> --project <slug> --intent <text> [--root <path>] [--mode storyboard|director] [--platform <name>] [--aspect-ratio 16:9|9:16|1:1] [--quality fast|quality] [--resolution 720p|1080p] [--audio on|off] [--outputs 1-4] [--dry-run]\n vclaw video readiness --project <slug> [--root <path>] [--mode storyboard|director]\n vclaw video plan --project <slug> [--root <path>] [--mode storyboard|director]\n vclaw video execution-plan --project <slug> [--root <path>] [--mode storyboard|director]\n vclaw video produce --project <slug> [--root <path>] [--mode storyboard|director] [--dry-run] [--scene <sceneIndex> ...]\n vclaw video execute --project <slug> [--root <path>] [--mode storyboard|director] [--dry-run] [--scene <sceneIndex> ...]\n vclaw video execute-status --project <slug> [--root <path>] [--mode storyboard|director]\n vclaw video list [--root <path>]\n vclaw video index [--root <path>] [--output <path>]\n vclaw video metrics [--root <path>] [--mode storyboard|director]\n vclaw video workload [--root <path>] [--mode storyboard|director]\n vclaw video next-actions [--root <path>] [--mode storyboard|director]\n vclaw video dependencies [--root <path>] [--mode storyboard|director]\n vclaw video report [--root <path>] [--mode storyboard|director]\n vclaw video report-snapshot [--root <path>] [--mode storyboard|director]\n vclaw video report-history [--root <path>]\n vclaw video report-diff [--root <path>] [--from <snapshot-path>] [--to <snapshot-path>]\n vclaw video trends [--root <path>]\n vclaw video export-csv [--root <path>] [--output-dir <path>] [--mode storyboard|director]\n vclaw video status --project <slug> [--root <path>] [--mode storyboard|director]\n vclaw video doctor-project --project <slug> [--root <path>] [--mode storyboard|director]\n vclaw video doctor-portfolio [--root <path>] [--mode storyboard|director]\n vclaw video artifact-history --project <slug> --artifact <name> [--root <path>]\n vclaw video export-obsidian --project <slug> [--root <path>] [--output-dir <path>] [--mode storyboard|director]\n vclaw video scaffold-obsidian-vault [--output-dir <path>]\n vclaw video sync-obsidian [--root <path>] [--output-dir <path>] [--mode storyboard|director]\n vclaw video brief --project <slug> --title <title> --intent <intent> [--root <path>] [--mode storyboard|director] [--platform <name>] [--aspect-ratio 16:9|9:16|1:1] [--quality fast|quality] [--resolution 720p|1080p] [--audio on|off] [--outputs 1-4] [--veo-model fast|quality|lite|free|omni-flash] [--veo-resolution 360p|720p]\n vclaw video storyboard --project <slug> (--scene <text> [--scene <text> ...] | --template <template-id> [--environment <text>] [--character-a <name>] [--character-b <name>]) [--scene-character <sceneIndex:name> ...] [--scene-color <sceneIndex>:<gradeId> ...] [--scene-voice <sceneIndex>:<preset> ...] [--scene-ref-video <sceneIndex>:<mediaId> ...] [--scene-first-frame <sceneIndex>[,<sceneIndex>...] ...] [--reset-assets] [--root <path>] [--mode storyboard|director]\n vclaw video assets --project <slug> (--asset <kind:path[:sceneIndex][:backend]> [--asset ...] | --text-only) [--root <path>]\n vclaw video review --project <slug> --verdict pass|retry|fail [--finding <text> ...] [--root <path>]\n vclaw video publish --project <slug> --status ready|published|blocked [--final-output <path>] [--note <text> ...] [--root <path>]\n vclaw video analyze --project <slug> --source <path-or-url> [options] [--auto]\n`);
48
48
  process.stdout.write(' vclaw video execute-cancel --project <slug> [--root <path>] [--mode storyboard|director]\n');
49
49
  process.stdout.write(' vclaw video pool --project <slug> [--root <path>] [--mode storyboard|director] [--max-concurrent <N>] [--scenes <csv>] [--enqueue | --dry-run]\n');
50
50
  process.stdout.write(' vclaw video render-scenes --project <slug> [--root <path>] [--mode storyboard|director] [--method <route>] [--fallback-chain] [--continue-from <i>] [--scenes <csv>] [--dry-run] [--confirm-spend]\n');
@@ -115,7 +115,7 @@ function printHelp() {
115
115
  process.stdout.write(' vclaw video publish-package --project <slug> --platform youtube-shorts|tiktok|instagram-reels [--final-output <path>] [--metadata <path>] [--captions <path>] [--thumbnail <path>] [--root <path>]\n');
116
116
  process.stdout.write(' vclaw studio --dry-run [--goal create-video|creator-demo|copy-reference|presenter-video|music-video|ugc-campaign|brand-campaign|existing-project|review-regenerate|publish-deliver|character-video] [--project <slug>] [--title <title>] [--intent <text>] [--input <path-or-url>] [--client <name>] [--duration <seconds>] [--platform generic|youtube-shorts|tiktok|instagram-reels] [--aspect-ratio 16:9|9:16|1:1] [--source-mode original-ai|stock-assisted|local-media] [--audio-mode none|narration|music|narration-and-music] [--execution-intent plan|render|publish-package] [--write-session] [--root <path>]\n');
117
117
  process.stdout.write(' vclaw video monitor [--port <n>] [--root <path> ...]\n');
118
- process.stdout.write(' vclaw video migrate-home [--confirm] [--root <home>] (consolidate scattered projects into ~/videoclaw via mv + symlink; dry-run default)\n');
118
+ process.stdout.write(' vclaw video migrate-home [--confirm] [--root <home>] (move scattered projects into ~/videoclaw and leave a symlink behind, so old paths still work; shows the plan unless you pass --confirm)\n');
119
119
  }
120
120
  // v3 noun-verb consistency. Both forms dispatch to the same handler.
121
121
  // The kebab form is treated as the canonical name internally; the
@@ -1 +1 @@
1
- {"version":3,"file":"vclaw.js","sourceRoot":"","sources":["../../src/cli/vclaw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vclaw.js","sourceRoot":"","sources":["../../src/cli/vclaw.ts"],"names":[],"mappings":"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"}
@@ -49,7 +49,7 @@ export const COMMANDS = [
49
49
  // --- readiness + execution ---
50
50
  { name: 'video readiness', usage: 'vclaw video readiness --project <slug> [--root <path>] [--mode storyboard|director]' },
51
51
  { name: 'video plan', usage: 'vclaw video plan --project <slug> [--root <path>] [--mode storyboard|director]', aliases: ['video execution-plan'] },
52
- { name: 'video produce', usage: 'vclaw video produce --project <slug> [--root <path>] [--mode storyboard|director] [--dry-run] [--scene <sceneIndex> ...] [--auto-chain [--chain-fallback] [--enqueue]]', aliases: ['video execute'], description: 'Execute selected scenes, or use --auto-chain to compile sequential continuity into the canonical dependency queue; --enqueue remains an alias. Later scene payloads carry one explicit active selected-video policy, the lane limit is one, and paid tasks remain awaiting-quote/blocked. --chain-fallback advances only after an authoritative provider failure by preserving the dead-letter attempt, replacing its untouched tail at the next declared rung, and requiring a fresh exact quote/approval. The former immediate auto-chain --execute loop is retired.', flags: [{ name: '--project', kind: 'value' }, { name: '--root', kind: 'value' }, { name: '--mode', kind: 'value' }, { name: '--dry-run', kind: 'boolean' }, { name: '--scene', kind: 'value' }, { name: '--auto-chain', kind: 'boolean' }, { name: '--chain-fallback', kind: 'boolean' }, { name: '--continuity-feedback', kind: 'boolean' }, { name: '--enqueue', kind: 'boolean' }, { name: '--execute', kind: 'boolean' }, { name: '--confirm-spend', kind: 'boolean' }] },
52
+ { name: 'video produce', usage: 'vclaw video produce --project <slug> [--root <path>] [--mode storyboard|director] [--dry-run] [--scene <sceneIndex> ...] [--auto-chain [--chain-fallback] [--enqueue]]', aliases: ['video execute'], description: 'Execute selected scenes, or use --auto-chain to compile sequential continuity into the canonical dependency queue; --enqueue remains an alias. Later scene payloads carry one explicit active selected-video policy, only one render runs at a time, and paid tasks remain awaiting-quote/blocked. --chain-fallback advances only after an authoritative provider failure by preserving the dead-letter attempt, replacing its untouched tail at the next declared rung, and requiring a fresh exact quote/approval. The former immediate auto-chain --execute loop is retired.', flags: [{ name: '--project', kind: 'value' }, { name: '--root', kind: 'value' }, { name: '--mode', kind: 'value' }, { name: '--dry-run', kind: 'boolean' }, { name: '--scene', kind: 'value' }, { name: '--auto-chain', kind: 'boolean' }, { name: '--chain-fallback', kind: 'boolean' }, { name: '--continuity-feedback', kind: 'boolean' }, { name: '--enqueue', kind: 'boolean' }, { name: '--execute', kind: 'boolean' }, { name: '--confirm-spend', kind: 'boolean' }] },
53
53
  { name: 'video execute-status', usage: 'vclaw video execute-status --project <slug> [--root <path>] [--mode storyboard|director]' },
54
54
  { name: 'video execute-cancel', usage: 'vclaw video execute-cancel --project <slug> [--root <path>] [--mode storyboard|director]' },
55
55
  { name: 'video pool', usage: 'vclaw video pool --project <slug> [--root <path>] [--mode storyboard|director] [--max-concurrent <N>] [--scenes <csv>] [--enqueue | --dry-run]', description: 'Defaults to compiling independent pending scenes into the shared durable Cinema queue, preserving the exact execution tasks and concurrency cap as one LaneQueue lane; --enqueue remains an explicit alias. Tasks remain awaiting-quote and no provider is called. Resumable: selected scenes are skipped; --dry-run prints the plan only. The former immediate --execute path is retired and fails before provider access.', flags: [{ name: '--project', kind: 'value' }, { name: '--root', kind: 'value' }, { name: '--mode', kind: 'value' }, { name: '--max-concurrent', kind: 'value' }, { name: '--scenes', kind: 'value' }, { name: '--enqueue', kind: 'boolean' }, { name: '--execute', kind: 'boolean' }, { name: '--dry-run', kind: 'boolean' }, { name: '--confirm-spend', kind: 'boolean' }] },
@@ -62,7 +62,7 @@ export const COMMANDS = [
62
62
  { name: 'video dialogue', usage: 'vclaw video dialogue --project <slug> --turns "Name: line || Name2: line2" [--voice <name>] [--backend gemini-tts] [--dry-run] [--confirm-spend] [--root <path>]', description: 'Synthesize one TTS clip per dialogue turn (each "Name: line" split on "||") to artifacts/audio/dialogue-<i>-<name>.wav and persist dialogue.json; --voice applies to every turn. Paid: refuses without --dry-run unless --confirm-spend is passed.', flags: [{ name: '--project', kind: 'value' }, { name: '--root', kind: 'value' }, { name: '--turns', kind: 'value' }, { name: '--voice', kind: 'value' }, { name: '--backend', kind: 'value' }, { name: '--dry-run', kind: 'boolean' }, { name: '--confirm-spend', kind: 'boolean' }] },
63
63
  { name: 'video sfx', usage: 'vclaw video sfx --project <slug> --prompt "<text>" [--duration <seconds>] [--prompt-influence <0..1>] [--backend elevenlabs-sfx] [--dry-run] [--confirm-spend] [--root <path>]', description: 'Generate one sound-effect clip from a text prompt via an SFX backend (ElevenLabs Sound Effects) to artifacts/audio/sfx-<n>.mp3 and append it to sfx.json. Paid: refuses without --dry-run unless --confirm-spend is passed.', flags: [{ name: '--project', kind: 'value' }, { name: '--root', kind: 'value' }, { name: '--prompt', kind: 'value' }, { name: '--duration', kind: 'value' }, { name: '--prompt-influence', kind: 'value' }, { name: '--backend', kind: 'value' }, { name: '--dry-run', kind: 'boolean' }, { name: '--confirm-spend', kind: 'boolean' }] },
64
64
  { name: 'video voice-clone', usage: 'vclaw video voice-clone --project <slug> --name <name> --audio <sample> [--character <name>] [--description <text>] [--slice-seconds <n>] [--width <px>] [--height <px>] [--execute | --dry-run] [--root <path>]', description: 'Build the "blank video with audio" voice reference (the cartoon-show voice-cloning trick) and persist it as a reusable voice clone in artifacts/voice-clones.json. Given an --audio sample, renders a black-frame MP4 carrying that voice (MP3 references do not lock a voice in Seedance/Veo; a black-frame video carrying the same audio does). --character binds the clone to a character so any scene featuring that character locks the cloned voice (routed into Seedance reference_videos on the seedance-direct route); an explicit @<voice-name> tag also resolves a voice. --slice-seconds chops the recording into N-second clips (drift fix). Local ffmpeg only — no provider spend. Default-safe: plans only unless --execute is passed.', flags: [{ name: '--project', kind: 'value' }, { name: '--name', kind: 'value' }, { name: '--audio', kind: 'value' }, { name: '--character', kind: 'value' }, { name: '--description', kind: 'value' }, { name: '--slice-seconds', kind: 'value' }, { name: '--width', kind: 'value' }, { name: '--height', kind: 'value' }, { name: '--execute', kind: 'boolean' }, { name: '--dry-run', kind: 'boolean' }, { name: '--root', kind: 'value' }] },
65
- { name: 'video gen-image', usage: 'vclaw video gen-image --project <slug> --prompt "<text>" --kind prop|screen|overlay [--backend gobananas|openai|flow] [--scene <i>] [--out <path>] [--aspect <ratio>] [--model <id>] [--ref <path|mediaGenerationId>]... [--character <name|ref>]... [--count <1-4>] [--seed <n>] [--character-id <id>] [--style-preset-id <id>] [--dry-run] [--confirm-spend] [--root <path>]', description: 'Generate a diegetic still (prop / on-screen UI dashboard / overlay graphic) and write it under assets/props/. PAID: a real run requires --confirm-spend (exit-3 spend_confirmation_required otherwise); --dry-run plans without spending. Backends: gobananas (default, Go Bananas image API), openai (gpt-image), flow (Google Flow via useapi.net POST /google-flow/images: nano-banana-2-lite / nano-banana-2 / nano-banana-pro, auto-selected by reference count unless --model pins one). Flow-only flags (rejected on other backends): repeated --ref (reference_1..10 slots; local paths are uploaded first), repeated --character (character_1..7 slots; names resolve via flow-characters.json), --count (images per generation, default 1), --seed. Inline @reference_N/@character_N prompt markers are validated against the provided slots before any upload or spend. Weaves a per-kind render directive into the prompt; screens and overlays keep text (they are UIs/alerts), props suppress it. --dry-run prints the composed request without spending. Register the result into a scene with vclaw video assets.', flags: [{ name: '--project', kind: 'value' }, { name: '--prompt', kind: 'value' }, { name: '--kind', kind: 'value' }, { name: '--backend', kind: 'value' }, { name: '--scene', kind: 'value' }, { name: '--out', kind: 'value' }, { name: '--aspect', kind: 'value' }, { name: '--model', kind: 'value' }, { name: '--ref', kind: 'value' }, { name: '--character', kind: 'value' }, { name: '--count', kind: 'value' }, { name: '--seed', kind: 'value' }, { name: '--dry-run', kind: 'boolean' }, { name: '--confirm-spend', kind: 'boolean' }, { name: '--root', kind: 'value' }] },
65
+ { name: 'video gen-image', usage: 'vclaw video gen-image --project <slug> --prompt "<text>" --kind prop|screen|overlay [--backend gobananas|openai|flow] [--scene <i>] [--out <path>] [--aspect <ratio>] [--model <id>] [--ref <path|mediaGenerationId>]... [--character <name|ref>]... [--count <1-4>] [--seed <n>] [--character-id <id>] [--style-preset-id <id>] [--dry-run] [--confirm-spend] [--root <path>]', description: 'Generate a diegetic still (prop / on-screen UI dashboard / overlay graphic) and write it under assets/props/. PAID: a real run requires --confirm-spend (exit-3 spend_confirmation_required otherwise); --dry-run plans without spending. Backends: gobananas (default, Go Bananas image API), openai (gpt-image), flow (Google Flow images, through your Google Flow account: nano-banana-2-lite / nano-banana-2 / nano-banana-pro, auto-selected by reference count unless --model pins one). Flow-only flags (rejected on other backends): repeated --ref (reference_1..10 slots; local paths are uploaded first), repeated --character (character_1..7 slots; names resolve via flow-characters.json), --count (images per generation, default 1), --seed. Inline @reference_N/@character_N prompt markers are validated against the provided slots before any upload or spend. Weaves a per-kind render directive into the prompt; screens and overlays keep text (they are UIs/alerts), props suppress it. --dry-run prints the composed request without spending. Register the result into a scene with vclaw video assets.', flags: [{ name: '--project', kind: 'value' }, { name: '--prompt', kind: 'value' }, { name: '--kind', kind: 'value' }, { name: '--backend', kind: 'value' }, { name: '--scene', kind: 'value' }, { name: '--out', kind: 'value' }, { name: '--aspect', kind: 'value' }, { name: '--model', kind: 'value' }, { name: '--ref', kind: 'value' }, { name: '--character', kind: 'value' }, { name: '--count', kind: 'value' }, { name: '--seed', kind: 'value' }, { name: '--dry-run', kind: 'boolean' }, { name: '--confirm-spend', kind: 'boolean' }, { name: '--root', kind: 'value' }] },
66
66
  { name: 'video overlay', usage: 'vclaw video overlay --input <video> --output <path> (--graphic <png> | --alert "<text>" | --lower-third "<text>") [--position top-left|top-center|top-right|center|bottom-left|bottom-center|bottom-right|full] [--start <s>] [--end <s>] [--fade-in <s>] [--fade-out <s>] [--opacity <0..1>] [--pulse-hz <n>] [--font-size <n>] [--color <c>] [--dry-run]', description: 'Composite a motion-graphics overlay onto a video via FFmpeg. --graphic overlays a PNG/alpha image (time-gated, faded, positioned) — pairs with gen-image to drop a generated SYSTEM COMPROMISED/dashboard screen onto a clip. --alert burns a pulsing alert and --lower-third a boxed caption (both drawtext, require an ffmpeg built with libfreetype). --dry-run prints the planned ffmpeg command without running it.', flags: [{ name: '--input', kind: 'value' }, { name: '--output', kind: 'value' }, { name: '--graphic', kind: 'value' }, { name: '--alert', kind: 'value' }, { name: '--lower-third', kind: 'value' }, { name: '--position', kind: 'value' }, { name: '--start', kind: 'value' }, { name: '--end', kind: 'value' }, { name: '--fade-in', kind: 'value' }, { name: '--fade-out', kind: 'value' }, { name: '--opacity', kind: 'value' }, { name: '--pulse-hz', kind: 'value' }, { name: '--font-size', kind: 'value' }, { name: '--color', kind: 'value' }, { name: '--dry-run', kind: 'boolean' }] },
67
67
  {
68
68
  name: 'video mograph-sheet',
@@ -123,7 +123,7 @@ export const COMMANDS = [
123
123
  {
124
124
  name: 'video mograph-logos',
125
125
  usage: 'vclaw video mograph-logos --project <slug> --brand <name> [--brand <name> ...] [--domain <domain>] [--source clearbit|simpleicons|favicon] [--color <tint>] [--size <px>] [--root <path>]',
126
- description: 'Fetch real brand marks as reference assets into projects/<slug>/assets/logos/ (keyless source ladder: Clearbit domain PNG -> SimpleIcons SVG -> Google-favicon fallback). Models drawing logos from memory produce mangled near-logos — attach the fetched file as a block reference and prompt "the attached <brand> logo, flat, unmodified" instead. Trademark clearance stays the operator\'s call; exits non-zero when no source has any requested mark.',
126
+ description: 'Fetch real brand marks as reference assets into projects/<slug>/assets/logos/ (keyless source ladder: Clearbit domain PNG -> SimpleIcons SVG -> Google-favicon fallback). Models drawing logos from memory produce mangled near-logos — attach the fetched file as a block reference and prompt "the attached <brand> logo, flat, unmodified" instead. Trademark clearance stays your call; exits non-zero when no source has any requested mark.',
127
127
  flags: [
128
128
  { name: '--project', kind: 'value' },
129
129
  { name: '--brand', kind: 'value' },
@@ -174,7 +174,7 @@ export const COMMANDS = [
174
174
  {
175
175
  name: 'video music-video',
176
176
  usage: 'vclaw video music-video --config <music-video-config.json> [--work-dir <path>] [--output <path>] [--execute] [--dry-run] [--verify-lip-sync] [--sync-min <0..1>] [--sync-offset-advisory] [--ffmpeg-bin <path>] [--ffprobe-bin <path>]',
177
- description: 'Vocal-synced, beat-exact music-video assembler. Reads an operator-authored config (song + clip registry + B-roll pools + an explicit vocal map or a transcript to auto-classify), pins each performer to their own vocal range time-aligned across B-roll cutaways, cuts every segment frame-exact (-frames:v, no drift), then concats + grades + muxes the song. Fully local (ffmpeg only, no provider/spend). PLAN/DRY by default; --execute renders and asserts zero drift.',
177
+ description: 'Vocal-synced, beat-exact music-video assembler. Reads a config you write (song + clip registry + B-roll pools + an explicit vocal map or a transcript to auto-classify), pins each performer to their own vocal range time-aligned across B-roll cutaways, cuts every segment frame-exact (-frames:v, no drift), then concats + grades + muxes the song. Fully local (ffmpeg only, no provider/spend). PLAN/DRY by default; --execute renders and asserts zero drift.',
178
178
  flags: [
179
179
  { name: '--config', kind: 'value' },
180
180
  { name: '--work-dir', kind: 'value' },
@@ -236,7 +236,7 @@ export const COMMANDS = [
236
236
  {
237
237
  name: 'video finish',
238
238
  usage: 'vclaw video finish (--input <video> | --media-id <flow-media-id>) --output <path> [--backend topaz-proteus|topaz-gaia|topaz-starlight|magnific-precision|runway-topaz-free|topaz-local|google-flow] [--scale 1..4] [--target-resolution 720p|1k|2k|4k] [--flow-resolution 720p|1080p|4K] [--grain 0..0.1] [--noise 0..1] [--recover-detail 0..1] [--sharpen] [--normalize] [--topaz-cli <path>] [--dry-run] [--confirm-spend]',
239
- description: 'Upscale/finish a rendered video to a clean HD master. Hosted Topaz (Proteus default / Gaia / Starlight) runs via the apiz/xskill aggregator; magnific-precision runs Magnific Video Upscaler Precision via the direct Magnific REST API (needs MAGNIFIC_API_KEY) with --target-resolution 1k|2k|4k — it accepts MP4/MOV/AVI/WebM/MKV and enforces Magnific limits (<=15s, <=450 frames, <=150MB, <=4K input), failing fast unless --normalize re-encodes the clip to fit; topaz-local shells a local Topaz CLI. The anti-plastic detail-not-sharp recipe (noise/sharpen off, grain kept) is on by default; --sharpen disables it. --grain accepts 0..0.1 — Topaz\'s REAL ceiling (its published 0..1 schema lies); out-of-range values are rejected, not silently clamped. Hosted backends are PAID -> refuses without --confirm-spend (exit-3 spend_confirmation_required); --dry-run plans for free. topaz-local is free. google-flow runs GOOGLE\'s own Veo upsampler and is FREE at 720p/1080p (no --confirm-spend needed; --flow-resolution 4K costs 50 credits + Ultra and IS gated) — it takes --media-id instead of --input because Google upscales only a clip Flow GENERATED (an uploaded or stitched file returns 400 INVALID_ARGUMENT), and 720p promotes a clip generated at resolution 360p. Needs APIZ_API_KEY (or XSKILL_API_KEY) for Topaz hosted backends, MAGNIFIC_API_KEY for magnific-precision, USEAPI_API_TOKEN for google-flow.',
239
+ description: 'Upscale/finish a rendered video to a clean HD master. Hosted Topaz (Proteus default / Gaia / Starlight) runs through the apiz/xskill service; magnific-precision runs the Magnific Video Upscaler Precision on Magnific\'s own API (needs MAGNIFIC_API_KEY) with --target-resolution 1k|2k|4k — it accepts MP4/MOV/AVI/WebM/MKV and enforces Magnific limits (<=15s, <=450 frames, <=150MB, <=4K input), failing fast unless --normalize re-encodes the clip to fit; topaz-local shells a local Topaz CLI. The anti-plastic detail-not-sharp recipe (noise/sharpen off, grain kept) is on by default; --sharpen disables it. --grain accepts 0..0.1 — Topaz\'s REAL ceiling (its published 0..1 schema lies); out-of-range values are rejected, not silently clamped. Hosted backends are PAID -> refuses without --confirm-spend (exit-3 spend_confirmation_required); --dry-run plans for free. topaz-local is free. google-flow runs GOOGLE\'s own Veo upsampler and is FREE at 720p/1080p (no --confirm-spend needed; --flow-resolution 4K costs 50 credits + Ultra and IS gated) — it takes --media-id instead of --input because Google upscales only a clip Flow GENERATED (an uploaded or stitched file returns 400 INVALID_ARGUMENT), and 720p promotes a clip generated at resolution 360p. Needs APIZ_API_KEY (or XSKILL_API_KEY) for Topaz hosted backends, MAGNIFIC_API_KEY for magnific-precision, USEAPI_API_TOKEN for google-flow.',
240
240
  flags: [
241
241
  { name: '--input', kind: 'value' },
242
242
  { name: '--media-id', kind: 'value' },
@@ -342,8 +342,8 @@ export const COMMANDS = [
342
342
  { name: 'video character-add', usage: 'vclaw video character-add --project <slug> --name <name> [--gb-id <id>] [--description <text>] [--costume <text>] [...] [--root <path>]', flags: [{ name: '--description', kind: 'value' }, { name: '--costume', kind: 'value' }] },
343
343
  { name: 'video character-auto-create', usage: 'vclaw video character-auto-create --project <slug> --input <json-path> [--root <path>] [--api-url <url>] [--no-sheet] [--reuse-existing] [--sheet-preset <id>] [--dry-run]' },
344
344
  { name: 'video environment-auto-create', usage: 'vclaw video environment-auto-create --project <slug> --input <json-path> [--root <path>] [--api-url <url>] [--dry-run]' },
345
- { name: 'video show-bible', usage: 'vclaw video show-bible --project <slug> [--title <t>] [--premise <p>] [--style <s>] [--add-episode "id|title|logline"]... [--from-json <path>] [--show] [--root <path>]', description: 'Derive or persist the cartoon-SHOW asset-library index (artifacts/show-bible.json): the repeatable production system that ties the project’s characters + locations + voice clones into one reusable world and tracks the episode list. By default the bible is DERIVED from the project’s existing artifacts and written; --show prints it without writing; --from-json validates+persists an operator-authored bible; --add-episode (repeatable) merges episodes by id. Deterministic — no provider calls. Distinct from story-bible (per-project continuity) and director-blueprint (visual direction).', flags: [{ name: '--project', kind: 'value' }, { name: '--title', kind: 'value' }, { name: '--premise', kind: 'value' }, { name: '--style', kind: 'value' }, { name: '--add-episode', kind: 'value' }, { name: '--from-json', kind: 'value' }, { name: '--show', kind: 'boolean' }, { name: '--root', kind: 'value' }] },
346
- { name: 'video show-preflight', usage: 'vclaw video show-preflight --project <slug> [--root <path>] [--mode storyboard|director]', description: 'Fail-fast gate that ENFORCES the cartoon-show method per route. Given the project’s show-bible + storyboard, it confirms every cast/speaking subject in every scene has the references the resolved provider route actually needs — on the Seedance family (seedance-direct / runway-useapi / dreamina-useapi) each cast member’s character sheet + the scene’s location plate + each speaking character’s bound voice clip, plus a specific visual descriptor (not "the man"); on Flow (veo-useapi) a registered Flow Character. Read-only: prints a JSON blocker report and exits 3 (GATE) when any piece is missing so an && chain or the studio runner halts before a render. A project with no show-bible.json is inert (ready, exit 0). produce/execute apply the same gate when a show-bible exists.', flags: [{ name: '--project', kind: 'value' }, { name: '--root', kind: 'value' }, { name: '--mode', kind: 'value' }] },
345
+ { name: 'video show-bible', usage: 'vclaw video show-bible --project <slug> [--title <t>] [--premise <p>] [--style <s>] [--add-episode "id|title|logline"]... [--from-json <path>] [--show] [--root <path>]', description: 'Derive or persist the cartoon-SHOW asset-library index (artifacts/show-bible.json): the repeatable production system that ties the project’s characters + locations + voice clones into one reusable world and tracks the episode list. By default the bible is DERIVED from the project’s existing artifacts and written; --show prints it without writing; --from-json validates+persists a bible you wrote; --add-episode (repeatable) merges episodes by id. Deterministic — no provider calls. Distinct from story-bible (per-project continuity) and director-blueprint (visual direction).', flags: [{ name: '--project', kind: 'value' }, { name: '--title', kind: 'value' }, { name: '--premise', kind: 'value' }, { name: '--style', kind: 'value' }, { name: '--add-episode', kind: 'value' }, { name: '--from-json', kind: 'value' }, { name: '--show', kind: 'boolean' }, { name: '--root', kind: 'value' }] },
346
+ { name: 'video show-preflight', usage: 'vclaw video show-preflight --project <slug> [--root <path>] [--mode storyboard|director]', description: 'Fail-fast gate that ENFORCES the cartoon-show method per route. Given the project’s show-bible + storyboard, it confirms every cast/speaking subject in every scene has the references the resolved provider route actually needs — on the Seedance family (seedance-direct / runway-useapi / dreamina-useapi) each cast member’s character sheet + the scene’s location plate + each speaking character’s bound voice clip, plus a specific visual descriptor (not "the man"); on Google Veo (veo-useapi) a character you registered in your Google Flow account. Read-only: prints a JSON blocker report and exits 3 (GATE) when any piece is missing so an && chain or the studio runner halts before a render. A project with no show-bible.json is inert (ready, exit 0). produce/execute apply the same gate when a show-bible exists.', flags: [{ name: '--project', kind: 'value' }, { name: '--root', kind: 'value' }, { name: '--mode', kind: 'value' }] },
347
347
  { name: 'video character-import-library', usage: 'vclaw video character-import-library --project <slug> --intent "<text>" [--root <path>] [--api-url <url>]' },
348
348
  { name: 'video character-list', usage: 'vclaw video character-list --project <slug> [--root <path>]' },
349
349
  { name: 'video character-show', usage: 'vclaw video character-show --project <slug> --name <name> [--root <path>]' },
@@ -515,7 +515,7 @@ export const COMMANDS = [
515
515
  {
516
516
  name: 'video cinema-authorize',
517
517
  usage: 'vclaw video cinema-authorize --project <slug> --quote <id> --quote-hash <sha256> --authorization-id <id> --approver <id> --approved-at <iso> --expires-at <iso> --maximum-spend <amount> --evidence <path> ... [--root <path>]',
518
- description: 'Persist a separate evidence-bearing approval for every and only job in one immutable quote, then attach its exact per-job caps to the shared durable queue. Requires the operator to repeat the quote hash and maximum spend. Performs zero provider calls and never submits generation.',
518
+ description: 'Persist a separate evidence-bearing approval for every and only job in one immutable quote, then attach its exact per-job caps to the shared durable queue. Requires you to repeat the quote hash and maximum spend. Performs zero provider calls and never submits generation.',
519
519
  flags: [{ name: '--project', kind: 'value' }, { name: '--quote', kind: 'value' }, { name: '--quote-hash', kind: 'value' }, { name: '--authorization-id', kind: 'value' }, { name: '--approver', kind: 'value' }, { name: '--approved-at', kind: 'value' }, { name: '--expires-at', kind: 'value' }, { name: '--maximum-spend', kind: 'value' }, { name: '--evidence', kind: 'value' }, { name: '--root', kind: 'value' }],
520
520
  },
521
521
  {
@@ -573,7 +573,7 @@ export const COMMANDS = [
573
573
  {
574
574
  name: 'video flow-register-characters',
575
575
  usage: 'vclaw video flow-register-characters --project <slug> --input <json-path> [--root <path>]',
576
- description: 'Register reusable Google Flow characters (locked identity + optional bundled voice) from a JSON array of {name,images,voice?}; writes artifacts/flow-characters.json. Scene characters then resolve to character_1..7 on veo-useapi. R2V-routed; the Veo 3.1 R2V character lane now clears photoreal human faces (live-proven), so register real people directly and render scenes with vclaw video flow-r2v.',
576
+ description: 'Register reusable Google Flow characters (locked identity + optional bundled voice) from a JSON array of {name,images,voice?}; writes artifacts/flow-characters.json. Scene characters then resolve to character_1..7 on veo-useapi. R2V-routed; the Veo 3.1 reference-to-video path now clears photoreal human faces (live-proven), so register real people directly and render scenes with vclaw video flow-r2v.',
577
577
  },
578
578
  {
579
579
  name: 'video flow-r2v',
@@ -608,7 +608,7 @@ export const COMMANDS = [
608
608
  { name: 'video index', usage: 'vclaw video index [--root <path>] [--output <path>]' },
609
609
  { name: 'video monitor', usage: 'vclaw video monitor [--port <n>] [--root <path> ...]' },
610
610
  { name: 'video migrate-home', usage: 'vclaw video migrate-home [--confirm] [--root <home>]', description: 'Consolidate scattered projects (~/.videoclaw-* roots) into the one canonical workspace home (~/videoclaw): mv each project in, leave a symlink at the old path so old absolute paths still resolve. Dry-run by default (prints the move plan); --confirm performs the moves. Collision-safe (slug clashes get a -2/-3 suffix) and idempotent (already-symlinked dirs are skipped).' },
611
- { name: 'video lane', usage: 'vclaw video lane <acquire|await|heartbeat|release|receipt|status|history> --route <routeId> [--account <id>] [--project <slug>] [--scene <i>] [--ticket <id>] [--limit <n>] [--ttl <sec>] [--max-wait <sec>] [--prompt <text>] [--prompt-hash <hash>] [--outcome <completed|failed|timeout|lease-lost|not-submitted|slot-busy|abandoned> [--job <id>] [--note <text>]] [--receipt-id <id> --phase <phase> --payload <json> [--content-hash <hash>]]', description: 'Local development or Cloudflare-shared multi-computer provider lanes. Lane key is route:account (limits are per account). With VCLAW_SHARED_QUEUE_REQUIRED=1, missing/unreachable remote coordination fails before provider access and never falls back to SQLite. Enforced acquire/await requires a stable prompt identity; receipts append immutable reference/submission evidence to an exact shared ticket; leases expire so a dead holder cannot wedge the lane.', flags: [{ name: '--route', kind: 'value' }, { name: '--account', kind: 'value' }, { name: '--project', kind: 'value' }, { name: '--scene', kind: 'value' }, { name: '--ticket', kind: 'value' }, { name: '--limit', kind: 'value' }, { name: '--ttl', kind: 'value' }, { name: '--max-wait', kind: 'value' }, { name: '--prompt', kind: 'value' }, { name: '--prompt-hash', kind: 'value' }, { name: '--receipt-id', kind: 'value' }, { name: '--phase', kind: 'value' }, { name: '--payload', kind: 'value' }, { name: '--content-hash', kind: 'value' }] },
611
+ { name: 'video lane', usage: 'vclaw video lane <acquire|await|heartbeat|release|receipt|status|history> --route <routeId> [--account <id>] [--project <slug>] [--scene <i>] [--ticket <id>] [--limit <n>] [--ttl <sec>] [--max-wait <sec>] [--prompt <text>] [--prompt-hash <hash>] [--outcome <completed|failed|timeout|lease-lost|not-submitted|slot-busy|abandoned> [--job <id>] [--note <text>]] [--receipt-id <id> --phase <phase> --payload <json> [--content-hash <hash>]]', description: 'Local development or Cloudflare-shared multi-computer provider lanes. Lane key is route:account (limits are per account). With VCLAW_SHARED_QUEUE_REQUIRED=1, missing/unreachable remote coordination fails before provider access and never falls back to SQLite. Enforced acquire/await requires a stable prompt identity; receipts append immutable reference/submission evidence to an exact shared ticket; leases expire so a dead holder cannot wedge the queue.', flags: [{ name: '--route', kind: 'value' }, { name: '--account', kind: 'value' }, { name: '--project', kind: 'value' }, { name: '--scene', kind: 'value' }, { name: '--ticket', kind: 'value' }, { name: '--limit', kind: 'value' }, { name: '--ttl', kind: 'value' }, { name: '--max-wait', kind: 'value' }, { name: '--prompt', kind: 'value' }, { name: '--prompt-hash', kind: 'value' }, { name: '--receipt-id', kind: 'value' }, { name: '--phase', kind: 'value' }, { name: '--payload', kind: 'value' }, { name: '--content-hash', kind: 'value' }] },
612
612
  { name: 'video metrics', usage: 'vclaw video metrics [--root <path>] [--mode storyboard|director]' },
613
613
  { name: 'video next-actions', usage: 'vclaw video next-actions [--root <path>] [--mode storyboard|director]' },
614
614
  { name: 'video report', usage: 'vclaw video report [--root <path>] [--mode storyboard|director]' },