Fixes "file too large" so you can just send it. A desktop app that splits videos to fit Discord, Slack, WhatsApp, and other chat upload limits.
- Platform-aware splitting — select Discord, Slack, or WhatsApp and the correct size limit is applied automatically
- Drag & drop — drop a video file onto the window or click to browse
- Visual previews — square thumbnail previews of each resulting part
- Reveal in file browser — click the folder icon on any part to open it in Finder / Files / Explorer
- Cross-platform — runs on macOS, Linux, and Windows
- Extensible — designed so new platforms and file types can be added easily
| Platform | Tier | Max size per part |
|---|---|---|
| Discord | Free | 10 MB |
| Discord | Nitro Basic | 50 MB |
| Discord | Nitro | 500 MB |
| Slack | All plans | 1 GB |
| Standard | 180 MB |
| Dependency | Install |
|---|---|
| Python 3.10+ | python.org |
| ffmpeg (+ ffprobe) | macOS: brew install ffmpeg · Linux: sudo apt install ffmpeg · Windows: winget install ffmpeg |
# 1. Clone the repo
git clone <repo-url> && cd let-me-send-pls
# 2. Create a virtual environment (recommended)
python3 -m venv .venv
source .venv/bin/activate # macOS / Linux
# .venv\Scripts\activate # Windows
# 3. Install dependencies
pip install -r requirements.txt
# 4. Run the app
python main.pyYou can package the app into a single executable with PyInstaller:
pip install pyinstaller
pyinstaller --onefile --windowed --name "LetMeSendPls" main.pyThe binary will be in dist/LetMeSendPls.
main.py # Entry point
app/
platforms.py # Platform & tier definitions (add new platforms here)
splitter.py # Base Splitter ABC + VideoSplitter (add file types here)
worker.py # Background QThread for splitting
main_window.py # Main application window
widgets.py # UI components: DropZone, PlatformPicker, ResultCard, ResultsPanel
theme.py # Dark theme styling (Catppuccin Mocha palette)
Edit PLATFORM_TIERS in app/platforms.py:
PlatformTier("Telegram", "Default", 2000),- Create a new
Splittersubclass inapp/splitter.py(seeVideoSplitterfor reference). - Register it in the
_SPLITTERSlist at the bottom of the file.