AI media generation and video editing for coding agents.
Atet lets Codex, Claude, and other coding agents generate images, video, and voice; edit screen recordings and imported footage; add captions, graphics, and motion; and export finished videos from the files in your project.
The toolkit runs on your computer. Its Agent Skill teaches your coding agent how to use the Bun CLI, local media engine, and Vercel AI Gateway as one creative workflow. Atet has no account system and does not upload a project to an Atet service.
Install · Try a request · Capabilities · Design · atet.sh · Security
Atet requires Bun 1.3.14 or newer. Run these commands once:
bun add --global github:hraness/atet
atet skill installThe first command installs the Atet CLI. The second installs a short guide that teaches Codex when and how to use it.
Move into the project where you want Atet to work, then check the available recording, rendering, browser, and media tools:
cd /path/to/your/project
atet doctorStart a new agent session after installing the skill. The default installation works with Codex across your user account.
For Claude Code or another system that reads Agent Skills:
atet skill install --target claude
atet skill install --target agentsTo install the guide only for the current repository, run
atet skill install --scope project from that repository. Use
--project <path> to name a different repository. atet skill path prints the
packaged guide for inspection.
Atet is distributed directly through GitHub and is not published to npm.
Open the project that contains your footage, artwork, script, or other source files. Start a new agent session and describe the finished result. These are the kinds of requests Atet is built to handle.
Use Atet to record my screen, camera, microphone, and system audio while I demo the app. When I stop, turn the recording into a polished two-minute walkthrough. Remove long pauses and filler words, zoom in when I click or type, keep me framed, add readable captions and
logo.svg, and show me a preview before exporting the final video.
Use Atet to create three opening-shot ideas from
product.png. Show them to me side by side, then animate the one I choose into a six-second widescreen clip. Keep the product shape, colors, and lettering recognizable.
Use Atet to generate a calm voiceover from
script.txt, place it over the approved edit, mix the music quietly underneath it, and export clean and captioned versions in 16:9, 9:16, 1:1, and 4:5.
Use Atet to turn the services in this repository into an editable diagram, then build a short animated version that introduces each service in order.
Name the source files, the result you want, and any details that must remain unchanged. Your agent can inspect the current project, discover available models, choose the necessary Atet operations, render a preview, and report the files it created. You do not need to learn the command tree first.
Atet keeps video work in a project, so each change can be reviewed and revised before export.
- Record the screen, camera, microphone, and system audio on macOS, or import existing video, audio, images, and graphics.
- Find silence, filler words, faces, scenes, music, clicks, cursor movement, keystrokes, and typed text without changing the original media.
- Cut, trim, retime, align audio, reframe the camera, follow a speaker, and add screen zooms where the action needs attention.
- Add images, SVG, GIFs, video, emoji, HTML, shaders, or Three.js scenes as overlays with controlled timing, placement, motion, and audio behavior.
- Apply captions, denoise and mix audio, adjust color, and render the same edit for landscape, vertical, square, and portrait delivery.
- Create several preview candidates from one frozen project, choose one, and promote it without overwriting the alternatives.
Built-in workflows cover talking-head cleanup, polished screen demos,
chaptered videos, creative alternatives, selection, and social variants. Run
atet workflows list to see the exact catalog installed on the current
machine.
Atet discovers the current image, video, speech, and transcription models available through Vercel AI Gateway. Your agent can then:
- generate images from text, reference images, or masks;
- generate video from text, a source image, first and last frames, or other visual references;
- create spoken audio from a script, with the selected voice, language, pace, instructions, and file format;
- transcribe audio to text, JSON, SRT, and VTT; and
- bring generated media back into a local video project for editing and delivery.
Local media never uploads implicitly. A command must explicitly acknowledge
any local image, video, or audio that will be sent to a model provider. Atet
uses the caller's Gateway credential, validates downloaded media, and writes
outputs and receipts under artifacts/atet/generated/.
- Turn an explanation into an editable diagram with tldraw, SVG, and PNG exports.
- Convert caller-owned raster artwork to SVG locally with the pinned VTracer runtime.
- Build deterministic animated loops and transparent video layers with HTML, SVG, Motion, Paper Shaders, or Three.js.
- Use an existing image as the visual reference for a reviewed 3D scene or branded material treatment.
An image can become a video reference, an animated scene can become an overlay, and one approved edit can become every delivery format. The same project is available through the Agent Skill, CLI, TypeScript SDK, MCP server, and macOS desktop app.
Atet keeps the creative process legible to both the person making a request and the agent doing the work.
- Bring in the source. Record a screen and camera, import existing media, or point the agent to the files already in the repository.
- Create what is missing. Generate an image, video shot, voiceover, or transcript through the caller's Gateway account when the project needs it.
- Shape the edit. The agent applies explicit operations to a local project while the original media remains unchanged.
- Review a real preview. Preview renders use the same timeline and composition as the final export at a lower cost.
- Deliver the approved work. Atet renders the selected project state to the requested aspect ratios, caption treatments, and destinations.
Project revisions are explicit. Alternatives begin from a named project state, important operations record what produced their outputs, and repeated work can reuse verified results. That makes the workflow inspectable without asking a person to manage low-level media commands.
Agents using Atet should follow these rules:
- Read the repository's local instructions before changing anything.
- Inspect the named source files and search for an existing Atet project or editable source for the same subject.
- Confirm the requested result, non-negotiable details, and delivery formats. Ask only when a missing choice would materially change the work.
- Discover current capabilities instead of inventing model IDs, project IDs, media stream IDs, or command options.
- Preserve original media. Change project state or editable source, then regenerate previews and final outputs.
- For substantial video work, render a preview before the final delivery.
- Keep Gateway credentials in the process environment. Never put a key in a command, project file, log, or generated artifact.
- Inspect visual output and report the useful source, preview, receipt, and final output paths.
Useful discovery commands:
atet --help
atet doctor --json
atet workflows list --json
atet ai models list --json
atet operations list --json
atet skill pathInspect the current model catalog before selecting a model:
atet ai models list --type image
atet ai models list --type video
atet ai models list --type speech
atet ai models show <model-id>Generate an image or a referenced video shot through Gateway:
atet ai image generate \
--model <image-model-id> \
--prompt-file image-brief.txt \
--aspect-ratio 16:9
atet ai video generate \
--model <video-model-id> \
--prompt-file shot-brief.txt \
--image product.png \
--duration 6 \
--aspect-ratio 16:9 \
--allow-cloud-uploadCreate a voiceover or transcript:
atet ai speech generate \
--model <speech-model-id> \
--text-file script.txt \
--format wav
atet ai transcribe interview.wav \
--model <transcription-model-id> \
--format all \
--allow-cloud-audio-uploadInspect a local video project and the built-in editing workflows:
atet projects list --json
atet project inspect <project-id> --json
atet workflows show talking-head-cleanup --json
atet workflows show social-variants --jsonRun atet help ai, atet help project, or atet help workflows for the full
current command grammar. The Agent Skill contains the decision rules an agent
needs to turn a plain-language brief into those exact commands.
For a connected MCP server, run
atet mcp --root /absolute/path/to/workspace. The server limits file access to
that workspace and exposes a fixed set of typed Atet operations rather than
executing arbitrary commands supplied through MCP.
- No Atet account: there is no hosted project database, login, or subscription.
- Local project authority: source media, project state, diagrams, vectorization, deterministic rendering, previews, and outputs stay on the computer running Atet.
- Caller-owned AI access: model-backed work uses
AI_GATEWAY_API_KEYor a short-livedVERCEL_OIDC_TOKENfrom the current process. Atet does not store or print either credential. - Non-destructive editing: cuts, timing, framing, overlays, and effects are recorded as project decisions rather than applied to the original media.
- Preview and final agree: both use the same timeline and composition.
- Bounded work: Atet checks paths, media types, decoded dimensions, byte limits, process duration, and expensive concurrent operations.
- Inspectable history: important media and model operations retain secret-free receipts that identify their inputs and implementation.
Read the architecture guide for project revisions, rendering, caching, workflow execution, and network boundaries. See SECURITY.md for reporting and supported-version policy and NOTICE.md for tldraw Offline, VTracer, rendering, and model integration terms.
Add the package to a Bun project:
bun add github:hraness/atetSDK imports do not start the CLI or inspect local project state:
import { vectorizeImage } from "@hraness/atet"
const result = await vectorizeImage("logo.png", {
outputPath: "logo.svg",
})
console.log(result.receipt.sourceSha256, result.receipt.svgSha256)Use @hraness/atet/code for declarative workflow graphs,
@hraness/atet/workflow for trusted Bun workflows imported by the caller, and
@hraness/atet/local/* for the local media engine. Atet exposes a fixed set of
typed operations. It does not let a remote caller register and execute
arbitrary code through the operation registry.
Agentic creative coding toolkit.
At the beginning of time, when there was nothing but chaos, Atum existed alone in the watery mass of Nun. A pyramid mound called Benben emerged. When the lotus flower bloomed, Atum dawned and became Ra. Every night Ra sails in the underworld on the solar barque Atet.
src/: portable SDK, CLI adapters, operations, MCP, and workflows.apps/desktop/: local media engine, CLI host, desktop app, and native capture helpers.schema/andexamples/: diagram schema and runnable examples.skills/atet/: the packaged Agent Skill and its focused references.docs/architecture.md: the maintained technical overview.
bun install --frozen-lockfile --ignore-scripts
bun run checkThe full check verifies the standalone public boundary, SDK, local runtime, schema, Agent Skill, generated entrypoints, static site, deterministic tests, property tests, and a clean packed consumer.
MIT.
