showtime
io.github.FavioVazquez由 GitHub 帳號 FavioVazquez 發布v0.4.6更新於 Oct 24, 2026
Local video studio for your coding agent: scenes, voice, music and captions, on your machine.
概覽
本機影片工作室 MCP 伺服器,讓程式設計助理在你自己的機器上製作含場景、旁白、音樂、字幕與素材剪輯的影片
- 可以做什麼
- 依描述建立並算圖影片:動態圖像、發布、短片、資料、圖表與集錦範本,預覽與各平台匯出,算圖前檢查並對成品做品質檢查。生成音訊:多語言旁白及逐字時間、音樂底襯、音效、混音與母帶處理。剪輯素材:本機轉錄,透過改文字剪掉口頭語和停頓,重新構圖、穩定、降噪、調色並加上字幕。從錄音產生 X 光式影片,包含事件分析與驗證。長時間任務會回傳任務編號,由狀態工具回報進度與結果。
- 適用情境
- 當你希望助理在本機產出一部完整影片時使用,例如發布影片或儲存庫介紹影片、從長錄音剪出帶字幕的直式片段、資料或圖表動畫,以及含旁白、音樂與字幕的成品,且不使用雲端 AI 服務或 API 金鑰。
- 執行需求
- 以本機 stdio 程序執行,可透過 npx 或 mcpb 套件啟動,也可在完成 setup 後使用 showtime 指令。需要 uv 和 Node.js 24 或 22 LTS(20 以上亦可)、支援的作業系統(macOS 14+、Windows 10/11 x64、Linux glibc 2.28+),以及一次性約 0.5 至 0.75 GB 的安裝下載(解壓後約 1.4 至 1.8 GB,位於 ~/.showtime)。會自動尋找 Chrome、Edge 或 Chromium,找不到則下載。不需 GPU。選用環境變數 SHOWTIME_HOME、SHOWTIME_MCP_BASE 和 SHOWTIME_MCP_TOOLS 可變更儲存位置、路徑解析基準與工具集。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 showtime,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
https://github.com/user-attachments/assets/638bfa30-522f-4e7c-ab9e-e77f364e7dc9
The 0.4.1 showreel: 55 seconds, rendered by showtime 0.4.1 in 2 min 23 s on a 64-core CPU with no GPU; seven real showtime films, then the features behind them (about the film).
Download the showreel (full quality, 107 MB). Music: “Supernova” by Scott Buckley, CC BY 4.0. Footage: NASA (public domain); photo: “Godafoss 3” by Tord Dellsen, CC0 (credits).
[license: MIT] [runs on your machine] [API keys: none] [tested with Claude Code, Codex, Cursor, Devin and OpenCode] [status: 0.4, early] [tested: Intel Mac, Apple Silicon, Linux x64, Linux arm64, Windows x64, Windows 11 on Arm] [still to run: Windows 10/11 desktop]
A local video studio for your coding agent.
Describe a video. Your agent directs. Your machine renders.
Motion graphics, voice-over, music, sound design, captions, footage editing and platform exports, with no cloud AI services, no API keys and no uploads. Works in Claude Code, Codex, Cursor, Devin, OpenCode and any agent that supports Agent Skills.
Quick start · X-ray · Works with · Gallery · How it works · The crew · Studio · Formats · Docs · Site · Requirements
[圖片]Quick start
New here? Make your first video: a 5-second test that checks the install and shows every step a bigger video goes through.
1. Install the two prerequisites (details in Requirements): uv and Node.js 24 or 22 LTS (20 or newer works). Restart your coding agent afterwards so it sees them.
2. Add showtime to your agent. In Claude Code:
Using Codex, Cursor, Devin, OpenCode or another agent? Works with has the exact
install for each, and npx skills add FavioVazquez/showtime covers any agent that supports Agent Skills.
3. Ask for a video:
The first time, your agent checks what is missing, tells you the download size and time (about
0.5 to 0.75 GB to download and 1.4 to 1.8 GB in ~/.showtime once installed, depending on your system,
usually 2 to 6 minutes; outside that folder only uv's and npm's download caches change) and runs setup once
you say yes. If your agent's sandbox blocks the download, run setup once in a terminal
(Troubleshooting). Bigger pieces (the
transcription model, Manim, music tracks) come the first time a video needs them, announced with their size. After
that, a request in Claude Code looks like this:
[A Claude Code session: the request is typed, Claude states its assumptions (quick mode, 20 s, 16:9, English voice, upbeat bed, only claims the README makes), shows a first look, renders on this machine, and showtime prints its completion card: final.mp4 is ready, 20.0 s, 1920x1080, 17.0 MB, qa PASS, the output path and the next step.]
An illustration of a session in Claude Code; other agents show the same steps in their own style. The card's figures are example 01's; render time depends on your machine.
Your agent states its assumptions in one line (it asks only when a request is genuinely open), shows you a
first look (stills or a fast draft) before the full-quality render, then checks the result with
showtime qa. Every request gets its own folder, showtime-out/<name>-<timestamp>/, with final.mp4,
poster.jpg, share.txt, exports/ and work/. Nothing is ever overwritten. Questions about cost, GPUs, disk,
languages or what leaves your machine: the FAQ. Something went wrong:
Troubleshooting. A word you don't know: the glossary.
[!TIP] Two separate settings. Quick or studio decides how much your agent asks before building: quick (the default) states its assumptions and starts; studio (say "show me options first") shows a concept, a look, a music bed and a storyboard on a local board first. Quality or lean decides how much it checks afterwards: quality (the default) has a critic review every finished video; lean skips the critic unless the video is going to be published. Say "no crew" to keep the whole job in one session.
What's new in 0.4.6 (the list is below, and What's new has a short paragraph for each):
checkreads the text a page draws on its own canvas. Text outside the phone's safe box, text too small to read and text over other text are found between its samples and on any canvas, not only the film API's.- X-ray on a phone and in sync. At 9:16 the sound strip and the part labels sit where a phone shows them, a new
16:9 project passes its own check, and with
"xray".offset_framesthe strip and the piano, drums and guitar follow the recording's clock. - Fixes.
export html --interactivepacks a page's own fonts,xray verifyreads the marker on a draft render, installed files match the repository byte for byte, andsetup --homebrings its own ffmpeg.
What's new in 0.4.5 (the list is below, and What's new has a short paragraph for each):
- X-ray from data and from a recording.
showtime xray importturns event times measured in a data stream into a film;xray analyzetakes a WAV with no picture. - A live page that says what it knows. How the events were measured, your own steps, and what sharing the page shares.
- A shorter skill router. Six families instead of one row per feature, with a routing eval for contributors.
- Safer and smoother.
footage trim -owrites the file you name, the embed takes only safe addresses, and living diagrams type properly on a phone.
What's new in 0.4.4 (the list is below, and What's new has a short paragraph for each):
- X-ray. Film a real thing doing its thing and showtime draws its inside on the frames its own sound says; a score, a guitar tab or a drum sheet from the sound; a receipt that reads the finished film back.
- A live page you play. Pads that play the real clip with its sound, your keyboard typing on the typewriter, drag to
scrub,
#hit4links, the request that made it, and an embed. - Living diagrams you touch. Type on a typewriter, follow a key press to the screen, drag the heat pump's weather.
What's new in 0.4.3 (the list is below, and What's new has a short paragraph for each):
- Living diagrams.
showtime new diagramexplains a system over time as an isometric figure that builds itself: parts arrive in the order that explains them, and flows, packets and labels move through them. - Live figures.
showtime export html <project> --interactiveturns the same scene into one offline page people poke: hover a part, pick a step, turn a knob, and the numbers answer (try one). - A recap of your agent's session.
showtime recap --latestturns a Claude Code session into a 30-60 s narrated film of what the agent did, built only from allow-listed facts, never the transcript's text. - A failing test as a bug-report video.
showtime reproturns a Playwright trace into a narrated film of the steps and the failure, with a Markdown summary for the issue; typed values are never shown. - Steadier renders, quieter cuts. Every render worker now captures from a page set up like the first one; recap and repro pick their music per session or test, and generated videos no longer put a sound on every cut.
On the behaviour scoreboard, 14 one-sentence requests were run 3 times each (42 runs). The same model did the right thing 35 times with showtime and 25 times without. The cases check that it starts on video requests and stays out of others, that it is honest about missing inputs and unsupported claims, and that it keeps to the plan and the delivery card. Anyone can rerun it.
[圖片]X-ray
Film a real thing doing its thing, a typewriter typing or a music box playing, and showtime draws its inside moving on the exact frames the clip's own sound says: on the object as the camera moves, or beside it, as a dark radiograph or a light blueprint. Instruments get their music written out from the sound too (a score, a guitar tab, a drum sheet), and every film ends with a receipt that proves it.
An Underwood 315 typing, seen through. Clip: Erik Pålsson / Sounds of Changes, CC BY 3.0.
Say "X-ray this clip of my typewriter" to your agent, or run the three steps yourself:
The mechanisms come from a library that grows with every verified X-ray, and anyone can add one. The X-ray gallery plays every verified film with its receipt and the commands that made it, and shows how to post yours; the X-ray guide walks through filming, mechanisms, music and drums, and what the receipt checks.
[圖片]Works with
showtime is a skill, a command line and an MCP server, so it runs in any coding agent that reads Agent Skills and can run shell commands. MCP adds typed tools on top, and the ten crew agents are an optional speed-up for hosts that have custom sub-agents.
Tested with. A real run passed: the agent installed showtime from this repository and made a
5-second test video ("make a 5-second test video that says hello", empty folder), ending in a final.mp4
whose showtime qa verdict had no FAIL.
Should work with any agent that supports Agent Skills: GitHub Copilot (CLI and VS Code), Gemini CLI, Antigravity, Cline, Kilo Code, Kiro, Zed, Goose, Amp, Factory Droid and Qwen Code. The files each one reads are packaged and were checked with the agent's own tools where possible, but no real video has been made in them yet. If you try one, an issue with what happened helps everyone. Exact steps for every agent, and what the tests covered: docs/agents.md.
Claude Code
Everything is included: the skill, the ten crew agents, the MCP server and the plugin settings (/config).
Any agent that supports Agent Skills
This installs the skill for the agents you pick. Then run setup once from the installed skill folder
(<skills folder>/showtime/bin/showtime setup), and add the MCP server if you want it (below).
Other agents
Agents often run in a sandbox that blocks a large download, so run setup yourself once, in a normal terminal (it prints the size first and resumes if interrupted):
Setup also writes the stable command ~/.showtime/bin/showtime (Windows: showtime.cmd), which keeps working
when a plugin update moves the skill folder. In the commands below, showtime means that command.
showtime install --agent <name> links the skill where the agent looks, writes the ten crew agents in the
agent's own format and adds a showtime MCP server entry; it merges config files (one backup, never a
replacement), and --print, --project and --uninstall are there too.
OpenAI Codex · tested
Codex reads the root plugin.json and mcp.json; the skill appears as showtime:showtime. In its default
sandbox, allow network access and write access to ~/.showtime (the exact config.toml lines are in
docs/agents.md). Headless: codex exec --skip-git-repo-check "make a 5-second test video that says hello".
Cursor · tested
Cursor reads .claude-plugin/plugin.json: the skill, the crew and the MCP server all load. Without the
plugin: showtime install --agent cursor.
Devin · tested
Devin reads .claude-plugin/. The crew works in the CLI and Devin Desktop, not in Devin Cloud.
OpenCode · tested
The skill goes to ~/.agents/skills/showtime, the crew to ~/.config/opencode/agents and the MCP server to
~/.config/opencode/opencode.json. Check with opencode agent list and opencode mcp list.
GitHub Copilot (CLI and VS Code) · should work
VS Code: run Chat: Install Plugin From Source with https://github.com/FavioVazquez/showtime. Without the
plugin: showtime install --agent copilot.
Gemini CLI · should work
Adds the skill, the crew in Gemini's format and the MCP server. The repository is also a Gemini extension
(gemini extensions install https://github.com/FavioVazquez/showtime), which brings the skill and the MCP
server without the crew.
Antigravity · should work
Or, without the plugin: showtime install --agent antigravity.
Cline, Kilo Code, Kiro, Zed, Goose, Amp, Qwen Code · should work
In the Cline VS Code extension, add the MCP server under MCP Servers > Configure MCP Servers (the command
prints the entry), or let Cline follow llms-install.md.
Factory Droid · should work
Factory translates the .claude-plugin/ layout. Without the plugin: showtime install --agent factory.
MCP only
Any client that starts local (stdio) servers can use showtime's MCP server on its own, without the skill. After setup:
(Use the full path to that file in your home folder; on Windows it is showtime.cmd in %USERPROFILE%\.showtime\bin, written out in full.) Two more routes need no clone at all:
is the same server from npm (@faviovazquez/showtime-mcp,
also listed in the MCP Registry
as io.github.FavioVazquez/showtime and on Smithery), and
showtime-0.4.6.mcpb from
the v0.4.6 release opens in Claude Desktop with a double click. Setup still runs once on your machine: the
models and tools never travel inside a package. Long tools answer with a task id after about 20 seconds when a
client stops calls early; the status tool reports progress and the result. Besides the tools that mirror the commands,
guide reads a reference by the piece and receipt writes a job's receipt (tokens and cost are "not reported by this
agent" through MCP). Ten core tools are listed by default (doctor, status, guide, new_project, render,
check, qa, export_html, deliver_exports, receipt), which keeps the list short. Add
"env": { "SHOWTIME_MCP_TOOLS": "all" } to the server entry to list the voice, music, sound-effect, transcription,
stills and studio-board tools too; the .mcpb sets it for you. Some features have no MCP tool yet and run from the
command line: adopt, footage cutout, edit cards, edit moments, edit clips, pr-video, review open and
review notes, and export html's link-preview flags (showtime.json "share" works through export_html).
[Now showing: 35 videos, every frame rendered by showtime.]
Now showing
▶ Watch the 0.2.0 launch film (40 s, MP4; made with showtime, every frame from a real example, about the film). Every example plays in the gallery on the showtime site.
Music: “With These Hands” by Scott Buckley, CC BY 4.0 (credits).
Every example was made by an agent acting as a user, and ships with its project sources and a README
that tells the story: the request, the assumptions, the commands, what the critic found and what
changed. Click a preview to open the example. Each one has a card with its prompt and links in
examples/. Previews are silent; the videos have sound.
Data and reports
Explainers
Product and brand
Footage and audio
Tutorials
Social
Trailers and montage
Looks and motion
For developers
Two more kinds of developer video have a workflow but no example in this gallery yet: a repo explainer (what the
code does, a map of it, one request traced through real files and lines, every claim tied to a file and a commit) and
a paper explainer (claims tied to pages, figures shown only when their license allows, Manim for the math). Say
"explain this repo" or give your agent a paper's PDF or arXiv link. For a pull request, showtime pr-video <N> reads
it (with gh, or from GitHub's API for a public one) and renders a video under 10 MB to drag into its description
(example 29). For release notes and pull requests with no agent at all,
showtime release-video and the GitHub Action make a short film in CI.
All 22 examples, with their projects and full-quality videos, live in showtime-examples.
[!NOTE] The HTML videos are single files you can open in any browser, offline: the same frames as the MP4, a player with chapters, keyboard shortcuts, links to a moment or to a part that loops, questions that pause the video until the viewer answers, and no network requests. Make one from any project with
showtime export html. On GitHub, download the file to play it. A living diagram also exports as a live figure (--interactive): no player, a board people hover, step through and tune, in one offline file.
The 35 prompts behind the examples: copy one into your agent
How it works
Motion graphics are written as HTML, CSS and canvas and rendered frame-exactly in headless Chrome: every frame is a pure function of time, so a render, its preview and its HTML video show the same picture. Math scenes use Manim, and real footage is cut by transcript with ffmpeg.
What runs where
showtime adds no cloud service of its own: no API keys, no accounts, nothing you make is uploaded.
Every model and tool is downloaded once into ~/.showtime, the small ones at setup and the bigger ones the
first time a video needs them. After that it goes online only when you ask for something from the web: public-archive media search (Openverse, Wikimedia Commons, NASA) and website
capture fetch pages and files, and send nothing of yours.
Quiet, checked and on the record
Every job follows the same order: check the project, render once, then fix only the seconds that changed. Output stays short and images stay out of your agent's context, so a video costs fewer tokens without skipping a check. Here is how (most of it came in 0.3.0, after the 0.2.0 benchmark showed where an agent's budget went):
- Check first, then one render.
showtime check(with the phone check and the look-repeat warning) runs before the full render, and a fix re-renders only the seconds that changed (render --from S --to S). - Faster fixes (0.4.1). The encoder runs while the frames are captured and an unchanged soundtrack is reused: on a busy 6-core Intel Mac a 1 s fix spliced into a 15-30 s video went from 31-54 s to 13-21 s, and whole renders from 54-115 s to 56-81 s (best of 2, other jobs running).
- One picture per look.
showtime lookmakes a single 1280 px composite of the key frames plus a brief for a disposable reviewer that answers in text; your agent never has to open the image itself. About 12 images per job is the budget (looking guide). - Short output. Without a terminal,
check,qa,doctorandrenderprint the verdict, the findings with their fixes and the paths; the full report is in a file.--verboseprints everything. - References by the piece. Every guide opens with its rules, and
showtime guide <topic> [section]prints just that part. - A receipt. Each job ends with
receipt.mdandreceipt.json: the request as typed, assumptions, review rounds, full and partial renders, images made for looking, wall time, and tokens and cost when your agent's session log is named. Anything unknown says "not reported by this agent"; nothing is estimated. Claude Code costs are labelled API-equivalent, since a plan does not pay per video (format).
Every finished video gets the full review by default (quality mode: looks, qa and a critic round before delivery).
Say "lean" (or run showtime config mode lean) for a cheaper draft pass without the critic, and "show me options
first" for the full studio.
Benchmark
A small benchmark: one-sentence video tasks, one run each, scored by automatic checks, an AI judge that must prove it looked at every frame, and a blind vote by me. Round 4 compared showtime 0.3.0 in lean mode (the lighter review setting, which was the default when the round ran) with 0.2.0 in its default mode, plain Claude Code on Opus 5.5 and, for the launch video, an open-source tool built only for launch videos.
In my blind vote, 0.3.0 was preferred to 0.2.0 on 4 of 6 tasks and to plain Claude Code on 7 of 8, and its launch
video beat the launch-only tool for the first time in four rounds. The AI judge preferred 0.2.0's polish on most
tasks; that is why 0.3.0 ships with the full review (a critic round on every video) as the default, and that default
was not part of the round. I'm showtime's author, so treat these as anecdotes, not a result. Every number, limit and
loss is in the benchmark report, with each earlier version a
click away; the method and the code to rerun it are in benchmarks/.
Behaviour scoreboard
A cheaper check anyone can rerun with one command: 14 one-sentence requests run through claude plugin eval, each
with showtime and with no plugin at all (same model). Does the skill fire on video requests and stay out of
unrelated ones, does it report a missing file or an unsupported claim instead of inventing around it, and does it
keep its contract? Regex and tool-call checks first, a model grader only where a pattern cannot decide; tokens and
cost per run, and every failure in plain words, are in SCOREBOARD.md.
claude plugin eval, 2026-10-05, showtime 0.4.0, agent claude-opus-5-5, judge sonnet, 3 runs per case per arm; median tokens per run 65.3k with showtime, 34.7k without; the whole run cost $36.00 at list price. Every case, every failure and how to rerun it: SCOREBOARD.md.
Meet the crew
Your agent is the director. It can hand parts of the job to ten specialist sub-agents that ship with the plugin. Every finished video gets a critic by default (quality mode); say "lean" to skip it (a video you will publish still gets one). A researcher joins when the video states facts or you will publish it, a sound designer when you will publish it and it has music or effects, and scene builders when it is long. The rest come with studio mode, or when you say "full crew". Each member gets a written brief, works only in its own folder, never asks you anything, never uploads, and reports back with a short status.
▶ Watch the crew at work (45 s, plays on the showtime site; made with showtime, about the film, download).
Music: “Artemis” by Scott Buckley, CC BY 4.0. Bee footage: Su et al. 2008, CC BY 3.0 (credits).
Who hands what to whom
Let your agent cast it (the usual way). Studio mode brings in the company; for a quick video, your agent adds the critic on its own, the researcher when the video states facts or you will publish it, and the sound designer when you will publish it and it has music or effects. Say "full crew" to get every member the job can use without the pitch step, or "no crew" to keep everything in one session. The words that set each mode:
Or call one member yourself, by name (Claude Code syntax; in other agents, ask it to "spawn the researcher agent"):
The agents live in agents/; their briefs, in
skills/showtime/references/crew/, work on any agent host, and the
crew guide has the dispatch rules.
A fix is judged by preference, not by a score. After a fix, showtime review-pack --against best
sets the new render beside the best one so far as a blind pair, and two fresh critics judge it, one in each order.
showtime review-verdict applies the rule: the new render wins only when it is preferred both times; a tie or a split
keeps the older one. There are up to three rounds. Before the job is marked delivered, every blocker and should-fix the
critics raised is fixed or waived with a one-line reason (showtime review-respond), and the receipt lists each waiver
(review guide).
Studio mode
Quick mode is the default: one request in, a video out. Studio is opt-in ("show me options first").
Quick mode is one sentence in and a video out; studio mode opens a local board first, then builds.
In studio you talk about facts and goals in chat; everything about look, sound and timing is shown on a
board, a local page served on 127.0.0.1 with a token, with lettered options, one recommendation and
buttons you click.
See example 09 and example 21, which is a tutorial of the board itself.
[圖片]What you get
HTML videos
showtime export html writes one file that plays offline in any browser, with the same frames as the
render. Press ? in the player for the key map. A link can open a moment (#t=18) or loop a part
(#t=10-20; Shift + drag on the scrubber picks one), and questions listed in showtime.json pause the
video until the viewer answers (guide).
The player's keys
What is in the box
Also: 30 motion components (seven of them WebGL looks), 26 transitions (15 CSS, 11 WebGL) and 6 themes, 12 look signatures that new
dom, launch, short and data projects start in (a palette, a type pair and a motion feel, picked away from your
recent videos; showtime signature), a showreel template for a dense 15-second reel, living diagrams (a system as an isometric figure that builds itself,
also exported as a live figure people poke), website capture
(screenshots, copy, brand colours and fonts), scripted app recordings with smooth auto-zoom, cursor and keycaps, PDF import, CSV and JSON to charts, a brand kit, posters baked into frame
0, exports for YouTube, X, LinkedIn, Reels, TikTok, Shorts and square feeds, README loops (animated WebP
and GIF, like the previews on this page), credits written automatically when an asset needs
attribution, a look history so videos do not repeat, style references, adopting video code you already wrote or a
Claude Design export (showtime adopt), and a receipt for every job.
Every command
showtime --help lists them grouped, with examples; showtime <command> --help has the details.
The audio toolkit
Everything is local and license-gated: no sample leaves your machine, and an asset that needs
attribution writes itself into credits.txt. Catalog tracks are downloaded from their creators on first use
(with the size announced) and never re-hosted here.
Math with Manim
showtime manim new|render|check|cues makes equations, proofs, graphs and grid transforms with Manim
Community (the manim extra; LaTeX is needed only for equations), and times them to the narration.
Example 22 cuts a circle into rings, unrolls them into a triangle and
lands on
$$A = \tfrac{1}{2} \cdot 2\pi r \cdot r = \pi r^2$$
with a vertical cut for Shorts from the same scenes. An optional OpenGL engine (the manimgl extra) runs
scene files written for it. showtime manim check also renders a draft and runs qa's black-frame and frozen-frame
detectors on it, so a near-black scene or a barely visible change is reported before the full render.
New in 0.4.6
What's new has a short paragraph for each.
check
- Canvas text outside the safe box. At 9:16, every step of the dense timeline compares each text a page draws on
its own canvas with the safe box (x 64-916, y 220-1440 at 1080x1920): one
safe_zonewarning per text, with its span. - Canvas text size. Raw
fillText/strokeTextnow feeds thetiny_textrule and the phone check, as DOM text andF.textalready did. - Text over text. Every text a canvas paints and the DOM's are compared on the whole timeline: a pair that overlaps
on two steps in a row is a
text_overlapwarning with when it starts and ends. Text layered on purpose can say so (F.text(..., {layer: true}),F.layer,ST.layer). - A probe that did not run is a warning (
cut_probe_failed,webgpu_probe_failed), so such a check never reads as clean andcheck --strictfails on it.
X-ray
- 9:16. The sound strip sits above the counters inside the safe box, and the part labels are 44 px in a column at
the safe box's edge, with the drawing between the columns. The 9:16 layout change leaves 16:9, 4:5 and 1:1 as
they were. A project made with 0.4.5 keeps its copy of the template;
showtime new xraygets the new layout. - 16:9. A new project passes its own check, and the strip's label is 26 px and fits a long mechanism word.
"xray".offset_frames. The sound strip,track_untiland the piano, drums and guitar follow the recording's clock (k.rt,k.frameAt(t)in the drawing kit).xray verifyreads the sync marker on a--previewor--scalerender; the receipt says what "the original" is for a film made from a rendering of data.export html --interactivepacks a page's own fonts, andexport htmlrun from inside a job writes into that job (xray).
Fixes
- Files as installed. The repository stores every file exactly as it is installed (
.gitattributes* -text, Windows launchers with CRLF), checked byscripts/check_release.py. setup --home Xinstalls ffmpeg into X when a default install exists.- Living diagrams. Space or Enter on a focused control no longer also fires the scene's key.
- The embed element takes a
file:address only on a page opened from disk. showtime assets iconsuggests the right name at once for a misspelled one.
New in 0.4.5
What's new has a short paragraph for each.
X-ray
- From data.
showtime xray import <events.csv|json> --job <job> --time-map SLOW,T0writesxray.jsonfrom event times measured in data (peaks of a signal, a sensor log): film time is (t_data - T0) x SLOW and each event lands on its frame.--sourcenames the sound the film plays, soxray verifycan check it. - From a recording with no picture.
xray analyzetakes a WAV (events on a frame grid of--fps, default 30) andxray notestakes one too, always at 30 fps; the page draws the picture side. - The live page. It states how the events were measured, lists your own steps when
"xray".made.commandshas them, and the page, the gallery and the guide say what sharing a page shares (guide, xray).
The skill and the tools
- Routing by family. SKILL.md sends a request to one of six families at 1,200 words or fewer; flags live in the
guides and
--help. A routing eval (benchmarks/routing-eval/) and a release check keep a case for every new workflow guide. footage trim -o <file>writes that file. An existing file is refused unless--overwrite.- The embed element loads only a relative, http(s) or
file:address. - Living diagrams on a phone. The Type field takes a paste, an input-method composition and Android Backspace, and no longer zooms the page on iOS.
New in 0.4.4
What's new has a short paragraph for each.
X-ray
showtime xray.analyzefinds every event (a keystroke, a pluck, a hit) in a clip's sound with its frame;showtime new xray --mechanism <object>draws the inside moving on those frames, on the object (through), beside it (split) or as an isometric diagram (diagram), as a dark radiograph or a light blueprint, 16:9 or 9:16; the library has a typewriter, a music box, a switch, a piano, a guitar and a drum kit.noteswrites a score, a guitar tab or a drum sheet from the sound;verifyreads the finished film back andqafails a missing or extra event or audio more than 20 ms off. The receipt and the clip's credit go on the end card (guide, xray).- The live page.
showtime export html <xray project> --interactivewrites one offline page: pads play the next event of their kind with the clip's sound, your keyboard types on the typewriter, drag scrubs,#hit4and#t2.5link to a moment,--promptputs the request that made it on the page next to the commands, and<showtime-xray src="you-live.html">or an iframe embeds it. - The gallery. The X-ray page plays ten films with their receipts and plays each one live in place.
Living diagrams
- You touch them. A scene can take typing (
interactive.type), a click on a part (parts[].press) and a drag that turns a knob (parts[].drag).--example typewriterand--example computerare new, and the heat pump's outdoor unit drags to set the weather (guide).
New in 0.4.3
What's new has a short paragraph for each.
Explain a system
- Living diagrams.
showtime new diagramdraws a system as an isometric figure that builds itself over time: parts arrive in the order that explains them, pipes and links join them, flows, packets and state changes move through them, labels land when their part matters, and the camera chooses what to look at. Light, dark or white;--example enter(a coding agent's loop),--example marketand--example econ-labstart from finished scenes.showtime checkreports a label that collides or never shows whole (diagram, issue #51). - Live figures.
showtime export html <project> --interactivewrites the same scene as one offline file,<slug>-figure.html: no play button, the board is live from the first frame. Hover a part to light it and read its value, pick a step to run it as an experiment on the board, turn a knob and the levels and numbers answer at once; untouched, a short tour plays. Keys, deep links to a state (#step=cost&rule=3), reduced motion, a phone layout and no network requests.showtime checkwalks every step, knob value and hovered part for cut or overlapping text and broken readouts (html-export § Live figure, the demo, live on the site).
From your agent's work
showtime recap. A Claude Code session becomes a 30-60 s narrated film of what the agent did: the time, turns and tool calls, a timeline of the files it read and edited and the commands and tests it ran, the tests red to green and the diff from git. It reads the session log on your machine through an allow-list of facts (repository-relative paths, program names from a fixed list, test counts, git stats), never the transcript's own text; a filter drops anything that still looks like a key, a path, a URL or an e-mail address, and nothing renders until you have readscript.md(recap).showtime repro. A failing Playwright test (itstrace.zip, or the test command) becomes a narrated bug-report video: each step on the trace's screenshots with a cursor and the target boxed, then the failure slowed down with expected and received, plusrepro.mdto paste into the issue. Typed values are never shown or spoken (their fields are covered); paths are shortened to the file name, URLs lose their query strings, and secrets are masked (repro).
Render, sound and the site
- Every render worker captures from a page set up like the first one. Under load, a worker whose page opened while one of its modules got no reply could render bare frames. Each page's setup is now compared with the first page's, and a page that differs is opened again; if the first page was the broken one, the render stops with an error instead of shipping its frames (issue #52).
- Music per video, and quiet cuts. Recap and repro pick their bed from the music catalog (or a composed style
offline) per session or test, so two films do not sound the same; a rerun keeps its bed,
--musicpins one, and a CC BY track's credit is written for you. A catalog track is downloaded once from its creator's site and cached; nothing is sent, and--music <style>orSHOWTIME_OFFLINE=1keeps the whole film local. Recap, repro,release-videoandpr-videono longer put a sound on every cut (--cut-soundsadds a soft swoosh back), and the transition sounds are softer everywhere. - How showtime is built. A new page on the site, how showtime is built, is the crew's operating manual: who does what, and how a task becomes a merged pull request or a film (issue #53). The site and the repository share one link-preview image (issue #54).
New in 0.4.2
What's new has a short paragraph for each group of them.
Render
- Chapter mode.
showtime render --chaptersplans the pieces from your chapters (or the film's acts),--chapter N --job Jrenders one, and--join --job Jjoins them and builds the soundtrack once for the whole video, so there are none of the loudness steps (2.6 and 0.7 dB) that joining separately mastered sections gave. Every seam is checked against a master before the file is namedfinal.mp4, and after a whole render or a join a later fix to one chapter re-renders exactly its frames. On one machine a whole render is faster: use chapters for a second machine (not measured), a later fix of one chapter, or a long film (render § Speed, issue #22). - A browser window resized late no longer ruins a render. With 3 workers, 7 of 40 renders on a 6-core Intel Mac with a
GPU had a wrong-sized capture lane under heavy load, and 0 of 30 do after the fix; the same fix makes
--scale 2real on a Mac. A page with the wrong size is set again andrender.logsays so (render, issue #49). - A frame that never comes no longer stalls a render (when the browser reports its processes' work; otherwise
the 10-minute cap stays): the frame is drawn again in a new browser, or the check ends with an error (issue #24).
A WebGL canvas that loses its context on the GPU renders again without the GPU (
--gpu off) instead of shipping white. - More browsers without a GPU. Without a GPU,
--workers autouses CPU threads - 2 from 8 threads up (at most 8, within the frame, memory andSHOWTIME_MAX_WORKERSlimits): on an 8-thread machine it picks 6 browsers instead of 3; with a GPU nothing changes (issue #41, FAQ).
Footage and voice
edit renderkeeps the sound in sync on showtime's own renders: a range could come out with its sound up to 21 ms early (issue #38).- Narration that fits.
showtime voice script narration.md -o voice --fit 15 --estimatesays up front whether the narration can fit before it synthesizes a single line. - Your own local voice engine. Extra engines load by name, and
doctorno longer fails on Kokoro when you chose another (voice, issue #8).
Help
- A first-video guide, troubleshooting by symptom and a glossary;
showtime doctorends with a link to the troubleshooting page when a check fails, and the site's docs start on "Start here" (your first video, troubleshooting, glossary).
New in 0.4.1
What's new has one sentence and a picture for each.
Look and motion
- Seven WebGL looks, no GPU needed: fluted glass, tilt-shift, liquid metal, mesh gradient, god rays, marble and metaballs. Each adds less than 50 ms to a 1080p frame at its default size (one browser on a 64-core machine without a GPU), renders the same frames with any number of browsers, and has a designed fallback where WebGL is missing (components § 7, the demo).
- Shutter blur.
data-st-blursmears an element the way a camera shutter would, only on the frames it moves fast; it lands sharp (stage-api, the demo, the flash words of example 30).
Footage
- Cards over a talking head: a name tag, a list that builds as it is said, a data callout, a pull-quote, a side panel, anchored to the words so a re-cut moves them, and caption emphasis on key terms (example 23).
- A word behind the speaker.
showtime footage cutoutcuts a person out on the CPU (MODNet, Apache-2.0), and the EDL cardbehindputs a big word between the background and the speaker. - A long recording to its best clips.
showtime edit momentsranks whole-sentence moments by local signals (a hook, a complete thought, energy, laughter and applause, one topic) andshowtime edit clipsrenders the picked ones as face-tracked 9:16 clips with captions, each through qa: a 58-minute panel took about 7 minutes end to end on a 64-core machine (example 24).
New ways in, and sharing
- Claude Design to MP4.
showtime adopt <export.zip>: the artboard fills a 1080p frame with sharp text, its Google Fonts are copied in with their licences, and a looping design renders exactly one loop (adopt, example 28). - Link previews.
showtime export html --share-url <address>(or"share"in showtime.json) adds the tags that show a title, a description and the poster when the link is pasted;--folderexports are ready for GitHub Pages (example 25's HTML video).
Review and resume
- Notes on a stretch of time (Shift + drag on the notes page's scrubber), and
showtime review notesnames the scene and the elements under each note. - Since you last looked.
showtime status <job>lists the files you edited by hand, your unread notes and open findings, so your agent keeps your changes. - The voice-over is heard back: showtime transcribes it on your machine and flags a name, an acronym or a number
said wrong, with the fix to try; qa and the critic see it too. It runs when the local recognizer is installed: it
arrives with the first transcription, or
showtime setup --fetch parakeet-tdt-0.6b-v3-int8. - check catches more: a fading text is judged at its clearest frame,
caption_zonewarns about anything where the captions go, a WebGPU page is tried again without WebGPU, and each look's cost is estimated.
Faster
- The encoder runs while the frames are captured, a finished browser takes over half of the largest part left, and an unchanged soundtrack is reused: on a busy 6-core Intel Mac a 1 s fix went from 31-54 s to 13-21 s.
- Without a GPU, the number of browsers follows the cores (CPU threads - 2 from 8 threads up, at most 8, and 3 below that, at most CPU threads - 2), and waits stretch on a slow page instead of failing: on a 64-core Linux machine with no GPU a 30 s launch film went from 42.0 s to 17.6 s and a 15 s DOM page from 31.8 s to 16.4 s. Do I need a GPU?
The full list is in the changelog.
[圖片]New in 0.4.0
Videos that ask, and notes on the finished video
- Videos that stop and ask. List questions in showtime.json and the HTML export pauses on that frame, asks, marks the answer, replies and plays on; the MP4 gets a "pause and think" beat with a countdown and the answer. A question can sit on a narration line, so a re-voice moves it with the line (guide, example 25).
- Notes on the finished video.
showtime review open <job>serves a local page that plays the latest render: pause, click a spot or drag a box on the frame, type a note. Your agent reads them withshowtime review notes, fixes, and replies on the same note. - Range links in the HTML player:
video.html#t=10-20plays that part on a loop.
New ways in
showtime pr-video <N | URL>: a pull request becomes a short video for its own description in one command, with a copy under GitHub's 10 MB attachment limit. A public PR works without a GitHub login, and values that look like secrets never reach the video (example 29).- A storyboard from another skill becomes a project:
showtime new <template> <dir> --from-storyboard FILEreads a Markdown table (Shot | Length | Visual | Narration, in any order, English or Chinese headers; examples 25 and 26). - Go all out: the showreel tone. A "showreel" or "go all out" brief turns it on: 12-14 shots in 15 s, no
technique twice, flash words allowed, the name landing late and short;
qajudges density, the ending and repeats. Theshowreeltemplate renders at 16:9, 9:16, 1:1 and 4:5 with no edits (example 30).
A stricter quality gate
- The critic watches as a first-time viewer before it reads the brief: for each part, does a newcomer know why it is there? Explainers default to a cold open with the stakes, a roadmap, bridges and a close that answers the opening.
- Findings gate delivery. A job is not marked delivered while a critic's Blocker or Should-fix is neither fixed
nor waived (
showtime review-respond --fixed | --waive), and every waiver keeps its reason in the receipt. - A hearing pass next to the visual critic: music over the voice, a rushed or cut-off line, a long silence, a late or loud effect, a jump in level at a cut, music that stops dead.
- One delivery card with a mandatory
Look:line saying what was opened, at what size, and what was seen.
Better-looking by default
- Twelve look signatures.
showtime newdresses the page templates in one of twelve curated looks (palette at the contrast rules, a type pair, a motion feel), picked away from your recent videos (--look <id>to choose; example 32 shows one project in all twelve). - No blank or late first frames after a cut or in a
<video>: every video is drawn on a canvas in renders, andcheckwarnslate_first_frame.
Proof
- A behaviour scoreboard anyone can rerun (above): 35/42 with showtime, 25/42 without.
- A blind rematch on the round-1 showreel prompt (round notes): showtime 0.4.0 lost round 5; after the density fix its two takes ranked first and second in round 6, ahead of the plain take that had won round 1. One voter (me, showtime's author), partly blind: an anecdote, not a result.
Limits: the hearing pass and the checks measure the file; whether a video is good is still the critic's and your call. The full list is in the changelog.
[圖片]New in 0.3.0
Quieter runs, full review by default
- Lean mode, when you ask for it. The full review stays the default; say "lean" (or run
showtime config mode lean) for a lighter pass without the critic round. In both modesshowtime lookmakes one composite image that a disposable reviewer reads (your agent does not),rendersays when a project was not checked first and names the cheaper--from/--tofix after a second full render, andcheck,qa,doctorandrenderprint a short summary by default (--verbosefor everything). Every reference opens with its rules (showtime guide <topic>prints them). No check was removed. In benchmark round 4, lean runs read a median of 4.5 images into the agent's context and made a median of one full render per job. showtime job initchecks your setup and printssetup: readyor the failures with their fixes, so it is the one command to start with.
Better videos
- Variety guard. Each finished job's look (template, theme, palette, type pair, transitions, camera moves, music,
structure, tone) goes into a local history that never leaves your machine (
showtime history offturns it off).showtime checkwarnslook_repeatwhen a project repeats one of the last five, with two concrete alternatives. - Style references.
showtime reference <video>writes a brief with the video's cut rhythm, shot lengths, how scenes change, palette, camera moves, rough type scale and loudness curve, and a contact sheet. The storyboard borrows the grammar, never the words, logos or shots; the credit "Style reference: ..." is written for you, andshowtime qafails a render that copies the reference's pictures (guide). - Phone check.
showtime checkends withphone check: PASSorFAILwith timestamps: each text held long enough to read (per language), a minimum type size at phone width (16:9 5 pt, 1:1 10, 4:5 11, 9:16 15) and nothing under a platform's buttons or at the edge. Inqa, a failure is a warning, never a FAIL. - Brand first for launches.
showtime brand capture <repo|url> --job <job>takes the product's palette with roles, fonts, logo, wordmark, real copy (with file and line) and real UI before the storyboard, andshowtime new launchapplies it. A launch job with no kit says why (showtime brand skip), andcheckwarns when it does not. - Pairwise review. See the crew: a new version ships only if the critic prefers it in both orders.
- Fixes where agents tripped: a clip's frames no longer depend on the order the frames were asked for,
retime --from-voice --totalworks when every scene is narrated, Manim silent films and--mixpaths work,doctorwarns when theshowtimecommand on your path is not the agent's, and font errors name the exact missing characters and the fix.
New kinds of video
- Repo explainers and paper explainers (workflows
repo-explainerandpaper-explainer), described above. showtime release-videoturns release notes, a CHANGELOG section or a PR description into a ready-to-render project with no agent: the notes' own words, reading-time holds, the people credited.- A GitHub Action that renders a release or PR video on the runner, checks it, exports an HTML video and a copy under 10 MB, and uploads them (guide). It needs no API key unless you choose the mode that runs your own agent.
showtime adopt <folder | page | script>takes a video someone already wrote as a function of time (an HTML page withseek(t), a canvasdraw(t), a CSS-animated page, a Python frame function) and gives it showtime's checks, sound, captions, qa, HTML export and review, without a rewrite. The originals are never changed (guide).
Honesty
- Receipts. Every job ends with
receipt.md,receipt.jsonand a line inshare.txt(see above).
In progress (landing before the release):
- A fix to a few seconds (
render --from A --to B --job <job>) splices into a complete new final: only those frames change, the audio is mastered again, and a span is never mistaken for the video. - Every Manim template passes its own check, and a scene's first element is on screen at frame 0.
Limits: the phone check and the look history read the project files and cannot judge whether a video is good; a model reviewer's preference is steadier than its score but is still an opinion; tokens and cost appear only for agents that expose their session log (Claude Code and Codex, as numbers only), and everything else says "not reported by this agent". The full list is in the changelog.
[圖片]New in 0.2.0
- Works in your coding agent. One repository for every agent: Claude Code, Codex, Cursor, Devin and OpenCode
are tested, and Copilot, Gemini CLI, Antigravity, Cline, Kilo Code, Kiro, Zed, Goose, Amp, Factory Droid and
Qwen Code are packaged (Works with).
showtime install --agent <name>puts the skill, the crew and the MCP server where an agent looks. A stable~/.showtime/bin/showtimecommand survives plugin updates, long commands can run in the background (--background,showtime status), andshowtime doctorknows the sandboxes of the common agents and says which setting to change. - A lighter first run. The default download is about 770 MB on Linux x64 (about 560 to 610 MB on macOS and
Windows) instead of 2.9 GB.
showtime setup --planlists every component with its size and when it is fetched, andshowtime setup --fullinstalls everything up front. Nothing was removed: a piece that left the default install (the transcription model, Manim, the audio library beyond its 41 MB starter, browser and icon extras) is fetched the first time a video needs it, announced with its size. Homes made by 0.1 keep working;setup --pruneclears what is no longer used. - A real music catalog. 297 produced tracks (Scott Buckley, Kevin MacLeod, a dozen more composers and
public-domain recordings),
each downloaded and measured for hiss, clipping, mono, dead gaps and loudness swings, tagged by mood, energy,
tempo and use, and picked with
showtime audio music pick. Tracks are fetched from their creators on first use and never re-hosted. Every render that uses one writes the credit intocredits.txtand the post copy by itself, and prints a note. 35 more sound packs (34 CC0) install when a search needs them. - Platforms. Apple Silicon and Linux arm64 now run end to end in CI, Windows 11 on Arm runs with an x64
Python under Windows' emulation (Requirements), and
scripts/e2e.pyrepeats the whole path on any machine. - A safer preview server.
showtime previewandshowtime serveranswer only requests that carry a random per-session key from the printed link; before, any web page open in your browser could read a project's files over127.0.0.1. - Footage edits that hear the ums. The default transcription is now Parakeet-TDT 0.6B v3 (25 languages
including English and Spanish; fetched on first use, about 490 MB; Whisper stays for other languages and with
--model). It keeps "um" and "uh" as words, and a scan after it hears the hesitations no word covers. On a public, human-labelled podcast set (20 episodes, 495 labelled fillers) it found 81% of them at 83% precision against the labels, where 0.1.0's default found 11% at 78%; on the benchmark interview it cuts all five known "uh" (the benchmark's scorer credits 4 of 5; 0.1.0's default commands cut none). Cuts get 20 ms crossfades. Speech under music is heard better because showtime transcribes its own dry narration stem, and separates the voice only when the music is loud: word errors at equal loudness fell from 19.7% to 7.3% on a small test set. These are local evaluations on a few sets, not a guarantee for your footage; label-based precision understates it, since the labels miss some real fillers. CrisperWhisper is available as an opt-in model under its non-commercial licence (not on Intel Macs). - Launch videos by default. Ask for a launch, promo or release video and the default is a calm short film of
four to six scenes: a big still hook, one smooth fly-through into the product, the same window carried across the
cuts, and a produced track whose swell lands on the end card. The camera only moves when it has a reason; the
motion comes from the product itself. Terminals and code shrink to fit every size, and
showtime checkstops a render when text would be cut off.
The full list is in the changelog.
[圖片]Requirements
No GPU needed. Without one, the browser draws every frame on the CPU, WebGL included; how long that takes, and other common questions, are in the FAQ.
showtime is built for macOS (Apple Silicon and Intel), Windows 10/11 and Linux (x86_64 and arm64). What has actually been run, and where ("end to end" means setup, doctor, a voiced render with qa, HTML export, transcription, captions and the MCP server):
- Intel Mac (a physical machine): end to end, plus the fast test suite.
- Apple Silicon: end to end on GitHub's
macos-14(M1) runners, plus the fast suite. A run on a physical Apple Silicon Mac is still welcome. - Linux x86_64: end to end on Ubuntu 24.04 (AWS), plus the fast suite.
- Linux arm64: end to end on GitHub's
ubuntu-24.04-armrunners. - Windows Server 2025 x64: end to end as a standard user (AWS) and on GitHub's
windows-2025runners. - Windows 11 on Arm: end to end on GitHub's
windows-11-armrunners, plus the fast suite. showtime's Python and ffmpeg run as x64 under Windows' emulation there (some packages have no Windows arm64 build, and the native arm64 ffmpeg build did not start on the runner), so it is slower than on x64. - Windows 10/11 x64 desktop as a standard user: not yet run on a real machine. If you have one,
scripts/e2e-windows.ps1runs everything and zips the result to attach to an issue.
CI runs the fast test suite on Linux, Windows and Apple Silicon for every change, and on an Intel Mac nightly. Expect rough edges on anything marked not yet run, and please open an issue when something breaks.
Chrome, Edge or Chromium is found automatically; if none is installed, setup downloads Chrome's headless
shell (100 to 120 MB to download). Disk: the default install downloads about 0.73 GB on Linux x64 (0.67 GB on Linux
arm64) and 0.53 to 0.59 GB on macOS and Windows, and once unpacked it takes about 1.4 GB on macOS and Windows and 1.7
to 1.8 GB on Linux (Python packages 0.65 to 0.9 GB, Node packages 0.34 GB, ffmpeg 0.13 to 0.33 GB, models 0.22 GB),
with a browser already installed; the headless shell adds 0.2 to 0.3 GB, and a system ffmpeg 6.0 or newer saves
the ffmpeg part. showtime setup --estimate prints yours, showtime setup --plan lists every download. What a video needs only sometimes arrives the first time it is used, with its size
announced: the transcription model (Parakeet, about 490 MB, once),
Manim (60 MB), the audio library's starter part (41 MB), a music track or a sound pack (each a few MB to a few
dozen). showtime setup --full fetches all of it now, for a machine that will be offline (about 5.1 to 5.7 GB,
mostly the 1.6 GB Whisper large-v3-turbo model and 0.9 GB of the music catalog; Scott Buckley asks for no bulk
downloads, so his tracks still download one at a time, the first time a video uses them).
Install commands for uv and Node.js
macOS and Linux:
Windows (PowerShell):
On Linux, if the browser does not start, install Chromium's system libraries once (after setup):
sudo "$(command -v node)" ~/.showtime/node/node_modules/playwright/cli.js install-deps chromium.
NodeSource packages work too.
ffmpeg is downloaded as a static build, so a system ffmpeg is not needed. Installing uv or Node.js
updates PATH for new terminals only: restart your coding agent afterwards (showtime also looks in the
installers' default folders if the new PATH has not reached it yet).
Setup from a terminal, and what it installs
The first time showtime is used, your agent tells you the size and time and runs the setup once you agree. The first time a video
needs a bigger piece (library sounds, a music track, the transcription model, Manim), showtime fetches just that piece and prints its
size first; showtime setup --full fetches everything up front. To run setup yourself, use a clone (both share ~/.showtime).
macOS and Linux (bash, zsh):
Windows PowerShell (showtime.cmd also works from cmd; showtime.ps1 is there too):
Setup also writes ~/.showtime/bin/showtime (Windows: showtime.cmd), a command that keeps working when a
plugin update moves the skill folder, and prints how to put it on your PATH (it never changes PATH itself). On
Windows that is one PowerShell line adding %USERPROFILE%\.showtime\bin to your user PATH: run it once, then
open a new terminal (or restart your agent) to type just showtime.
Without it, skills/showtime/bin/showtime is the entry point (the skill's folder, not the plugin's top folder). On
Windows that runs showtime.cmd (from cmd or PowerShell); call showtime.ps1 directly only where the PowerShell
execution policy allows scripts.
Downloads resume after an interruption and are skipped when already present, so re-running setup is always safe. Setup's downloads, the optional extras, the core audio library, the music catalog, the sound packs and the models fetched on first use (the English aligner, Piper voices, the speaker cutout) are pinned by URL, size and SHA-256. Two are not pinned yet: the extended audio-library tier records each file's SHA-256 on its first download and verifies every re-download against it (trust on first use), and the background-removal engine used outside macOS (rembg, a pinned package version) fetches its model with its own downloader. Features that need an optional extra say so and print the exact command; nothing is installed behind your back.
Parakeet-TDT 0.6B v3 (the default verbatim transcription, 25 languages) and the UVR MDX-Net vocal separator
(speech under loud music) are not extras: they are fetched the first time a transcription needs them, or now
with showtime setup --full.
What showtime runs and downloads: every download, and what goes over the network
What runs. Installing the plugin downloads this repository and nothing else. It adds the showtime
skill (Claude runs skills/showtime/bin/showtime, a Python and Node command line, in your terminal), a
local MCP server (node skills/showtime/mcp/server.mjs over stdio; it makes no network calls of its own), a
progress monitor while the skill is in use (node skills/showtime/mcp/progress-monitor.mjs, which reads
~/.showtime/logs/progress.jsonl), and ten optional sub-agents. No hooks. Setup runs only after Claude has
told you the size and time and you agree, or when you run it yourself. Files go to ~/.showtime (or
SHOWTIME_HOME, or the plugin's home setting) and each video to showtime-out/<slug>-<timestamp>/ in
your project.
Setup downloads (the default core tier, about 2.9 GB). Every model and ffmpeg file is checked against
a size and SHA-256 pinned in skills/showtime/setup/manifest.json:
On macOS, setup removes the download quarantine flag from the ffmpeg binaries (xattr -d com.apple.quarantine) so Gatekeeper does not block them.
Downloaded later, only when a feature needs it. The command or Claude says so first.
- The audio library,
showtime audio lib fetch: the core set is 87 files (about 250 MB, CC0 and CC BY 4.0) from kenney.nl, opengameart.org, incompetech.com and archive.org, pinned by SHA-256.--tier extendedadds 218 files (about 1 GB) from incompetech.com, archive.org and opengameart.org; those are not pinned yet, so each file's SHA-256 is recorded at its first download and checked on every re-download. - The English word aligner, wav2vec2 (95 MB, Hugging Face, pinned), the first time narration is aligned; a Piper voice (67 to 116 MB, github.com/k2-fsa/sherpa-onnx releases, pinned) when you choose one.
- Another Whisper model (Hugging Face, 150 MB to 3 GB, not pinned) when you transcribe with
--model, or speech that is not English (small, about 480 MB). - Outside macOS, background removal installs the rembg package from PyPI, and rembg downloads its own model (about 170 MB) the first time.
- Optional extras, only with
showtime setup --with <name>(the list and sizes:showtime setup --list): larger Whisper and Parakeet transcription, speaker labels, audio event tags, Supertonic voices, DeepFilterNet, RIFE, two more SoundFonts and Manim/ManimGL (from Hugging Face, GitHub releases, OSU OSL and PyPI, pinned by SHA-256 except the Python packages), and MusicGen (PyPI, PyTorch's package index on Linux, and Meta's non-commercial weights from Hugging Face).
SHOWTIME_OFFLINE=1 stops the web asset lookups and the voice-model downloads.
What goes over the network. showtime adds no cloud service: no accounts, no telemetry (Hugging Face's is switched off too) and no uploads. Every request it makes is a download. Rendering is offline: the headless browser that draws the frames blocks every request that is not local, and an HTML video carries a content security policy that allows no network access. The web is used only when you ask for something from it:
- web assets: fonts (api.fontsource.org, cdn.jsdelivr.net), icons and emoji (cdn.jsdelivr.net, raw.githubusercontent.com), and openly licensed photos and video (Openverse, Wikimedia Commons, NASA, the Cleveland Museum of Art, the Met, the Art Institute of Chicago, or a URL you give);
- a web page you name, loaded in a local browser to capture it (
showtime site capture <url>,showtime demo record --url,showtime brand init --url), with cookie banners declined and trackers blocked; - the optional researcher sub-agent, which checks facts with Claude Code's web tools.
Those requests carry the search words or the URL and a showtime/<version> user agent; your files and
videos are never sent. The studio board and the preview server listen on 127.0.0.1 only, and the board's
link carries a random key.
Troubleshooting
Platform notes (by design; see the status above): Apple Silicon runs everything natively and renders WebGL through Metal; Intel Macs get the last x86_64 builds of ONNX Runtime and numba automatically; on Windows, drive letters, spaces and parentheses in paths are handled everywhere, including inside ffmpeg filters; Linux machines without a GPU render WebGL through SwiftShader. Hardware encoders and macOS-only features are used only when present, with portable fallbacks.
Use showtime from other tools (MCP)
showtime ships an MCP server (skills/showtime/mcp/server.mjs, Node only, no extra install) with a
small set of coarse tools: doctor, new_project, render, check, qa, export_html, deliver_exports,
receipt, guide and status by default, and with SHOWTIME_MCP_TOOLS=all also snap, voice_say,
voice_script, transcribe, audio_compose, audio_sfx, audio_mix, audio_search, studio_open and
studio_feedback (the Claude Desktop bundle lists them all). Each runs the matching showtime
command on your machine and answers with a short summary and the paths it wrote; a tool that runs longer than about
20 seconds answers with a task id, and status reports progress and the result. The plugins register it for you.
For Claude Desktop or any other MCP client, run ~/.showtime/bin/showtime mcp (see MCP only for the
snippet and the npm and .mcpb routes); the snippet for each client is in
references/mcp.md, next to the plugin settings (default voice and
language, a CPU limit) and the render progress monitor.
Docs
For people: seventeen task guides (what to say to your agent, what it runs, what you get, how long it takes), What's new (each release in one sentence a feature) and the FAQ (GPUs, cost, agents, privacy, licences, disk, time, platforms, languages).
The documentation map is the way in: every guide, grouped by what you are making, from workflows (launch, explainer, tutorial, social, data, footage, trailer, diagram, recap, repro, X-ray) to story and craft, sound and voice, rendering, and QA. The glossary is in CONTEXT.md, and what showtime deliberately does not do, and why, is in .out-of-scope/.
Installing in a particular agent: docs/agents.md has the exact steps for each, and what each test covered. The same guides are also a searchable site, with the gallery playing every example: faviovazquez.github.io/showtime.
License and credits
showtime's own code is MIT licensed (LICENSE). Setup downloads third-party tools and models
under their own licenses, recorded per item in skills/showtime/setup/manifest.json. Notable ones: the
static ffmpeg builds are GPL; Kokoro is Apache-2.0; Whisper models are MIT; Parakeet (NVIDIA) and TitaNet
are CC-BY-4.0; the vocal separator UVR-MDX-NET-Voc_FT is MIT, by the Ultimate Vocal Remover project (UVR)
and its developers; MODNet (the speaker cutout behind a big word, footage cutout) is Apache-2.0, code and
weights, by Zhanghan Ke and co-authors; CrisperWhisper 2.0 weights (opt-in only, --model crisper) are non-commercial and
ask for your acceptance first; Supertonic weights are OpenRAIL-M; FluidR3Mono and MuseScore General are MIT; GeneralUser GS
(optional) has its own free license; MusicGen weights (optional) are CC-BY-NC-4.0, non-commercial. The
brand (Curtain Call) is described in assets/brand/. The produced-music catalog is
by Scott Buckley and Kevin MacLeod (CC BY 4.0) plus CC0 and public-domain recordings; the tracks stay on their
creators' sites, are fetched on first use, and every render that uses one writes its credit into credits.txt
and the post copy (a track that needs a credit and has none stops the mix). Each example credits its
sources in its own folder, and example 13 is CC BY-SA 4.0, like the article it adapts. The videos you
make are yours; when a render uses an asset that needs attribution, showtime writes credits.txt next
to it.
Contributing
See CONTRIBUTING.md and the glossary in CONTEXT.md.
Status: 0.4, early. Commands and file formats may still change before 1.0 (see CHANGELOG.md).
來源:README.md,提交 2efdb11
工具
0版本歷史
12- v0.4.6最新Oct 16, 2026
- v0.4.5Oct 15, 2026
- v0.4.4Oct 14, 2026
- v0.4.3Oct 13, 2026
- v0.4.2Oct 12, 2026
- v0.4.1Oct 9, 2026
- v0.4.0Oct 6, 2026
- v0.3.5Oct 4, 2026
- v0.3.4Oct 3, 2026
- v0.3.2Oct 1, 2026
- v0.3.0Sep 30, 2026
- v0.2.0Sep 29, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分