Transform YouTube videos into stunning animated GIFs with perfectly-timed, stylized subtitles and eye-catching effects.
- Precise Video Clipping: Extract exact segments from YouTube videos with millisecond accuracy
- Automatic Transcription: AI-powered subtitle generation with word-level timing
- 10+ Visual Effects: Including typewriter, bounce, wave, rainbow, glitch, sparkle, and more
- Matrix-Style UI: Retro cyberpunk interface with neon green aesthetics
- Offline Operation: Works completely offline after initial video download
- Cross-Platform: Runs on Windows, macOS, and Linux
- Python 3.10 or higher
- 4GB RAM minimum (8GB recommended)
- Internet connection (for downloading videos)
git clone https://github.com/shitcoinsherpa/autogif.git
cd autogif
# IMPORTANT: Run build.bat first to set up the environment
build.bat
# Then run the application
run.batgit clone https://github.com/shitcoinsherpa/autogif.git
cd autogif
chmod +x build.sh run.sh
# Build first (creates virtual environment)
./build.sh
# Then run the application
./run.shNote: Always run the build script first! It creates the Python virtual environment and installs all dependencies.
The Windows release includes the following pre-compiled binaries in the resources/ directory:
- FFmpeg (v6.0+) - LGPL-licensed video processing tools
ffmpeg.exe- Video/audio converterffprobe.exe- Media analyzerffplay.exe- Media player
- yt-dlp - Public domain YouTube downloader
- Whisper - MIT-licensed speech recognition (optional)
For macOS and Linux, binaries can be installed via:
# macOS
brew install ffmpeg yt-dlp
# Linux (Ubuntu/Debian)
sudo apt install ffmpeg
wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O resources/yt-dlp
chmod +x resources/yt-dlp
# Or use the setup script
./setup-binaries.sh| Effect | Description | Best For |
|---|---|---|
| Typewriter | Text appears character by character | Dramatic reveals |
| Bounce | Letters drop and bounce into place | Energetic content |
| Wave | Text ripples in sine wave pattern | Music videos |
| Rainbow | Cycles through color spectrum | Fun, vibrant content |
| Glitch | Digital corruption with RGB splits | Tech/gaming content |
| Sparkle | Magical particles around text | Special moments |
| Neon | Glowing neon sign effect | Night scenes |
| Glow | Soft ethereal glow | Atmospheric content |
| Fade | Smooth fade in/out | Professional transitions |
| Shake | Dynamic text trembling | Action scenes |
autogif/
βββ autogif/ # Main application code
β βββ effects/ # Visual effects plugins
β β βββ plugins/ # Individual effect implementations
β βββ fonts/ # Bundled fonts
β βββ config.py # Configuration
β βββ main.py # Gradio UI
β βββ processing.py # Core video/GIF processing
βββ resources/ # Platform binaries
βββ build.bat/sh # Build scripts
βββ run.bat/sh # Run scripts
βββ requirements.txt # Python dependencies
- Create a new file in
autogif/effects/plugins/ - Inherit from
EffectBase - Implement required methods:
from autogif.effects.effect_base import EffectBase
class MyEffect(EffectBase):
@property
def slug(self) -> str:
return "my-effect"
@property
def display_name(self) -> str:
return "My Effect"
def transform(self, frame_image, text, **kwargs):
# Your effect logic here
return modified_frameWe welcome contributions! Please see CONTRIBUTING.md for guidelines.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-effect) - Commit your changes (
git commit -m 'Add amazing effect') - Push to the branch (
git push origin feature/amazing-effect) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
AutoGIF includes or uses the following third-party components:
| Component | License | Source |
|---|---|---|
| FFmpeg | LGPL v2.1+ | ffmpeg.org |
| yt-dlp | Unlicense | github.com/yt-dlp/yt-dlp |
| Whisper | MIT | github.com/Const-me/Whisper |
| Font | License | Copyright |
|---|---|---|
| JetBrains Mono | OFL 1.1 | Β© JetBrains s.r.o. |
| Fira Code | OFL 1.1 | Β© The Fira Code Project Authors |
| IBM VGA | CC BY-SA 4.0 | Β© VileR |
| Consolas | Proprietary* | Β© Microsoft Corporation |
| Impact | Proprietary* | Β© Microsoft Corporation |
*Note: Consolas and Impact are included for compatibility. Users should ensure they have appropriate licenses for these fonts.
Major Python packages used:
- Gradio (Apache 2.0) - Web interface
- Pillow (HPND) - Image processing
- OpenCV (Apache 2.0) - Video processing
- faster-whisper (MIT) - Speech recognition
- NumPy (BSD) - Numerical computing
This software includes pre-compiled binaries for convenience. These binaries are distributed under their respective licenses:
- FFmpeg binaries are compiled from source available at ffmpeg.org and are licensed under LGPL v2.1 or later. Source code is available at the FFmpeg website.
- yt-dlp is distributed under the Unlicense (public domain).
- Users are responsible for complying with all applicable licenses when using this software.
Special thanks to:
- The FFmpeg team for their powerful multimedia framework
- The yt-dlp community for maintaining an excellent YouTube downloader
- OpenAI for the Whisper speech recognition model
- The Gradio team for their intuitive web UI framework
- All font creators who made their work available under open licenses
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Made with π in the Matrix
