Protoreel
Turn HTML prototypes into smooth, frame-perfect social videos.
Design an interaction, then let Protoreel film it. Record it yourself in the Studio, or just ask your AI assistant to do it for you. You get a polished video, ready to post.
Features
- Two ways to record. Perform the interaction yourself in the Studio, or describe it to Claude, Cursor or VS Code and let it record for you.
- Every social format. 4:5 feed, 9:16 Reels and TikTok, 1:1 square, 16:9 landscape, and Dribbble sizes.
- A natural cursor. Clicks, drags and scrolls look like a real hand, not a robot.
- Sound included. If your prototype makes sound, it plays in the video too.
- Re-cut in seconds. Record once, then export the same take in any other format.
Render quality
- Frame-perfect. Every frame is captured at exactly the right moment, so videos never stutter or drop frames, however fast or slow your computer is.
- Smooth 60 fps, up to 4K. Crisp text and edges at any size.
- Steady motion. Small hand shakes are smoothed out automatically.
- Plays everywhere. Standard MP4 that uploads cleanly to every platform.
Get started
Works on macOS and Linux. Setup takes about five minutes, and you only do it once.
1. Install uv
uv is a small, free tool that downloads and runs Protoreel for you. Open the Terminal app, paste this line and press Enter:
curl -LsSf https://astral.sh/uv/install.sh | sh
When it finishes, close Terminal and open it again.
2. Set up Protoreel
uvx protoreel setup
This downloads the browser Protoreel films with and creates a Protoreel folder in your home folder. The first run takes a minute or two.
3. Add your prototype
Save your interaction as an .html file and put it in the Protoreel folder. Any HTML works: a page you coded, a CodePen export, or a prototype an AI built for you.
4. Record your video
uvx protoreel studio
The Studio opens in your browser. Then:
- Pick your prototype from the list.
- Choose a format, like 4:5 for the feed or 9:16 for Reels, and adjust the zoom.
- Press Capture and use the prototype as you normally would.
- Press Esc when you're done.
- Press Render. Your video is saved in the
rendersfolder inside your Protoreel folder.
From now on, step 4 is all you need: open Terminal and run uvx protoreel studio.
Or let your AI record it (optional)
Using Claude Code? Run this once:
claude mcp add protoreel -- uvx protoreel mcp
Then just ask, for example: "Record checkout.html as a 9:16 video: tap Add to bag, then open the bag."
For Claude Desktop, Cursor and VS Code, the guide shows where to paste the settings that uvx protoreel setup prints. It also covers mobile prototypes, every format and option, and fixes for common problems.
License
MIT © Kingsley Mkpandiok
Metadata
Release files for protoreel 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| protoreel-0.1.1.tar.gz | 138.9 kB | With provenance | Details for protoreel-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| protoreel-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for protoreel-0.1.1-py3-none-any.whl |
Total release size: 187.0 kB
Release files / protoreel-0.1.1.tar.gz
| Download URL | protoreel-0.1.1.tar.gz |
|---|---|
| Size | 138.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
817422b2a08c847f62b830d6075556512261fe1b255330b0d77727aee395a7e9
|
|
BLAKE2b-256 checksum How to use checksums |
ec95bd7ea9e229a89dfb99cfb5c79681bd415a41cdc26198f4196bdf59350018
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.
Transparency logRelease files / protoreel-0.1.1-py3-none-any.whl
| Download URL | protoreel-0.1.1-py3-none-any.whl |
|---|---|
| Size | 48.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4df621cf4b2c6ee47788c58c46bd6b3cb7dec45d0b58328313116953577a19e5
|
|
BLAKE2b-256 checksum How to use checksums |
dcdebc3f1dfbb60228e7a1de15f2b48ecd7b6ccf7fd57d8840ac021882cc7c06
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.
Transparency logSecurity for protoreel 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for protoreel-0.1.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.