explaingit

machinepulse-ai/shotwright

13PythonAudience · designerComplexity · 4/5ActiveSetup · hard

TLDR

AI agent that controls Adobe After Effects inside a Windows container to produce finished videos from chat prompts, keeping designers in creative control.

Mindmap

mindmap
  root((repo))
    What it does
      Chat-driven video creation
      After Effects automation
      Containerized rendering
    How it works
      Designer uploads reference
      Agent plans and scripts
      JSX generation
      Headless rendering
    Tech stack
      FastAPI backend
      React 18 frontend
      Windows containers
      nexrender
    Use cases
      Motion graphics automation
      Batch video production
      Creative AI assistance
    Requirements
      Windows 11 or Server
      Docker Desktop
      AI API access

Things people build with this

USE CASE 1

Automate motion graphics production by describing shots in chat while After Effects handles the technical execution.

USE CASE 2

Batch-render multiple video variations from a single reference by iterating through prompts without manual UI interaction.

USE CASE 3

Prototype video ideas quickly with AI assistance while maintaining full creative control over After Effects' capabilities.

USE CASE 4

Reduce file management and scripting overhead so designers focus on creative decisions instead of technical setup.

Tech stack

PythonFastAPIReact 18DockerAdobe After EffectsnexrenderNode.jsffmpeg

Getting it running

Difficulty · hard Time to first run · 1h+

Requires Windows 11 or Server LTSC 2025, Docker Desktop in Windows-container mode, 16 GB RAM minimum, and either GitHub Copilot or OpenAI API key; After Effects 2026 installer must be baked into container image.

License information not provided in the explanation.

In plain English

Shotwright is a tool that lets a chat-based AI agent control Adobe After Effects, the well-known motion graphics program from Adobe, and produce a finished video file. The unusual part is how it runs After Effects. Instead of installing the program on the designer's own machine and steering it by hand, Shotwright runs After Effects inside a Windows container, which is a sealed, repeatable environment that always has the same versions of every piece of software. The usage flow goes like this. A designer drops in a reference video, types a chat message describing what they want, and the agent does the rest. It plans the shots, prepares the source assets, writes JSX scripts (After Effects' built-in scripting language), hands them to a tool called nexrender that renders the project without opening the UI, and finally streams the resulting mp4 back into the browser. The point is that the designer stays in charge of creative judgment while the agent handles file management, scripting, and the render queue. The project is opinionated about what it is. The README says it is not a generic AI video generator; After Effects stays at the center, and the agent layer sits on top. The loop is intent, agent, JSX, render, human review. The author argues most AI video products narrow the creative options to a few templates, while Shotwright keeps the full surface area of After Effects available. The stack mixes several technologies. A FastAPI backend and a React 18 frontend handle the chat UI. The container image comes from a multi-stage Dockerfile with shared tooling such as Node 20, Python 3.13, ffmpeg, and the Visual C++ runtime, and the After Effects 2026 installer is baked in from a separate GitHub Container Registry image. nexrender and aerender.exe do the actual rendering inside the container. A configuration file named shotwright-config.json holds shared defaults for host and container paths, image tags, and nexrender versions. The intended audience is After Effects designers who want help from an AI agent but do not want to become Windows infrastructure operators. The host requirements are a Windows 11 or Windows Server LTSC 2025 machine with at least 4 cores and 16 GB of RAM, Docker Desktop in Windows-container mode, and either a GitHub Copilot subscription or an OpenAI API key to back the agent.

Copy-paste prompts

Prompt 1
Set up Shotwright to render a 30-second motion graphics video from a chat prompt using After Effects inside Docker on Windows.
Prompt 2
Write a chat prompt for Shotwright that describes a video with animated text, transitions, and color grading applied to a reference clip.
Prompt 3
Configure shotwright-config.json to point to my local After Effects project and set up nexrender to render without opening the UI.
Prompt 4
Use Shotwright's FastAPI backend to send a video request and stream the finished mp4 back to the React frontend for preview.
Prompt 5
Debug a JSX script that Shotwright generated for After Effects by checking the container logs and adjusting the chat prompt.
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.