The problem nobody talks about
Every QA engineer knows this moment.
You've just finished testing a feature. You've explored the flow, caught the bugs, validated the edge cases. You know this feature inside out.
Now you have to open a spreadsheet and document everything you just did.
Test cases are supposed to be written before testing — to define expected behavior before exploration begins. But in reality, most teams write them after. Or not at all.
The gap between when test cases should be written and when they actually get written is one of the most quietly painful problems in QA.
So I asked myself a simple question:
What if the recording is the documentation?
That question became ClipCase.
What is ClipCase?
ClipCase is an open-source CLI tool that converts screen recordings into structured QA test cases — automatically.
You drop in a .mov or .mp4. You run one command. You get back production-ready test cases in Markdown, CSV, and Excel.
pip install clipcase
clipcase your_recording.mov
That's it.
How it works
Under the hood, ClipCase runs a three-step pipeline:
Step 1 — Frame Extraction
ClipCase uses ffmpeg to extract frames from the video at a configurable FPS rate. You control how many frames get sampled — more frames means higher accuracy, more API cost. Fewer frames means faster, cheaper runs.
# Extract at 1 frame per second
clipcase recording.mov --fps 1
# Preview frames before spending API credits
clipcase recording.mov --frames-only
Step 2 — AI Vision Analysis
Extracted frames are batched and sent to your chosen AI provider — Claude (Anthropic), GPT-4o (OpenAI), or Gemini 1.5 Pro (Google). The AI analyzes the visual flow: navigation patterns, entered data, UI interactions, validation behavior.
# Switch providers per run
clipcase recording.mov --provider openai
clipcase recording.mov --provider gemini # Free tier available
clipcase recording.mov --provider claude # Default
Step 3 — Structured Output
ClipCase generates three outputs from a single run:
- Markdown — readable, version-controllable
- CSV — importable into any test management tool
- Excel — color-coded headers, auto-filters, frozen rows, auto-sized columns
Test cases auto-classify into: Smoke, Sanity, Regression, and E2E.
What genuinely surprised me
I expected the AI to pick up navigation flows. What I didn't expect was how much detail it caught:
- Specific test data that was entered into fields
- Validation error messages shown on screen
- Conditional UI states and dynamic field rendering
- Multi-step form flows with branching logic
No written spec required. The recording was the spec.
Honest limitations
ClipCase is v1.0.0. Here's what it doesn't do perfectly yet:
- Long sessions blur scenario boundaries — the AI struggles to separate distinct test cases in a 20-minute recording
- Fast navigation reduces capture accuracy — if you're clicking quickly, frames miss interactions
- Business logic still needs manual refinement — AI documents what happened, not always what should happen
- Complex validations need human review — AI accelerates documentation, it doesn't replace QA judgment
The goal isn't replacing testers. It's closing the documentation gap so QA engineers can focus on risk analysis and quality strategy instead of retrospective paperwork.
Cost per run
| Provider | Approx. Cost |
|---|---|
| Claude (Anthropic) | ~$0.30 – $1.00 |
| GPT-4o (OpenAI) | ~$0.50 – $1.50 |
| Gemini 1.5 Pro | Free tier available |
How we released it to PyPI — tonight
Here's the fun part. I shipped ClipCase to PyPI on a Sunday evening. Start to finish, it took about 90 minutes.
Here's the exact process if you want to do the same for your own CLI tool.
1. Add pyproject.toml
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[project]
name = "clipcase"
version = "1.0.0"
description = "Convert screen recording videos into structured QA test cases using AI vision"
readme = "README.md"
license = { text = "MIT" }
requires-python = ">=3.9"
authors = [
{ name = "Amuthan", email = "amuthan.cp12@gmail.com" }
]
keywords = ["qa", "testing", "test-cases", "ai", "cli", "automation"]
classifiers = [
"Programming Language :: Python :: 3",
"License :: OSI Approved :: MIT License",
"Topic :: Software Development :: Testing",
]
dependencies = [
"anthropic",
"openai",
"google-generativeai",
"openpyxl",
"python-dotenv",
]
[project.scripts]
clipcase = "clipcase:main"
The [project.scripts] section is the key part — it's what makes clipcase your_video.mov work globally after install. Your entry point file needs a main() function.
2. Make sure your entry point is ready
def main():
# your argparse + logic here
pass
if __name__ == "__main__":
main()
3. Install build tools and build
pip install build twine
python3 -m build
This creates two files in dist/:
clipcase-1.0.0.tar.gz
clipcase-1.0.0-py3-none-any.whl
4. Create a PyPI account and API token
Go to pypi.org → Register → Account Settings → API Tokens → Create one.
5. Upload
python3 -m twine upload dist/*
When prompted:
-
Username:
__token__ - Password: your API token
6. Done.
pip install clipcase
Your tool is now globally installable. From anywhere in the world.
Try it
pip install clipcase
clipcase your_recording.mov
- GitHub: github.com/Amuthan07/ClipCase
- PyPI: pypi.org/project/clipcase/
What's next
- Web UI wrapper so non-CLI users can try it
- Batch processing for multiple recordings
- Direct export to Jira, Linear, and TestRail
- Pro tier with custom QA principles templates
If you're a QA engineer, SDET, or developer who tests their own work — try it on a real recording and let me know what the AI catches. I'd love to know if it surprises you the way it surprised me.
Built with Python, ffmpeg, and roughly $0.30–$1.00 of API credits per run.
Open source. MIT licensed. Contributions welcome.
Top comments (0)