@blackbelt-technology/pi-dashboard-video-production0.11.0
TypeScript port of the veo-generator + veo-showreel-production-kit pi skills. Parses a scripted shot package (shots/*.md) and renders one mp4 clip per camera cut with the Google Veo 3.1 API, plus storyboard first-frame generation via nano-banana. Exposed
Untested on omp
This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.
Reports 0
No reports yet.
Readme
@blackbelt-technology/pi-dashboard-video-production
TypeScript port of the standalone veo-generator + veo-showreel-production-kit
pi skills — no Python. Parses a scripted shot package (shots/*.md) and renders
one mp4 clip per camera cut with the Google Veo 3.1 API, reusing the prompt,
negative prompt, seed, aspect/resolution, reference image and first-frame sketch
written in each shot file. Storyboard first-frames are generated via nano-banana.
Exposed as:
- pi skills —
veo-showreel-production-kit(prompting) +veo-generator(render). - pi skills for real footage —
hyperframes-showreel(footage → HyperFrames showreel: sampling, edit script, redacted clips, generated composition, Veo as screen-blend FX only, music + punches, delivery render, export QA) andfootage-redaction(redact.py: JSON spec → crop / timed delogo / detector-gated blur in one ffmpeg pass, stdlib-only, contact-sheet verification). The music step uses@blackbelt-technology/pi-dashboard-music-production. - CLI bin —
pi-veo(parse/plan/render/storyboard/export/mux).
Usage
pi-veo parse <Project> # dry-run: validate the shot package
pi-veo plan <Project> # resolve key/model/outputs, no API call
pi-veo render <Project> --shots 01 # render one shot
pi-veo render <Project> --model fast --resolution 720p # cheap preview pass
pi-veo render <Project> --parallel 4 # independent shots, N concurrent
pi-veo render <Project> --chain # seamless A→B (ffmpeg last-frame handoff)
pi-veo storyboard <Project> # (re)generate first-frame sketches
pi-veo export render <Project> # pi-video-gen render-input.json (needs film.json sidecars)
pi-veo export timeline <Project> --clips video_production/renders # video_compose timeline-input.json
pi-veo mux <Project> --picture final_video.mp4 # VO + music + captions → video_production/master/master.mp4
export targets the optional user-installed @amaster.ai/pi-video-gen extension
(verified 0.1.18; run from the pi session cwd). mux needs ffmpeg + ffprobe.
<Project> may be a project dir, a video_production dir, or a shots dir.
Rendered clips land in <package>/renders/; already-rendered shots are skipped
unless --force.
API key
VEO_API_KEY (or GEMINI_API_KEY / GOOGLE_API_KEY) resolves from, in order:
--api-key, the environment, a project-local .env (project + up to two parents),
then this package's .env. Copy .env.example. Nothing committed.
Prerequisites
- Node (runs as TypeScript via pi's jiti loader — no build step).
@google/genai(bundled dependency) + a Veo-enabled Gemini API key.ffmpegon PATH — only for--chain.- Network access for
npx(storyboard step fetches the nano-banana CLI).
Programmatic API
import { renderShots, planRender } from "@blackbelt-technology/pi-dashboard-video-production/render.js";
import { inspectPackage } from "@blackbelt-technology/pi-dashboard-video-production/inspect.js";
import { generateStoryboard } from "@blackbelt-technology/pi-dashboard-video-production/storyboard.js";
The Veo client is injectable (clientFactory) so rendering logic is testable
without the SDK or network.