[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-92500":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":17,"rankGlobal":10,"rankLanguage":10,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":19,"hasPages":19,"topics":21,"createdAt":10,"pushedAt":10,"updatedAt":42,"readmeContent":43,"aiSummary":44,"trendingCount":15,"starSnapshotCount":15,"syncStatus":45,"lastSyncTime":46,"discoverSource":47},92500,"Orkas-VideoStudio","Orkas-AI\u002FOrkas-VideoStudio","Orkas-AI","Turn your coding agent into a video studio: describe a video in plain language, and your agent writes the timeline and produces the file.","https:\u002F\u002Forkas.ai?source=github",null,"TypeScript",160,13,68,0,92,52.64,"MIT License",false,"main",[22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],"ai-agents","ai-video","cli","coding-agents","ffmpeg","generative-ai","hyperframes","local-first","mcp-server","motion-graphics","open-source","subtitles","text-to-video","tts","typescript","video-automation","video-composition","video-editing","video-generation","whisper-cpp","2026-07-22 04:02:06","# OrkasVideoStudio\n\n> Drive video **composition, generation, and editing** — and a fully **automatic end-to-end\n> pipeline** — from your coding agent. Claude Code, Codex, Cursor: any agent that can run a\n> shell or speak MCP can use it.\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F13411470-06da-4f64-9bc1-fa52fe27216b\n\nOrkasVideoStudio is **not a black-box video agent**. A video is expressed as a readable,\ndiffable, re-renderable plan (`plan.json`) that your agent — and you — can edit; change one\nline and only that piece re-renders. The agent is the brain; this project ships the\n**knowledge** (what makes a good video, and which production line to take), the\n**deterministic capabilities** (render \u002F edit \u002F transcribe \u002F generate — thin wrappers over\n[`hyperframes`](https:\u002F\u002Fgithub.com\u002Fheygen-com\u002Fhyperframes), `ffmpeg`, and `whisper.cpp`), and\nthat **editable IR**.\n\nYou talk to your agent in plain language — *\"make a 60-second vertical explainer on vector\ndatabases with a Chinese voiceover and captions\"* — and it reads the material, writes the\ntimeline, and produces the file.\n\n---\n\n## The four production lines\n\nThree orthogonal capability axes, plus an automatic pipeline that weaves them together:\n\n- **Compose** — script → designed HTML motion graphics → mp4. Explainers, kinetic typography,\n  lower-thirds, data viz, title cards, transitions. **No paid keys.**\n- **Edit** — cut \u002F join \u002F trim-silence \u002F de-filler \u002F mix \u002F burn-in subtitles \u002F dub \u002F localize\n  real footage you supply, plus highlight selection over long recordings. **No paid keys.**\n- **Generate** — talking-head or cinematic AI footage and imagery via **your own** provider\n  keys (BYO — OpenAI, Gemini, Doubao; no managed backend, no lock-in).\n- **Auto (end-to-end)** — when a deliverable needs more than one axis, the agent routes to a\n  single cross-modal `plan.json`: `stage-plan` builds the EDL, `stage-assemble` walks it and\n  delegates each segment back to compose \u002F generate \u002F edit, and a deterministic\n  **delivery guard** (`ovs plan promise-check`) verifies the finished cut keeps its promise\n  (e.g. real motion, not a silent slideshow) before anything ships.\n\nThe plan is the contract: *\"the footage in the middle, generate an opener, compose the stats,\none voiceover over all of it\"* becomes one editable file where every segment, caption, and\nnarration line is independently re-renderable.\n\n---\n\n## Relationship to Orkas\n\nOrkasVideoStudio began life as the built-in **video agent inside [Orkas](https:\u002F\u002Forkas.ai)** —\nthe AI-team desktop app — where it was validated end-to-end, then extracted into this\nagent-agnostic, MIT-licensed toolkit.\n\n- **Inside Orkas** it ships as a built-in agent — no separate install; the zero-key trunk\n  works out of the box.\n- **Everywhere else** you install it into your own coding agent (below) and get the same\n  capabilities via the `ovs` CLI and MCP server.\n\nLinks: **[orkas.ai](https:\u002F\u002Forkas.ai)** (website) · **[github.com\u002FOrkas-AI](https:\u002F\u002Fgithub.com\u002FOrkas-AI)**\n(open-source projects) · **[this repo](https:\u002F\u002Fgithub.com\u002FOrkas-AI\u002FOrkas-VideoStudio)**.\n\n---\n\n## Use cases\n\nEach is a real prompt you'd give your agent; the router picks the line for you.\n\n| You say… | Line | What happens |\n|---|---|---|\n| *\"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. |\n| *\"Turn this 1-hour screen recording into three 30s highlight clips with captions.\"* | Edit | `scenes`\u002F`quality` find the good parts, `rank-takes` picks, `trim-silence`\u002F`remove-fillers` tighten, subtitles burned in. |\n| *\"Add an English voiceover + subtitles to product-demo.mp4 and normalize the loudness.\"* | Edit | transcribe → localize → `speak` → `mix` → `burnsubs` → loudness pass. |\n| *\"Clean the silences and 'um's out of my webcam take and tighten it.\"* | Edit | deterministic jump-cut with an auditable evidence trail. |\n| *\"Generate a 5s cinematic shot of a city at dawn for the intro.\"* | Generate | BYO image\u002Fvideo provider → clip on your timeline. |\n| *\"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. |\n\n---\n\n## Install\n\n**Prerequisites:** Node ≥ 20, and `ffmpeg` + `ffprobe` on your `PATH` (needed for edit \u002F\ntranscribe \u002F local media QA). Compose drafts use a VideoStudio QA gate backed by\n[HyperFrames](https:\u002F\u002Fgithub.com\u002Fheygen-com\u002Fhyperframes) at runtime via `npx` (first run\nneeds network). Generation is opt-in and needs your own keys.\n\n> **Early development:** the npm packages are being published. Until then, install from source\n> — the `ovs` CLI works exactly the same.\n\n### From source (works today)\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FOrkas-AI\u002FOrkas-VideoStudio.git\ncd Orkas-VideoStudio\npnpm install && pnpm build\nnode packages\u002Fcli\u002Fdist\u002Findex.js doctor     # verify ffmpeg\u002Fffprobe\u002Fnode\n# optionally alias it:  alias ovs=\"node $PWD\u002Fpackages\u002Fcli\u002Fdist\u002Findex.js\"\n```\n\n### From npm (once published)\n\n```bash\nnpm i -g @orkas\u002Fvideo-studio     # provides the `ovs` command\novs doctor                       # checks ffmpeg\u002Fffprobe\u002Fnode; guides any install\n```\n\n---\n\n## Drive it from your coding agent\n\nThe `ovs` CLI is the canonical interface; the MCP tools mirror it 1:1. There are three ways an\nagent picks it up — use whichever your agent supports:\n\n**1) Native skills (Claude Code \u002F Codex).** Materialize the `SKILL.md` knowledge pack so the\nagent discovers it by progressive disclosure:\n\n```bash\novs skills --install --target claude   # → ~\u002F.claude\u002Fskills   (add --scope repo for .\u002F.claude\u002Fskills)\novs skills --install --target codex    # → ~\u002F.agents\u002Fskills\n```\n\n**2) MCP typed tools.** Register the server (mirrors the CLI):\n\n```bash\nclaude mcp add ovs -- npx -y @orkas\u002Fvideo-studio-mcp     # Claude Code\ncodex  mcp add ovs -- npx -y @orkas\u002Fvideo-studio-mcp     # Codex\n# from source (until published): point it at  node \u003Crepo>\u002Fpackages\u002Fmcp\u002Fdist\u002Findex.js\n```\n\n**3) Self-describing CLI (any agent that can run a shell).** No native loader needed:\n\n```bash\novs skills               # list the skills\novs skill video-router   # print a skill's full instructions into context\novs --help               # the full command surface\n```\n\n**How a session flows.** The agent reads **`video-router`** first (it locks the line), then the\nrelevant stage skills, authors the composition and\u002For `plan.json`, runs the deterministic\nops, and self-verifies with the delivery guard:\n\n```text\nYou:   Make a 60s vertical explainer on vector databases, with a Chinese voiceover.\nAgent: → reads video-router (locks: compose-primary)\n       → reads stage-plan \u002F stage-compose \u002F video-craft\n       → writes composition\u002Findex.html + plan.json\n       → ovs draft composition --out draft.mp4 --report draft-report.json\n       → ovs plan promise-check plan.json         # guard passes\n       → returns draft.mp4\n```\n\nThe full command surface: `doctor · draft · render · lint · inspect · snapshot · edit {probe,trim,concat,\nburnsubs,overlay,extract-frame,loudness,mix,trim-silence,remove-fillers} · transcribe ·\nsilence · scenes · quality · plan {validate,summarize,promise-check,rank-takes} · speak ·\nimage · video · skills`.\n\n---\n\n## BYO generation providers\n\nThe compose \u002F edit \u002F transcribe trunk is **zero-key**. Generation (image \u002F video \u002F TTS) is\nopt-in and uses **your** keys — no managed backend, no account binding. Configure via\n`~\u002F.config\u002Forkas-video-studio\u002Fconfig.json` (or `OVS_CONFIG_DIR`) or environment variables:\n\n| Capability | Providers | Env |\n|---|---|---|\n| Image (`ovs image`) | OpenAI-compatible · Gemini · Doubao Seedream | `OVS_IMAGE_PROVIDER` · `OVS_IMAGE_BASE_URL` · `OVS_IMAGE_API_KEY` · `OVS_IMAGE_MODEL` |\n| Video (`ovs video`) | Doubao Seedance (image-to-video) | `OVS_VIDEO_PROVIDER` · `OVS_VIDEO_BASE_URL` · `OVS_VIDEO_API_KEY` · `OVS_VIDEO_MODEL` |\n| 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` |\n\n---\n\n## How it compares\n\nHyperFrames, ffmpeg, and whisper.cpp are **dependencies** here, not competitors — OrkasVideoStudio\nis the agent-facing knowledge, draft QA gate, and IR layer on top of them. Against other ways to make video:\n\n| | OrkasVideoStudio | Programmatic frameworks (Remotion, Revideo) | AI SaaS editors (Descript, Opus Clip, Runway) | Thin MCP \u002F ffmpeg wrappers |\n|---|---|---|---|---|\n| **Driver** | any coding agent, in natural language (CLI + MCP) | you hand-write React\u002FTS | GUI \u002F hosted | an agent, but tools only |\n| **Artifact** | editable, diffable `plan.json` IR — per-segment re-render | code (re-run to render) | black-box timeline \u002F hosted project | none |\n| **Scope** | compose + edit + generate + **AUTO** end-to-end | composition (programmatic) | mostly edit *or* generate, per product | whatever the tool exposes |\n| **Guidance** | ships \"what makes a good video\" as skills + a deterministic delivery guard | none — you decide | product-opinionated | none |\n| **Keys \u002F hosting** | zero-key trunk; **BYO** keys for generation; local-first, self-host | your own infra | vendor keys + hosted, lock-in | varies |\n| **License** | MIT | may require a company license for teams | proprietary | varies |\n\nWhere it fits: reach for a **framework** when you want to hand-code every frame; a **SaaS\neditor** when a GUI and hosting are the point; **OrkasVideoStudio** when you want your *agent*\nto make the video, keep the result as an auditable file you can edit and re-render, and stay\nlocal + open with your own keys.\n\n---\n\n## Packages\n\n| Package | What |\n|---|---|\n| `@orkas\u002Fvideo-studio-core` | the `plan.json` IR (schema + validator + delivery guard), decision layer, runtime\u002Fconfig |\n| `@orkas\u002Fvideo-studio-tools` | capability backends (render \u002F edit \u002F analyze \u002F speech \u002F image \u002F video) |\n| `@orkas\u002Fvideo-studio` | the `ovs` CLI |\n| `@orkas\u002Fvideo-studio-mcp` | MCP server (mirrors the CLI 1:1) |\n| `@orkas\u002Fvideo-studio-skills` | the host-neutral `SKILL.md` knowledge pack |\n\nThe technical plan and roadmap live in [`PLAN.md`](.\u002FPLAN.md).\n\n## Development\n\n```bash\npnpm install\npnpm build        # tsc per package (core → tools → cli\u002Fmcp)\npnpm test         # vitest\npnpm typecheck\n```\n\n## License\n\nMIT — see [`LICENSE`](.\u002FLICENSE). Rendering uses [HyperFrames](https:\u002F\u002Fgithub.com\u002Fheygen-com\u002Fhyperframes)\nat runtime via `npx`; editing\u002Ftranscription use system `ffmpeg` and `whisper.cpp`. See\n[`PLAN.md`](.\u002FPLAN.md) for how third-party runtimes are located and the licensing notes.\n","Orkas-VideoStudio 是一个面向编程代理（coding agent）的本地优先视频自动化工具，将自然语言视频需求转化为可编辑、可增量渲染的结构化计划（plan.json），并驱动端到端视频生成与编辑。核心功能涵盖视频合成（HTML动效字幕\u002F数据可视化）、剪辑（裁切\u002F静音移除\u002F字幕烧录）、AI素材生成（BYO模型密钥）及跨模态自动编排；技术上基于 TypeScript 实现，轻量封装 hyperframes、FFmpeg 和 whisper.cpp，支持 CLI 与 MCP 协议，强调确定性、可审计与无云依赖。适用于开发者构建自动化视频工作流、AI 团队集成视频能力，或需离线\u002F可控环境完成教育类解说、产品演示、多语言本地化等任务。",2,"2026-07-09 02:30:09","CREATED_QUERY"]