Repository navigation
AE Scraper
The scraper reads your open After Effects project and writes a single JSON receipt. It cannot modify your project — this is proven by an automated guard, not just promised.
- Open your project in After Effects.
- File → Scripts → Run Script File…
- Navigate to
integrations/after-effects/MographJailed_ProjectScraper.jsxin your MographJailed checkout and open it. - Pick the folder where the receipt should be saved.
- Done. You'll get a file like
MyProject.20260929T150000Z.scrape.json.
No installation, no restart, no preferences changed. Your project is exactly as it was — the scraper has no code path that saves, closes, or edits anything.
- Project name, path, After Effects version, scrape timestamp
- Every comp (up to 200): name, size, frame rate, duration
- Every layer (up to 500 per comp): name, type
- Expressions on animated properties (capped at 2,000 characters each)
- Effects applied per layer
- Fonts used
- Footage items (up to 2,000): name, path, missing/unlinked flags
- Truncation flags if any bound was hit, so you know the receipt is partial
The full field list is in docs/MJ_PROJECT_SCRAPE_1.md in the repo.
| Bound | Value |
|---|---|
| Comps | 200 |
| Layers per comp | 500 |
| Footage items | 2,000 |
| Expression length | 2,000 chars |
| Total receipt | ~5 MB |
Everything is traversed in deterministic order, so two scrapes of an unchanged project produce identical receipts.
scripts/check-scraper-readonly.sh in the repo statically scans the scraper for every After Effects DOM mutation pattern — save, remove, add, replace, setValue, addKey, duplicate, project close, undo groups, app.executeCommand, and more. If any appear, the build fails. Run it yourself:
bash scripts/check-scraper-readonly.sh
# → SCRAPER_READONLY_OKFeed it to the CLI:
mj project.ingest path=/path/to/MyProject.20260929T150000Z.scrape.json
mj expression.lint path=/path/to/MyProject.20260929T150000Z.scrape.jsonOr point the Dashboard at your receipts folder and watch it light up. Details: Tier 0 Observer.
Learn