kineto
Health Warn
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 6 GitHub stars
Code Fail
- spawnSync — Synchronous process spawning in cli/cli.test.ts
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
An agent-first video studio built on Remotion. Clone it, point your coding agent at it, get real MP4s — every video, asset and render tracked.
kineto
An agent-first video studio built on Remotion.
Describe a video in plain words. Claude Code or Codex builds it through one CLI,
and every asset and render stays on record.
▶ The preview loops without sound. Watch the full 55-second promo, made in this repository with kineto.
English · 简体中文
✨ Why kineto
- AI-made videos are everywhere, yet the way they are made is rarely visible.
- Coding agents already write Remotion code. Left alone, they guess outdated APIs, scatter files and lose track of what they rendered.
- kineto gives the agent one CLI as the only way to change records. The creative work, scenes and timelines, stays in plain Remotion.
- You ask in natural language and get a real MP4. This is vibe coding applied to video.
|
🚪 One door
|
🏷️ Provenance for every asset
|
|
🧾 Every render on file
|
🔌 Pluggable
|
🚀 Quick start
git clone https://github.com/zephyr4123/kineto.git && cd kineto
npm install
./kineto setup # install the official Remotion agent skills
./kineto doctor # check Node, dependencies, config, storage and skills
./kineto new hello --title "Hello kineto"
./kineto studio hello # preview while the scenes are being written
./kineto render hello
With an agent, open it in the repository and ask for a video. It reads AGENTS.md and works from there.
🧭 How it works
person "make a 30-second launch clip with a voiceover"
↓
agent reads AGENTS.md and the official Remotion skills, issues CLI calls
↓
kineto CLI the only door: JSON output, stable exit codes, errors with hints
↓
kernel video catalog · asset library · render · sync · check
↓
strategies engine: Remotion · storage: local, S3-compatible · tools: tts, transcribe
| What it holds | Where | |
|---|---|---|
| 🎬 Video | Code, metadata and render history | videos/<id>/ |
| 🖼️ Asset | Content-addressed file with license, author and source | assets/manifest.jsonl + storage |
| 📦 Render | Each export with git sha, codec and Remotion version | videos/<id>/renders.jsonl + storage |
Each render bundles only its own video, so a broken video cannot block the others.
☁️ Storage
Assets and renders stay out of git. They go to the backend set in kineto.config.yaml (start from kineto.config.example.yaml).
localis the default: a directory inside the repository, no setup required.s3works with Tencent COS, AWS S3, Cloudflare R2, Alibaba OSS and MinIO. Only the endpoint changes.- Objects are immutable and uploaded with their content type and a long-lived cache header.
- With
publicUrlset to a CDN domain, render records carry a shareable link. The promo above is served this way. - Secrets appear only as
${ENV}references.envFilecan point to achmod 600file outside the repository. - After switching to a shared backend,
./kineto storage pushuploads what this machine already has.
🧰 Tools
Tools are plugins in tools/ that produce media outside Remotion. Each one is named after its capability, and none runs until it is enabled in kineto.config.yaml.
| Tool | Input → output | Provider |
|---|---|---|
🗣️ tts |
Text → voiceover WAV | Tencent Cloud TTS |
💬 transcribe |
Speech in an asset → captions for @remotion/captions |
whisper.cpp, local and free |
./kineto tool tts "Every video starts with a single line." --to hello --as voice
./kineto tool transcribe voice --to hello --as captions
- Results enter the asset library with license and provenance, like any other asset.
- Settings and
--to/--asare checked before a paid API is called. - A new plugin is one file. See
tools/README.md.
⌨️ CLI
./kineto help
| Command | Purpose |
|---|---|
doctor |
Check that this machine can make videos |
setup |
Install the official Remotion agent skills and sync generated files |
new <id> --title <text> |
Create a video from a template and register it |
list / show <id> / update <id> |
Browse and edit the catalog |
asset add <file|url> --license <spdx> |
Register an asset, optionally with --to <video> --as <alias> |
asset link <asset-id> --to <video> --as <alias> |
Reuse a registered asset in another video |
asset unlink <alias> --from <video> |
Remove an asset from a video once its code no longer uses it |
asset update <asset-id> --license <spdx> |
Correct a registered license or author |
asset list |
List all assets, or those of one video |
tool list / tool <name> |
List tool plugins, or run one and register its result |
studio [id] |
Open Remotion Studio with every video, or with one |
render <id> |
Render, store and record a video, a scene, a GIF or a <Still> |
sync / check [--deep] |
Regenerate derived files / validate the whole library |
storage push |
Upload this machine's assets and renders to the shared backend |
- Output is JSON whenever stdout is not a terminal.
- Exit codes:
0success,1error,2usage error. - Commands that change records take a repository lock, so parallel agents are safe.
🛠️ Development
npm run verify # typecheck, lint, tests and ./kineto check --deep (the CI gate)
npm run ship # land the current branch on main once CI is green
- The CLI and kernel are TypeScript run directly by Node's type stripping. There is no build step.
- main only takes commits that passed CI on a branch, fast-forwarded by
npm run ship. Branch, commit and changelog rules are inAGENTS.md. - Releases are published by pushing a version tag such as
v1.0.0. SeeCHANGELOG.md.
📄 License
- kineto's own code is released under the MIT License.
- kineto is built with Remotion, which has its own license: free for individuals and companies of up to three people, a company license otherwise. See remotion.pro/license. These terms apply to anyone using kineto.
- Each asset's license is recorded in
assets/manifest.jsonl.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found