ShortSmash ⚒️
Prompt in. Finished short out.
ShortSmash is an AI video studio that takes one sentence — or today's trends — and ships a finished, captioned 9:16 short, then publishes it to YouTube, TikTok, Instagram, X, Threads, Bluesky, LinkedIn, Pinterest, and Facebook (profiles + Pages) through their official APIs. Script, voiceover, verified stock footage, karaoke captions, music ducking, trend harvesting, batch production, scheduling and comment-reply drafts, all in one CLI. And an MCP server, so AI agents can drive the whole factory.
shortsmash trends food # what's hot right now (free, no keys)
shortsmash batch food --count 5 # turn the top 5 trends into 5 videos
shortsmash serve # 🆕 web studio: http://localhost:8000
shortsmash agent "make a 30s reel about coffee and post it Friday at 6pm"
shortsmash post myvideo.mp4 --caption # post YOUR video: AI title + hashtags
shortsmash post myvideo.mp4 --at "Friday 6pm" --platforms youtube,tiktok
git clone https://github.com/hydope/shortsmash && cd shortsmash
./install.sh # Windows: .\install.ps1
shortsmash "why you can't tickle yourself" # prompt in, finished short out
🏆 Featured in
ShortSmash is listed in curated awesome lists (merged PRs):
- ToolkitlyAI/awesome-ai-tools — AI Video
- TensorBlock/awesome-mcp-servers — MCP registry profile live on tensorblock.co
- sajadh76/awesome-AI-tools — Video Generation
🏗️ Architecture
flowchart LR
P["Prompt / trend"] --> LLM["LLM: script + shot plan<br/>(NVIDIA · Gemini · Grok)"]
LLM --> TTS["Neural TTS<br/>(50 languages)"]
LLM --> VIS["Visuals<br/>(Pixabay · Agnes · Veo 3.1 · Kling)"]
VIS --> GATE["Vision gate<br/>(CLIP + Gemini)"]
GATE -->|reject| VIS
TTS --> REN["FFmpeg render<br/>1080×1920 · karaoke captions<br/>cinematic grade · music"]
GATE --> REN
REN --> DUB["Dub engine<br/>(50 languages)"]
REN --> PUB["10 publishers<br/>(official APIs)"]
DUB --> PUB
PUB --> SCHED["Scheduler<br/>(SQLite · 'Friday 6pm')"]
🖥️ ShortSmash Studio (web UI)
shortsmash serve launches a dark, fast studio in your browser — no build step:
- 🎬 Studio tab — type a topic, hit Smash, watch it build; video previews inline
- 📈 Trends tab — browse what's hot per niche, click any trend to use it as your topic
- 📚 Library tab — every project, video preview, one-click publish
- 📤 Manual posts — upload your own video, get a pre-flight check (resolution, duration, per-platform limits), AI-written title + hashtags, then post now or schedule it ("Friday 6pm") to 10 platforms
- 📊 Stats tab — your output at a glance
🎬 Demo
Made end-to-end by ShortSmash — no hand-picked clips, no human editing. LLM script, neural voice, CLIP-verified stock footage, karaoke captions, ducked music bed.
"How Goats Made You Addicted to Coffee" — 49s, 1080×1920, made from one prompt. Click to play:
Same video, re-voiced — native neural voices, same verified footage:
Español · اردو · Roman Urdu · 中文 — the Mandarin version uses a native voice (not translationese) with Hanzi karaoke captions. One project, every audience.
More demos — each made from a single prompt, click to play:
Why you can't tickle yourself — 11s, 1080×1920
The deepest place on Earth — 14s, 1080×1920
Why time flies faster as you get older — 11s, 1080×1920
📤 Or skip the AI — post your own video
Upload any video, get a pre-flight check (resolution, duration, per-platform limits), an AI-written title + hashtags, then post now or schedule it ("Friday 6pm") to 10 platforms. In the Studio's Publish tab, or one command: shortsmash post myvideo.mp4 --caption
🖥️ ShortSmash Studio
shortsmash serve — generate, browse trends, publish, and track stats from the browser:
| Studio (templates) | Settings (API keys) |
|---|---|
| Publish | Library |
| Trends | Stats |
| Lyrics mode | Auto pilot |
Why ShortSmash
Most text-to-video tools assemble clips blindly — whatever the stock API returns first goes in. That's why automated shorts have the infamous "stock-footage look": a burger in a cooking tutorial, a parrot in a recipe video.
ShortSmash is the first open-source pipeline with eyes:
- Two-stage vision gate. Every candidate clip's middle frame is checked by a local CLIP model (offline, no quota, no cost) against 15 confuser categories — burgers, birds, houseplants, empty pans, citrus fruit — then by Gemini vision when quota allows. Wrong footage never ships.
- Audible gate. Renders with dead or missing audio fail instead of shipping.
- Never ships silent. A CC-licensed music library auto-downloads on first run; music is ducked under narration with a real FFmpeg sidechain.
The pipeline
prompt ──▶ script ──▶ voice ──▶ visuals ──▶ captions ──▶ render ──▶ publish
NVIDIA Edge-TTS Pixabay faster- FFmpeg official
Gemini Piper Veo 3.1 whisper 1080x1920 APIs only
Grok (offline Kling karaoke +faststart
OpenAI- neural) Agnes
compat 50 langs CLIP-verified
- Script — NVIDIA NIM (free) → Gemini (free) → Grok → any OpenAI-compatible endpoint (OpenRouter, DeepSeek, local Ollama) → offline template. Writes a scroll-stopping script and a strict JSON edit plan, validated by pydantic. Second-person, punchy, 3–4s scenes.
- Voice — Edge-TTS → Piper offline neural → gTTS fallback chain. 50 dub languages with native voices, Urdu/Hindi/Arabic included.
- Visuals — free Pixabay footage or AI generation: Google Veo 3.1 (best quality, native audio), Kling AI (top-tier motion), Agnes AI (free tier) — every clip verified by the vision gate regardless of source. Prefer your own? Set
visual_provider: customwith any command (ComfyUI, Replicate, MiniMax…). - Captions — faster-whisper word timestamps → burned-in karaoke captions.
- Render — FFmpeg: 9:16 smart reframe, transitions, hook + CTA overlays, ducked music, H.264/AAC faststart.
- Publish — YouTube, TikTok, Instagram, Threads, Bluesky, LinkedIn, Pinterest, X. Official APIs only — no Selenium, no scraping, nothing that gets accounts banned.
- Dub —
shortsmash dub <slug> --lang urre-voices any video in 50 languages — Urdu, Hindi, Arabic, Spanish, French, German, Chinese, Portuguese and 42 more — plusur-roman/hi-romanfor Roman-script captions ("Tum kaise ho?") with the native neural voice. Urdu captions render in proper Nastaliq calligraphy, right-to-left, with the karaoke highlight tracking the spoken word. Same verified clips, new native narration. - Analytics —
shortsmash analyticspulls real views/likes/comments from YouTube's API. Numbers from the platform, not vanity metrics. - Trends —
shortsmash trends <niche>harvests Google News + Hacker News (free, no keys).shortsmash batchturns the top trends into videos unattended. - Schedule — natural language ("Friday 6pm"), durable SQLite queue, retrying worker.
- Engage — pulls recent comments, drafts warm replies, you approve each one with a tap. Nothing posts itself.
- MCP server —
python -m shortsmash.mcp_serverexposesgenerate_video,get_trends,list_projects,project_statusto Claude Code, Cursor, and any MCP client. - Resume —
shortsmash resume <slug>picks up failed projects from the first incomplete stage instead of redoing everything.
How ShortSmash compares
| ShortSmash | MoneyPrinterTurbo | OpenPost | Postiz | ShortGPT | |
|---|---|---|---|---|---|
| Prompt → finished short | ✅ | ✅ | ❌ (manual editor) | ❌ | ✅ |
| Post your own video (validate + schedule) | ✅ | ❌ | ✅ | ✅ | ❌ |
| Footage verification | ✅ CLIP + Gemini | ❌ | n/a | n/a | ❌ |
| Offline neural voice fallback | ✅ Piper | ❌ | n/a | n/a | ❌ |
| Audio safety gate | ✅ | ❌ | n/a | n/a | ❌ |
| Trend harvesting (free, no keys) | ✅ | ✅ | ❌ | ❌ | ❌ |
| Batch production | ✅ | ✅ | ❌ | ❌ | ❌ |
| Karaoke word-level captions | ✅ | ✅ | ✅ | ❌ | ✅ |
| Official publishing APIs | ✅ 10 platforms | ⚠️ Selenium for YT | ✅ | ✅ | ⚠️ |
| Multi-language dubbing | ✅ 50 languages (incl. Roman Urdu/Hindi, Chinese) | ❌ | ❌ | ❌ | ✅ |
| Real analytics pull | ✅ | ❌ | ❌ | ✅ | ❌ |
| Web UI | ✅ Studio | ✅ | ✅ | ✅ | ✅ |
| MCP server | ✅ | ❌ | ✅ | ✅ | ❌ |
| Comment-reply drafts (human-approved) | ✅ | ❌ | ❌ | ❌ | ❌ |
| Resume failed projects | ✅ | ❌ | n/a | n/a | ❌ |
| License | MIT | MIT | AGPL/Commercial | MIT | MIT |
| $0 to run | ✅ | ✅ | self-host | ✅ | ✅ |
MoneyPrinterTurbo (129K★) is the most mature; OpenPost is the best manual workspace. ShortSmash is the most engineered AI-native pipeline — the only one that checks its own work.
What ShortSmash will never do
No fake likes, comments, follows, shares, or stars. No botting, no "human-like" evasion of platform detection, no scraping or unofficial endpoints. That violates every platform's rules and gets accounts banned — and it doesn't work for real growth anyway. This boundary is architectural, not a policy note: the capability simply isn't in the codebase.
Quickstart — one command
Windows (PowerShell) — paste this one line, done. It installs Python, FFmpeg, Git if missing, sets everything up, and puts ShortSmash Studio on your Desktop + Start Menu:
& ([scriptblock]::Create((irm "https://raw.githubusercontent.com/hydope/shortsmash/main/install.ps1")))
Windows (CMD) — same thing, one line in Command Prompt:
curl -L -o "%TEMP%\rf-install.cmd" "https://raw.githubusercontent.com/hydope/shortsmash/main/install.cmd" && "%TEMP%\rf-install.cmd"
Linux / macOS / Git Bash (Windows) — one line, works everywhere including Git Bash on Windows:
curl -fsSL "https://raw.githubusercontent.com/hydope/shortsmash/main/install.sh" | bash
After install, launch ShortSmash Studio from the Start Menu / Desktop
(Windows) or run shortsmash serve → open http://127.0.0.1:8000.
Prefer it manual? Download the repo and double-click install.bat
(Windows) or run ./install.sh (Linux/macOS).
Needs Python 3.11–3.13 and ffmpeg (the PowerShell installer gets both for you). On Python 3.14+ the offline footage check is skipped automatically (torch has no build for it yet).
Make a video in the 🎬 Studio tab, then hit the 🚀 Publish tab to post it to 10 platforms (YouTube, TikTok, Instagram, X, Threads, Bluesky, LinkedIn, Pinterest, Facebook, Facebook Page) in one click — with per-platform setup status and dry-run safety.
Manual install, if you prefer it piecemeal:
pip install 'shortsmash[ai,voice,captions,trends,vision,mcp,youtube,x,schedule]'
shortsmash init # guided setup: keys, voice, defaults
shortsmash doctor # verify every dependency
# Your first video (needs a free Pixabay key + any LLM key)
shortsmash new "coffee" --duration 30
# Ride the trends
shortsmash trends ai --limit 5
shortsmash batch ai --count 3
# Hands-free
shortsmash agent "make a 30s reel about the top AI trend and post it Friday at 6pm"
Free keys: Pixabay (footage) · Google AI Studio (Gemini LLM) · NVIDIA NIM (LLM). Or point openai_base_url at local Ollama and pay nothing at all.
Docs
Per-platform publishing setup (official APIs):
docs/setup-youtube.md,setup-tiktok.md,setup-instagram.md,setup-x.mddocs/setup-threads.md,setup-bluesky.md,setup-linkedin.md,setup-pinterest.md,setup-facebook.md,setup-facebook_page.mddocs/trends.md— trend sources and scoringdocs/mcp.md— MCP server setup for Claude Code / Cursordocs/visual-providers.md— plugging in AI visual generation
License
MIT — build whatever you want.
Metadata
Release files for shortsmash 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| shortsmash-0.3.0.tar.gz | 7.3 MB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| shortsmash-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.4 MB
Release files / shortsmash-0.3.0.tar.gz
| Download URL | shortsmash-0.3.0.tar.gz |
|---|---|
| Size | 7.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0b862e44b42af95c93bc58ea6cc7b6882357c0e10c46489009f7aaa33fd086b7
|
|
BLAKE2b-256 checksum How to use checksums |
12386d9f102e574a26029fd0778f916f6d9e320c9f675cdff27d34c05353a8e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.
Transparency logRelease files / shortsmash-0.3.0-py3-none-any.whl
| Download URL | shortsmash-0.3.0-py3-none-any.whl |
|---|---|
| Size | 114.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1925206f60fda17f55db8dbba59eda0a978de96a6897877ec8188a8eb454df43
|
|
BLAKE2b-256 checksum How to use checksums |
5dfedf88e76ea21b08abd34436a4501944c38e3b95ac2f4b0b3b9b5d656ed543
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.
Transparency logSecurity for shortsmash 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for shortsmash-0.3.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.