Orkas-VideoStudio
Health Uyari
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Basarisiz
- process.env — Environment variable access in packages/core/src/config/config.ts
- exec() — Shell command execution in packages/core/src/decide/decide.ts
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
Turn your coding agent into a video studio: describe a video in plain language, and your agent writes the timeline and produces the file.
OrkasVideoStudio
Drive video composition, generation, and editing — and a fully automatic end-to-end
pipeline — from your coding agent. Claude Code, Codex, Cursor: any agent that can run a
shell or speak MCP can use it.
https://github.com/user-attachments/assets/13411470-06da-4f64-9bc1-fa52fe27216b
OrkasVideoStudio is not a black-box video agent. A video is expressed as a readable,
diffable, re-renderable plan (plan.json) that your agent — and you — can edit; change one
line and only that piece re-renders. The agent is the brain; this project ships the
knowledge (what makes a good video, and which production line to take), the
deterministic capabilities (render / edit / transcribe / generate — thin wrappers overhyperframes, ffmpeg, and whisper.cpp), and
that editable IR.
You talk to your agent in plain language — "make a 60-second vertical explainer on vector
databases with a Chinese voiceover and captions" — and it reads the material, writes the
timeline, and produces the file.
The four production lines
Three orthogonal capability axes, plus an automatic pipeline that weaves them together:
- Compose — script → designed HTML motion graphics → mp4. Explainers, kinetic typography,
lower-thirds, data viz, title cards, transitions. No paid keys. - Edit — cut / join / trim-silence / de-filler / mix / burn-in subtitles / dub / localize
real footage you supply, plus highlight selection over long recordings. No paid keys. - Generate — talking-head or cinematic AI footage and imagery via your own provider
keys (BYO — OpenAI, Gemini, Doubao; no managed backend, no lock-in). - Auto (end-to-end) — when a deliverable needs more than one axis, the agent routes to a
single cross-modalplan.json:stage-planbuilds the EDL,stage-assemblewalks it and
delegates each segment back to compose / generate / edit, and a deterministic
delivery guard (ovs plan promise-check) verifies the finished cut keeps its promise
(e.g. real motion, not a silent slideshow) before anything ships.
The plan is the contract: "the footage in the middle, generate an opener, compose the stats,
one voiceover over all of it" becomes one editable file where every segment, caption, and
narration line is independently re-renderable.
Relationship to Orkas
OrkasVideoStudio began life as the built-in video agent inside Orkas —
the AI-team desktop app — where it was validated end-to-end, then extracted into this
agent-agnostic, MIT-licensed toolkit.
- Inside Orkas it ships as a built-in agent — no separate install; the zero-key trunk
works out of the box. - Everywhere else you install it into your own coding agent (below) and get the same
capabilities via theovsCLI and MCP server.
Links: orkas.ai (website) · github.com/Orkas-AI
(open-source projects) · this repo.
Use cases
Each is a real prompt you'd give your agent; the router picks the line for you.
| You say… | Line | What happens |
|---|---|---|
| "Make a 60s vertical explainer on what a vector DB is, Chinese voiceover + captions." | Compose | HTML motion-graphic scenes → narration (BYO TTS) → burned-in captions → mp4. |
| "Turn this 1-hour screen recording into three 30s highlight clips with captions." | Edit | scenes/quality find the good parts, rank-takes picks, trim-silence/remove-fillers tighten, subtitles burned in. |
| "Add an English voiceover + subtitles to product-demo.mp4 and normalize the loudness." | Edit | transcribe → localize → speak → mix → burnsubs → loudness pass. |
| "Clean the silences and 'um's out of my webcam take and tighten it." | Edit | deterministic jump-cut with an auditable evidence trail. |
| "Generate a 5s cinematic shot of a city at dawn for the intro." | Generate | BYO image/video provider → clip on your timeline. |
| "Make a 15s 9:16 promo from this script: generate the opener, compose the feature callouts, one VO." | Auto | one plan.json woven across generate + compose + narration, guarded before delivery. |
Install
Prerequisites: Node ≥ 20, and ffmpeg + ffprobe on your PATH (needed for edit /
transcribe / the local trunk). Compose/render pulls HyperFrames
at runtime via npx (first run needs network). Generation is opt-in and needs your own keys.
Early development: the npm packages are being published. Until then, install from source
— theovsCLI works exactly the same.
From source (works today)
git clone https://github.com/Orkas-AI/Orkas-VideoStudio.git
cd Orkas-VideoStudio
pnpm install && pnpm build
node packages/cli/dist/index.js doctor # verify ffmpeg/ffprobe/node
# optionally alias it: alias ovs="node $PWD/packages/cli/dist/index.js"
From npm (once published)
npm i -g @orkas/video-studio # provides the `ovs` command
ovs doctor # checks ffmpeg/ffprobe/node; guides any install
Drive it from your coding agent
The ovs CLI is the canonical interface; the MCP tools mirror it 1:1. There are three ways an
agent picks it up — use whichever your agent supports:
1) Native skills (Claude Code / Codex). Materialize the SKILL.md knowledge pack so the
agent discovers it by progressive disclosure:
ovs skills --install --target claude # → ~/.claude/skills (add --scope repo for ./.claude/skills)
ovs skills --install --target codex # → ~/.agents/skills
2) MCP typed tools. Register the server (mirrors the CLI):
claude mcp add ovs -- npx -y @orkas/video-studio-mcp # Claude Code
codex mcp add ovs -- npx -y @orkas/video-studio-mcp # Codex
# from source (until published): point it at node <repo>/packages/mcp/dist/index.js
3) Self-describing CLI (any agent that can run a shell). No native loader needed:
ovs skills # list the skills
ovs skill video-router # print a skill's full instructions into context
ovs --help # the full command surface
How a session flows. The agent reads video-router first (it locks the line), then the
relevant stage skills, authors the composition and/or plan.json, runs the deterministic
ops, and self-verifies with the delivery guard:
You: Make a 60s vertical explainer on vector databases, with a Chinese voiceover.
Agent: → reads video-router (locks: compose-primary)
→ reads stage-plan / stage-compose / video-craft
→ writes composition/index.html + plan.json
→ ovs render composition --out draft.mp4
→ ovs plan promise-check plan.json # guard passes
→ returns draft.mp4
The full command surface: doctor · render · lint · inspect · edit {probe,trim,concat, burnsubs,overlay,extract-frame,loudness,mix,trim-silence,remove-fillers} · transcribe · silence · scenes · quality · plan {validate,summarize,promise-check,rank-takes} · speak · image · video · skills.
BYO generation providers
The compose / edit / transcribe trunk is zero-key. Generation (image / video / TTS) is
opt-in and uses your keys — no managed backend, no account binding. Configure via~/.config/orkas-video-studio/config.json (or OVS_CONFIG_DIR) or environment variables:
| Capability | Providers | Env |
|---|---|---|
Image (ovs image) |
OpenAI-compatible · Gemini · Doubao Seedream | OVS_IMAGE_PROVIDER · OVS_IMAGE_BASE_URL · OVS_IMAGE_API_KEY · OVS_IMAGE_MODEL |
Video (ovs video) |
Doubao Seedance (image-to-video) | OVS_VIDEO_PROVIDER · OVS_VIDEO_BASE_URL · OVS_VIDEO_API_KEY · OVS_VIDEO_MODEL |
TTS (ovs speak) |
OpenAI-compatible (incl. ElevenLabs-style) | OVS_TTS_BASE_URL · OVS_TTS_API_KEY · OVS_TTS_MODEL · OVS_TTS_VOICE · OVS_TTS_FORMAT |
How it compares
HyperFrames, ffmpeg, and whisper.cpp are dependencies here, not competitors — OrkasVideoStudio
is the agent-facing knowledge + IR layer on top of them. Against other ways to make video:
| OrkasVideoStudio | Programmatic frameworks (Remotion, Revideo) | AI SaaS editors (Descript, Opus Clip, Runway) | Thin MCP / ffmpeg wrappers | |
|---|---|---|---|---|
| Driver | any coding agent, in natural language (CLI + MCP) | you hand-write React/TS | GUI / hosted | an agent, but tools only |
| Artifact | editable, diffable plan.json IR — per-segment re-render |
code (re-run to render) | black-box timeline / hosted project | none |
| Scope | compose + edit + generate + AUTO end-to-end | composition (programmatic) | mostly edit or generate, per product | whatever the tool exposes |
| Guidance | ships "what makes a good video" as skills + a deterministic delivery guard | none — you decide | product-opinionated | none |
| Keys / hosting | zero-key trunk; BYO keys for generation; local-first, self-host | your own infra | vendor keys + hosted, lock-in | varies |
| License | MIT | may require a company license for teams | proprietary | varies |
Where it fits: reach for a framework when you want to hand-code every frame; a SaaS
editor when a GUI and hosting are the point; OrkasVideoStudio when you want your agent
to make the video, keep the result as an auditable file you can edit and re-render, and stay
local + open with your own keys.
Packages
| Package | What |
|---|---|
@orkas/video-studio-core |
the plan.json IR (schema + validator + delivery guard), decision layer, runtime/config |
@orkas/video-studio-tools |
capability backends (render / edit / analyze / speech / image / video) |
@orkas/video-studio |
the ovs CLI |
@orkas/video-studio-mcp |
MCP server (mirrors the CLI 1:1) |
@orkas/video-studio-skills |
the host-neutral SKILL.md knowledge pack |
The technical plan and roadmap live in PLAN.md.
Development
pnpm install
pnpm build # tsc per package (core → tools → cli/mcp)
pnpm test # vitest
pnpm typecheck
License
MIT — see LICENSE. Rendering uses HyperFrames
at runtime via npx; editing/transcription use system ffmpeg and whisper.cpp. SeePLAN.md for how third-party runtimes are located and the licensing notes.
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi