iArt.ai
AI motion graphics software — the After Effects alternative anyone can use. Create animations and explainer videos from a text prompt in minutes.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Drop in whole phone videos and a song. Get back a reel cut to the beat.
No trimming, no timeline, no AI. Just video and audio analysis with FFmpeg, OpenCV and librosa.
Making a Reel usually means trimming every clip by hand and lining the cuts up with the music yourself. Reel Maker does that part: you add whole, untrimmed clips and it picks the moments and syncs them to the song.
photos + videos ─► probe ─► proxies ─► analysis ─┐
(HEIC, HDR→SDR, (sharpness, ├─► planner ─► edit list ─► render ─► reel.mp4
song ────────────► beats, bars, energy motion, │ (pick, order, (EDL) (FFmpeg) + silent copy
(librosa) duplicates) ─┘ time to beats)
Module (engine/reel_engine/) | Role |
|---|---|
probe.py | Identify photos/videos/audio by content; size, rotation, HDR, capture time |
proxy.py | HEIC decode, sRGB, HDR→SDR tone-mapping, 30 fps working copies (cached by content hash) |
analysis.py | Sharpness, exposure, colour and detail, motion, scene cuts, perceptual hash |
music.py | Beat tracking with a confidence check and fixed-grid fallback, bars, energy, start point |
songs.py | YouTube link → title (oEmbed) → iTunes Search preview |
planner.py | Varied shot selection (duplicates held back), hook-first ordering, beat-locked timing → EDL |
edl.py | The edit-decision list format and its validator |
render.py | Parallel per-clip rendering, concat, loudness-normalized music, output checks |
webapp.py + static/ | The web app: chunked uploads, limits, render queue, result pages |
presets.yaml | Pacing and scoring weights for Hype / Smooth / Cinematic |
The planner is deterministic: the same media, settings and seed always give the same reel.
You need Python 3.12+ and FFmpeg (with ffprobe) on your PATH. On Windows you
can instead put ffmpeg.exe and ffprobe.exe in tools/ffmpeg/; the gyan.dev
"essentials" build includes zscale, which HDR tone-mapping needs.
python -m venv .venv
.venv/Scripts/pip install -e "engine[dev]" # macOS/Linux: .venv/bin/pip
.venv/Scripts/reel ui # opens http://localhost:8765
# find a song from a YouTube link or name, and download its 30 s preview
reel song "https://www.youtube.com/watch?v=4NRXx6U8ABQ" --pick 1
# make reels from a folder (all three styles, 15 s)
reel make path/to/trip --song songs/The-Weeknd-Blinding-Lights.m4a --preset all --out out
Other options: --song-search "artist - song", --length 7|15|30|60, --seed N (a
different variation), --plan-only (write the edit list without rendering), and
reel render out/hype.edl.json to re-render a saved plan.
DEPLOY.md covers both options:
main, with safe switch-over
to new versions.workers.dev address through Cloudflare Tunnel.The public site limits each visitor (uploads per hour and day, renders per hour), each reel (30 files, 5 minutes of video) and each file (photos 30 MB, videos 400 MB and 3 minutes).
.venv/Scripts/python -m pytest engine/tests # everything (~4 min)
.venv/Scripts/python -m pytest engine/tests -m "not ffmpeg and not network" # fast unit tests
The end-to-end tests generate phone-like media (HEIC, rotated video, HLG HDR HEVC,
duplicates, a corrupt file) and a synthetic song with a drop. engine/tests/golden/
holds an edit-list snapshot; regenerate it with UPDATE_GOLDEN=1 after an intended
planner change.
engine/ Python package: the editing engine, CLI and web app
reel_engine/ probe, proxy, analysis, music, planner, render, webapp
tests/ unit, end-to-end and web tests
cloudflare-container/ Worker + container setup for makemyreel.in
cloudflare/ Alternative: Worker for the free home-PC option
scripts/ Windows helpers (start on login, restart the live site)
Dockerfile The container image
docs/ Plan and README media
Issues and pull requests are welcome. Things I'd like to add: letting one long video supply as many moments as the reel needs, transitions and speed ramps, and keeping finished reels in Cloudflare R2.
Have a suggestion? Use the email link on makemyreel.in, or open an issue.
Demo footage and photos: free stock media from Pexels. Demo music: "Upbeat" by prettyjohn1 on Pixabay.
MIT © 2026 Hardik Sharma