context-attachment-manager
Claude Desktop용 플러그인, 다음 메시지에 사용할 과거 이미지 선택 가능
DEMO_SCRIPT와 실행 중인 웹 앱을 내레이션과 자막이 포함된 MP4로 변환하는 무인 파이프라인
A headless pipeline that turns a DEMO_SCRIPT manifest and a running web app into a narrated, captioned MP4. Audio-first, zero-drift, checks its own work, keyless dry-run. CLI and Claude Code plugin.
플러그인TypeScript · ShellGitHub @OrionArchitekton온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Narrated, captioned demo videos of web apps from a script, headless. CLI and Claude Code plugin.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Optional prepared opening scenes and external scene renderers are documented in Optional opening scene. They are off by default, preserve narration and timing, and require no Blender or private scene library.
Turn a DEMO_SCRIPT.md and a running web app into a finished, narrated, captioned MP4, headless and
repeatable. Narration is generated first and becomes the clock for the screen recording and the
captions, so audio, video and captions stay in sync by construction. Length is capped by
maxDurationSec (default 300).
Watch the self-demo on YouTube (one minute): the tool rendered it of a sample app and of its own
script, run and checks, from demos/self/. The video file is also on the
v0.3.0 release.
All three ways need Node 18 or newer and ffmpeg 5.1 or newer plus ffprobe on PATH
(apt install ffmpeg or brew install ffmpeg; check with ffmpeg -version).
Claude Code plugin. Adds a demo-video skill that walks Claude through a video, and a
read-only render-reviewer agent that checks the contact sheet before narration is spent:
/plugin marketplace add OrionArchitekton/agent-demo-video
/plugin install agent-demo-video@agent-demo-video
Then ask Claude for a demo video of your app. The skill runs the CLI through npx.
npx or a global install:
npx -y -p [email protected] playwright install chromium # one time: the browser build this CLI uses
npx -y [email protected] demo.config.json
# or: npm install -g agent-demo-video, then: demo-video demo.config.json
From source:
git clone https://github.com/OrionArchitekton/agent-demo-video.git
cd agent-demo-video
pnpm install
pnpm exec playwright install chromium
From a source checkout, render the bundled smoke demo with silent narration. It needs no API key and no running app:
FAKE_TTS=1 pnpm demo demos/smoke/demo.config.json
Output lands in demos/smoke/out/: final.mp4, captions.srt, contact-sheet.png and
render-report.json.
For your own app:
DEMO_SCRIPT.md: one ### SHOT <id> per shot, with narration and browser actions
(script format).demo.config.json that points at the script and your running app
(config; sample: demo.config.sample.json).FAKE_TTS=1 first and look at contact-sheet.png.### SHOT intro
- target: dashboard
- narration: This is the dashboard. Every active workflow, at a glance.
- action: goto url="/"
- action: highlight selector="#workflows"
- action: wait ms=800
ELEVENLABS_API_KEY. Without a key the run stops rather than shipping a
silent video.voice.provider: "command" runs any program you can call from a
shell, with an optional aligner for word-timed captions (voice).FAKE_TTS=1 renders placeholder narration of estimated length, for drafts.target: live drives a saved browser profile kept outside the repo;
demo-video login <config.json> creates it (authenticated capture)."platform": "shorts" renders 9:16, and brand.hook puts large text on the first
frame (config).voice.aligner is configured, a transcript check compares what the
video says with the script, and Shorts without a hook are flagged (quality checks).brand.motion: true animates the title and end cards with HyperFrames, an
optional add-on (motion cards).final.mp4 against the configured
format, writes a contact-sheet.png with one still per segment (title and end cards included), and records everything in
.demo-video <config.json> [--no-preflight] [--out <new-directory>] [--script <absolute-file>]
[--clips-dir <absolute-directory>] [--render-host <host>]
demo-video login <config.json>
Pin voice.seed in your config and lock your ffmpeg and Chromium versions to get byte-stable
reruns from the same script. The only inputs that change between demo iterations are
DEMO_SCRIPT.md and demo.config.json; everything else is deterministic given the same narration
audio.
MIT
render-report.json