A GUI to download videos/GIFs from social media.
Project description
Social Media GIF Downloader
A user-friendly GUI application for downloading videos and GIFs from Twitter/X, Pinterest, and Instagram posts and converting them to GIF format. Built with Python, this tool leverages yt-dlp for media downloading and moviepy for high-quality GIF conversion, ensuring optimal frame rates and seamless performance.
Features
- Multi-Platform Support: Download from Twitter/X, Pinterest, and Instagram (videos only from Instagram)
- Simple GUI Interface: Intuitive CustomTkinter-based interface for easy URL input and file saving.
- User Configuration Persistence: Automatically saves and restores user settings including:
- Default save location
- Preferred output format (GIF or MP4)
- FPS settings for GIF conversion (1-60 FPS)
- Automatic FPS Detection: Analyzes the source video to detect and apply the appropriate frame rate for GIF conversion.
- High-Quality Conversion: Uses moviepy and FFmpeg to convert videos to GIFs with preserved quality.
- GIF Preservation: Downloads Pinterest GIFs directly without re-encoding when possible.
- Cross-Platform Compatibility: Runs on all platforms including Windows, macOS, and Linux with bundled dependencies.
- Error Handling and Logging: Comprehensive logging for troubleshooting, especially in bundled executable mode.
- Background Processing: Non-blocking downloads and conversions using threading for a responsive UI.
- Custom Save Locations: Allows users to choose output filenames and directories via a save dialog.
Installation
Option 1: Download Pre-built Executables (Recommended for End Users)
Download the latest release for your platform from the Releases page:
- Windows: Download
SocialMediaGIFDownloader-Windows-x64.zip, extract, and run the.exefile - macOS: Download
.dmgor.zip, open/extract, and drag to Applications folder - Linux: Download
.AppImage, make it executable (chmod +x SocialMediaGIFDownloader-Linux-x86_64.AppImage), and run
No Python or FFmpeg installation required - all dependencies are bundled!
Option 2: Install from PyPI
- Install Python: Ensure you have Python 3.8 or higher installed. You can download it from python.org.
- Install FFmpeg: This is required for video processing.
- Windows: Download from ffmpeg.org and add the
bindirectory to your system's PATH. - macOS:
brew install ffmpeg - Linux:
sudo apt-get install ffmpeg(or use your distribution's package manager).
- Windows: Download from ffmpeg.org and add the
- Install the Application:
pip install social-media-gif-downloader
- Run the Application:
social-media-gif-downloader
Usage
- Launch the application.
- Configure your preferences (optional):
- Click "Set Default Save Location" to choose a default folder for downloads
- Select preferred output format from the dropdown (GIF or MP4)
- Adjust FPS slider for GIF conversion quality (1-60 FPS)
- Paste a social media post URL into the input field:
- Twitter/X:
https://x.com/user/status/123456789 - Pinterest:
https://www.pinterest.com/pin/123456789/ - Instagram:
https://www.instagram.com/p/{post_id}/orhttps://www.instagram.com/reel/{reel_id}/
- Twitter/X:
- Click "Download as GIF" or "Download as Video".
- Choose a save location and filename (defaults to your configured location).
- The application will download the media and convert it if necessary.
- Monitor progress via the status messages in the interface.
Note: The tool automatically detects the platform from the URL. Pinterest GIFs are downloaded directly when available, while videos from all platforms are converted to GIF format. Instagram support is limited to videos only (posts and reels). Your preferences are automatically saved to ~/.social_media_gif_downloader.json and will be restored the next time you launch the application.
Entry Point
This package installs a command-line entry point. After installation, you can run the application from your terminal by simply typing:
social-media-gif-downloader
License
This project is licensed under the MIT License. See the LICENSE file for details.
Attributions
This project relies on several open-source dependencies. For detailed information about licenses, copyrights, and attribution requirements for all dependencies used in this project, please refer to the ATTRIBUTIONS.md file.
Contributing
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a feature branch:
git checkout -b feature/your-feature-name. - Make your changes and commit:
git commit -m 'Add some feature'. - Push to the branch:
git push origin feature/your-feature-name. - Open a Pull Request.
For bug reports or feature requests, please use the issues page.
Disclaimer: This tool is for personal use only. Respect the terms of service and copyright laws of Twitter/X, Pinterest, and Instagram when downloading content.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file
social_media_gif_downloader-1.0.4.tar.gz.File metadata
File hashes
03164848b9b054c28b7c85d50399354a885b12631f74ab1486963238d01e4e101f497e7641a1bb7bba9e5ffa27de4a93c3031214b3cc3a6c4e1c44d500aaaa2313de8e910a199a85629fab044dc38901See more details on using hashes here.
Provenance
The following attestation bundles were made for
social_media_gif_downloader-1.0.4.tar.gz:Publisher:
Attestations: Values shown here reflect the state when the release was signed and may no longer be current.release.ymlon ax2bboud/social_media_gif_downloader-
Statement type:
-
Predicate type:
-
Subject name:
-
Subject digest:
-
Sigstore transparency entry: 685641814
- Sigstore integration time:
Source repository:https://in-toto.io/Statement/v1https://docs.pypi.org/attestations/publish/v1social_media_gif_downloader-1.0.4.tar.gz03164848b9b054c28b7c85d50399354a885b12631f74ab1486963238d01e4e10-
Permalink:
-
Branch / Tag:
-
Owner: https://github.com/ax2bboud
-
Access:
Publication detail:ax2bboud/social_media_gif_downloader@4ea576850cff45b0a6b2714e7ee3d356b71f127crefs/tags/v1.0.4publichttps://token.actions.githubusercontent.comgithub-hostedrelease.yml@4ea576850cff45b0a6b2714e7ee3d356b71f127cpush