Google Antigravity can direct a finished video from a written brief, as long as video software handles the frames. It plans the scenes, edits the project files, runs the render command and checks what came back. Paired with a studio, that loop ends in an MP4 you can watch.
CoAnimator is the studio in this guide. It keeps the video as editable project files, previews changes live and renders on your machine, while Antigravity does the directing and the revisions. The one catch is setup: Antigravity opens as a terminal tab with its own approval flow, and the CoAnimator skill has to be added by hand.
The rest covers the setup I'd use, an example brief, editing footage you already have, and the places this falls short.
How to set up Google Antigravity CLI with CoAnimator
Antigravity is four products: the app, the IDE, the CLI and the SDK. This setup uses the CLI, so check that you aren't in the standalone IDE. Pick any model your CLI offers. The workflow doesn't depend on a specific one, and what the agent can edit depends on your source material.
1. Install CoAnimator and the coa command. Open the app, set up the media tools (rendering needs FFmpeg and FFprobe), then go to Settings → General → Command line & agent skill and install coa. In a fresh terminal:
coa --help
ffmpeg -version
ffprobe -version
On Windows PowerShell, run coa.cmd --help instead.
2. Install the Antigravity CLI and sign in. The documented command pipes a remote script straight into your shell, so I'd download it, read it, then run it:
curl -fsSL https://antigravity.google/cli/install.sh -o install.sh
less install.sh
bash install.sh
On Windows the documented one-liner is irm https://antigravity.google/cli/install.ps1 | iex. The same advice applies: save the script with -OutFile, read it, then run it.
The binary is agy, not gemini or antigravity. Run it once to finish Google's sign-in. That account has nothing to do with your CoAnimator licence.
3. Pick Antigravity in the agent picker. CoAnimator opens agy in a terminal tab inside the project folder. You get Antigravity's own interface, model picker and history, while CoAnimator supplies the folder and the window. CoAnimator's Antigravity guide covers the details.
4. Add the skill. A skill is a folder with a SKILL.md of instructions that the agent reads when a task matches. Google's skills codelab shows the format. CoAnimator's installer covers only Claude Code and Codex, so for Antigravity I'd download SKILL.md from that page and place it here:
.agents/skills/coa-cli/SKILL.md
.agents/skills/ is the current default workspace path, and the older .agent/skills/ is still read. Global skill folders differ between the app, IDE and CLI, which is why I prefer a project-local copy. Run /skills in the CLI to confirm it loaded, then start a fresh session. The skill teaches commands and conventions. It doesn't install coa or sign you in.
5. Run a smoke test before any creative work.
Inspect this CoAnimator project, confirm which tools are available, and explain how you would render it. Do not change the scenes yet.
A good answer names the project folder and the coa render command. The agent should also read the app's bundled docs first, since that is where its project conventions live.
How to brief Antigravity: an example plan for a 20-second video
Pick a change a viewer can see. "Faster deploys" gives an agent nothing to direct. "A dry-run flag that previews changes before anything ships" has a command, an output and a payoff. The example is hypothetical: a 20-second clip announcing release 2.4 of a CLI tool called shipit. Swap in your own.
Gather three files and name them by job: dry-run-demo.mp4 (a recording of the command), release-notes.md and brand-notes.md (fonts and colors). The 0.7.2 plugin list has no desktop screen recorder, so I'd record with a separate tool. If an image is only a style reference, say so in the brief, or the agent may try to rebuild it as a screen.
Ask for a plan before any animation:
Plan a 20-second CoAnimator video announcing shipit 2.4 to existing users. One message:
shipit deploy --dry-runshows what would change before anything ships.Use dry-run-demo.mp4 for the terminal action. Take the claim from release-notes.md and add no others. Read brand-notes.md for fonts and colors. Use 16:9 and make it readable without sound.
Return a scene plan with timings, on-screen text, and which part of the recording each scene uses. List anything the recording does not show. Wait for my approval before building.
The last two instructions do the most work. A plan takes seconds to fix and a finished animation doesn't. Asking for what the recording doesn't show gives the agent permission to report a gap instead of inventing output.
A plan for this clip might look like this:
- 0 to 4 s: a title card that names the flag
- 4 to 11 s: the command running, zoomed to the line being typed
- 11 to 17 s: the preview output, held long enough to read
- 17 to 20 s: the version number and the upgrade command
Terminal text is the weak point. A small monospace line that reads fine in the editor can turn to mush at delivery size. Before any motion, I'd approve three stills (title, command, output) at the size the video will play. After that, ask for movement with a reason: hold still while the output is readable, bring a caption in when its line appears, and zoom only to isolate one line.
Narration comes last, once the sequence works muted. CoAnimator's plugin docs list an ElevenLabs plugin for it, which needs your own key.
How to edit existing footage with Antigravity
Tell the agent what has to survive the cut, and give boundaries instead of adjectives:
Cut dry-run-demo.mp4 down to the command and its output, source 00:12 to 00:31. Remove the setup typing and any idle pause.
Keep the flag, the full preview output and the final prompt visible. Add a short title before the action. Keep the original recording as a source asset.
Propose the cut points before applying them. Do not speed up the output section.
Quote timestamps from the original file, and name the scene for anything after a cut. Once the opening is trimmed, 00:22 in the source and 00:22 in the export are different moments.
An imported MP4 is flat. Trimming, cropping and overlays work, but text baked into the recording stays baked in, so a wrong terminal line means a new capture. Titles the agent animated itself remain editable.
How to render and check the final MP4
A preview helps you decide. The exported file is what people watch. Ask the agent to render, or run it from the folder that holds your project:
# macOS or Linux
coa render ./shipit-2-4 --resolution 1080p --quality high --out ./shipit-2-4.mp4
# Windows
coa.cmd render .\shipit-2-4 --resolution 1080p --quality high --out .\shipit-2-4.mp4
The coa reference lists every flag. The command exits 0 on success and 1 on failure, which makes it usable in a script. Free exports are 720p with a watermark, and the licensing page lists what a paid licence changes, so --resolution 1080p needs one.
A render the agent says it started is not a finished file. Ask for the output path and any errors, then open the MP4. Check the first frame, the command, the output and the last frame, once with sound and once muted. Encoded files can differ slightly across machines, so judge the file you actually exported. Keep the project folder and its media beside the approved version, because an MP4 can't carry the editable structure.
How to update the video when your product changes
The first export is not the end of the project. Because it is a folder of plain files, I'd treat a product change the way I'd treat a code change. When shipit 2.5 alters the preview output, I'd re-record that one clip, ask the agent to swap it into the output scene, and re-render. The rest of the video stays as approved.
The files also diff, so the video change can sit in a pull request next to the code change it describes. The same files mean switching agents later shouldn't need a rebuild, though I'd confirm that on a small project before relying on it.
Limits of making videos with Antigravity
- Quality follows direction. Output depends on the agent, the prompt and how much direction you give. Vague briefs produce vague videos, and learning to direct takes more practice than dragging clips.
- Plugins assume Claude Code in places. Some plugin actions need it and its matching skill, so test any plugin from an Antigravity tab before the brief depends on it.
- Gaps in 0.7.2. The docs list no AI avatar generation, no hosted rendering and no desktop screen recorder. There are also no built-in viewer analytics, so tracking who watched needs a separate tool.
- Separate bills. Your Google plan and any plugin providers charge you directly.
- Local rendering doesn't guarantee a fully private workflow. Editing and rendering run on your machine, but prompts, frames and files you hand to an agent or plugin can be sent to that provider.
Antigravity, Remotion or a chat agent?
Remotion is the other route you'll see in Antigravity video tutorials. It publishes agent skills in the shared skills format that Antigravity can load, and videos are React code rendered by the Remotion CLI or on AWS Lambda. That suits a video living inside a React product, or batches rendered from data. It is free for individuals and companies of up to three people, and larger companies need a company licence. I'd choose it when the video is a feature of the product, and a studio when one person is directing and revising a single video.
For CoAnimator's own permission prompts and change receipts, a chat agent such as Claude or ChatGPT gets them and the terminal tab doesn't. I'd choose Antigravity when the team already pays for Google's plans and works in agy daily.
Next step: a video for every release
Once one video works, the same setup can run on a schedule. coa render runs without opening the editor and exits 0 or 1, so a release job can render the announcement clip in the same pipeline that builds the binary, and a failed render fails the build instead of shipping a stale video. Linux runners need a display server such as xvfb-run, and the agent step still needs a signed-in Antigravity session, so I'd try a weekly job on your own machine before moving it to CI.
A launch video that is rebuilt with every release stops being a one-off asset and becomes part of shipping. To find out whether that is worth it for you, make one short clip, inspect the exported file, then time how long the second video takes compared with the first. That gap, not the first export, is the real test of this workflow.
Top comments (0)