{"id":"22a9fd96-dc74-4690-b5b4-d1c43399c312","slug":"shortsmash","kind":"mcp","name":"shortsmash","summary":"⚒️ Prompt in, finished short out. AI video studio with eyes: CLIP-verified footage, neural voice, karaoke captions, 50-language dubbing, trend harvesting, official publishing APIs.","owner":"hydope","repoUrl":"https://github.com/hydope/shortsmash","license":"MIT","licenseTier":"permissive","trust":"community","stars":3,"match":null,"fewStars":true,"format":"mcp","createdAt":"2026-10-17T03:24:18.000Z","addedAt":"2026-10-21T05:19:58.801Z","logoUrl":"https://avatars.githubusercontent.com/u/279144930?u=fb22936426060339aa66b5035905df62d84a3c71&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["design-media","cloud-infra","writing"],"tags":["ai-agents","cli","content-creation","ffmpeg","open-source","python","text-to-video","tiktok"],"runtime":"python","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-26T13:56:58.633Z","sample":false,"url":"https://conduits.dev/tools/shortsmash","language":"Python","transports":["stdio"],"install":{"pypi":"shortsmash"},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# ShortSmash ⚒️\n\n![ShortSmash — Prompt in. Finished short out.](assets/social-preview.png)\n\n[![MIT License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)\n[![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-blue.svg)](pyproject.toml)\n[![Tests](https://img.shields.io/badge/tests-passing-brightgreen.svg)](tests/)\n[![CI](https://github.com/hydope/shortsmash/actions/workflows/ci.yml/badge.svg)](https://github.com/hydope/shortsmash/actions)\n\n**Prompt in. Finished short out.**\n\nShortSmash 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.\n\n<!-- mcp-name: io.github.hydope/shortsmash -->\n\n```bash\nshortsmash trends food                    # what's hot right now (free, no keys)\nshortsmash batch food --count 5           # turn the top 5 trends into 5 videos\nshortsmash serve                          # 🆕 web studio: http://localhost:8000\nshortsmash agent \"make a 30s reel about coffee and post it Friday at 6pm\"\nshortsmash post myvideo.mp4 --caption     # post YOUR video: AI title + hashtags\nshortsmash post myvideo.mp4 --at \"Friday 6pm\" --platforms youtube,tiktok\n```\n\n```bash\ngit clone https://github.com/hydope/shortsmash && cd shortsmash\n./install.sh                          # Windows: .\\install.ps1\nshortsmash \"why you can't tickle yourself\"   # prompt in, finished short out\n```\n\n## 🏆 Featured in\n\nShortSmash is listed in curated awesome lists (merged PRs):\n\n- [ToolkitlyAI/awesome-ai-tools](https://github.com/ToolkitlyAI/awesome-ai-tools/pull/212) — AI Video\n- [TensorBlock/awesome-mcp-servers](https://github.com/TensorBlock/awesome-mcp-servers/pull/4267) — MCP registry profile live on [tensorblock.co](https://tensorblock.co/mcp/servers/github-hydope-shortsmash-19af6b2a)\n- [sajadh76/awesome-AI-tools](https://github.com/sajadh76/awesome-AI-tools/pull/155) — Video Generation\n- [mcpHQ/awesome-mcp-servers](https://github.com/mcpHQ/awesome-mcp-servers/pull/333) — MCP Servers\n- [Jenqyang/Awesome-AI-Agents](https://github.com/Jenqyang/Awesome-AI-Agents/pull/643) — AI Agents\n- [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers?search=shortsmash) — `io.github.hydope/shortsmash`, installable via `pip install shortsmash`\n\n## 🏗️ Architecture\n\n```mermaid\nflowchart LR\n    P[\"Prompt / trend\"] --> LLM[\"LLM: script + shot plan<br/>(NVIDIA · Gemini · Grok)\"]\n    LLM --> TTS[\"Neural TTS<br/>(50 languages)\"]\n    LLM --> VIS[\"Visuals<br/>(Pixabay · Agnes · Veo 3.1 · Kling)\"]\n    VIS --> GATE[\"Vision gate<br/>(CLIP + Gemini)\"]\n    GATE -->|reject| VIS\n    TTS --> REN[\"FFmpeg render<br/>1080×1920 · karaoke captions<br/>cinematic grade · music\"]\n    GATE --> REN\n    REN --> DUB[\"Dub engine<br/>(50 languages)\"]\n    REN --> PUB[\"10 publishers<br/>(official APIs)\"]\n    DUB --> PUB\n    PUB --> SCHED[\"Scheduler<br/>(SQLite · 'Friday 6pm')\"]\n```\n\n## 🖥️ ShortSmash Studio (web UI)\n\n`shortsmash serve` launches a dark, fast studio in your browser — no build step:\n\n- **🎬 Studio tab** — type a topic, hit Smash, watch it build; video previews inline\n- **📈 Trends tab** — browse what's hot per niche, click any trend to use it as your topic\n- **📚 Library tab** — every project, video preview, one-click publish\n- **📤 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\n- **📊 Stats tab** — your output at a glance\n\n## 🎬 Demo\n\n*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.*\n\n**\"How Goats Made You Addicted to Coffee\"** — 49s, 1080×1920, made from one prompt. Click to play:\n\n[<img src=\"demo/coffee-poster.jpg\" width=\"270\">](https://github.com/hydope/shortsmash/raw/master/demo/coffee-v1.mp4)\n\n**Same video, re-voiced** — native neural voices, same verified footage:\n\n[<img src=\"demo/coffee-poster-es.jpg\" width=\"150\">](https://github.com/hydope/shortsmash/raw/master/demo/coffee-v1-es.mp4) [<img src=\"demo/coffee-poster-ur.jpg\" width=\"150\">](https://github.com/hydope/shortsmash/raw/master/demo/coffee-v1-ur.mp4) [<img src=\"demo/coffee-poster-ur-roman.jpg\" width=\"150\">](https://github.com/hydope/shortsmash/raw/master/demo/coffee-v1-ur-roman.mp4) [<img src=\"demo/coffee-poster-zh.jpg\" width=\"150\">](https://github.com/hydope/shortsmash/raw/master/demo/coffee-v1-zh.mp4)\n\n*Español · اردو · Roman Urdu · 中文 — the Mandarin version uses a native voice (not translationese) with Hanzi karaoke captions. One project, every audience.*\n\n**More demos** — each made from a single prompt, click to play:\n\n**Why you can't tickle yourself** — 11s, 1080×1920\n\n[<img src=\"demo/tickle-v1-poster.jpg\" width=\"270\">](https://github.com/hydope/shortsmash/raw/master/demo/tickle-v1.mp4)\n\n**The deepest place on Earth** — 14s, 1080×1920\n\n[<img src=\"demo/trench-v1-poster.jpg\" width=\"270\">](https://github.com/hydope/shortsmash/raw/master/demo/trench-v1.mp4)\n\n**Why time flies faster as you get older** — 11s, 1080×1920\n\n[<img src=\"demo/time-v1-poster.jpg\" width=\"270\">](https://github.com/hydope/shortsmash/raw/master/demo/time-v1.mp4)\n\n### 📤 Or skip the AI — post your own video\n\nUpload 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`\n\n![Studio: upload → validate → post or schedule](demo/studio-publish-flow.gif)\n\n[![Post your own video — upload, validate, AI caption, post or schedule](demo/screenshots/publish-manual-post.png)](demo/screenshots/publish-manual-post.png)\n\n### 🖥️ ShortSmash Studio\n\n`shortsmash serve` — generate, browse trends, publish, and track stats from the browser:\n\n| Studio (templates) | Settings (API keys) |\n|---|---|\n| ![Studio tab](demo/screenshots/studio-templates.png) | ![Settings tab](demo/screenshots/studio-settings.png) |\n| Publish | Library |\n| ![Publish tab](demo/screenshots/studio-publish.png) | ![Library tab](demo/screenshots/library.png) |\n| Trends | Stats |\n| ![Trends tab](demo/screenshots/trends.png) | ![Stats tab](demo/screenshots/stats.png) |\n| Lyrics mode | Auto pilot |\n| ![Lyrics tab](demo/screenshots/lyrics.png) | ![Auto tab](demo/screenshots/auto.png) |\n\n## Why ShortSmash\n\nMost 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.\n\nShortSmash is the first open-source pipeline with **eyes**:\n\n- **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.\n- **Audible gate.** Renders with dead or missing audio fail instead of shipping.\n- **Never ships silent.** A CC-licensed music library auto-downloads on first run; music is ducked under narration with a real FFmpeg sidechain.\n\n## The pipeline\n\n```\nprompt ──▶ script ──▶ voice ──▶ visuals ──▶ captions ──▶ render ──▶ publish\n           NVIDIA     Edge-TTS   Pixabay      faster-     FFmpeg      official\n           Gemini     Piper      Veo 3.1      whisper     1080x1920   APIs only\n           Grok       (offline   Kling        karaoke     +faststart\n           OpenAI-    neural)    Agnes\n           compat     50 langs   CLIP-verified\n```\n\n- **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.\n- **Voice** — Edge-TTS → Piper offline neural → gTTS fallback chain. 50 dub languages with native voices, Urdu/Hindi/Arabic included.\n- **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: custom` with any command (ComfyUI, Replicate, MiniMax…).\n- **Captions** — faster-whisper word timestamps → burned-in **karaoke captions**.\n- **Render** — FFmpeg: 9:16 smart reframe, transitions, hook + CTA overlays, ducked music, H.264/AAC faststart.\n- **Publish** — YouTube, TikTok, Instagram, Threads, Bluesky, LinkedIn, Pinterest, X. Official APIs only — no Selenium, no scraping, nothing that gets accounts banned.\n- **Dub** — `shortsmash dub <slug> --lang ur` re-voices any video in **50 languages** — Urdu, Hindi, Arabic, Spanish, French, German, Chinese, Portuguese and 42 more — plus `ur-roman` / `hi-roman` for 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.\n- **Analytics** — `shortsmash analytics` pulls real views/likes/comments from YouTube's API. Numbers from the platform, not vanity metrics.\n- **Trends** — `shortsmash trends <niche>` harvests Google News + Hacker News (free, no keys). `shortsmash batch` turns the top trends into videos unattended.\n- **Schedule** — natural language (\"Friday 6pm\"), durable SQLite queue, retrying worker.\n- **Engage** — pulls recent comments, drafts warm replies, **you approve each one with a tap**. Nothing posts itself.\n- **MCP server** — `python -m shortsmash.mcp_server` exposes `generate_video`, `get_trends`, `list_projects`, `project_status` to Claude Code, Cursor, and any MCP client.\n- **Resume** — `shortsmash resume <slug>` picks up failed projects from the first incomplete stage instead of redoing everything.\n\n## How ShortSmash compares\n\n| | ShortSmash | MoneyPrinterTurbo | OpenPost | Postiz | ShortGPT |\n|---|---|---|---|---|---|\n| Prompt → finished short | ✅ | ✅ | ❌ (manual editor) | ❌ | ✅ |\n| Post your own video (validate + schedule) | ✅ | ❌ | ✅ | ✅ | ❌ |\n| Footage verification | ✅ CLIP + Gemini | ❌ | n/a | n/a | ❌ |\n| Offline neural voice fallback | ✅ Piper | ❌ | n/a | n/a | ❌ |\n| Audio safety gate | ✅ | ❌ | n/a | n/a | ❌ |\n| Trend harvesting (free, no keys) | ✅ | ✅ | ❌ | ❌ | ❌ |\n| Batch production | ✅ | ✅ | ❌ | ❌ | ❌ |\n| Karaoke word-level captions | ✅ | ✅ | ✅ | ❌ | ✅ |\n| Official publishing APIs | ✅ 10 platforms | ⚠️ Selenium for YT | ✅ | ✅ | ⚠️ |\n| Multi-language dubbing | ✅ 50 languages (incl. Roman Urdu/Hindi, Chinese) | ❌ | ❌ | ❌ | ✅ |\n| Real analytics pull | ✅ | ❌ | ❌ | ✅ | ❌ |\n| Web UI | ✅ Studio | ✅ | ✅ | ✅ | ✅ |\n| MCP server | ✅ | ❌ | ✅ | ✅ | ❌ |\n| Comment-reply drafts (human-approved) | ✅ | ❌ | ❌ | ❌ | ❌ |\n| Resume failed projects | ✅ | ❌ | n/a | n/a | ❌ |\n| License | MIT | MIT | AGPL/Commercial | MIT | MIT |\n| $0 to run | ✅ | ✅ | self-host | ✅ | ✅ |\n\n*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.*\n\n## What ShortSmash will never do\n\nNo 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.\n\n## Quickstart — one command\n\n**Windows (PowerShell)** — paste this one line, done. It installs Python,\nFFmpeg, Git if missing, sets everything up, and puts **ShortSmash Studio**\non your Desktop + Start Menu:\n```powershell\n& ([scriptblock]::Create((irm \"https://raw.githubusercontent.com/hydope/shortsmash/master/install.ps1\")))\n```\n\n**Windows (CMD)** — same thing, one line in Command Prompt:\n```cmd\ncurl -L -o \"%TEMP%\\rf-install.cmd\" \"https://raw.githubusercontent.com/hydope/shortsmash/master/install.cmd\" && \"%TEMP%\\rf-install.cmd\"\n```\n\n**Linux / macOS / Git Bash (Windows)** — one line, works everywhere including\nGit Bash on Windows:\n```bash\ncurl -fsSL \"https://raw.githubusercontent.com/hydope/shortsmash/master/install.sh\" | bash\n```\n\nAfter install, launch **ShortSmash Studio** from the Start Menu / Desktop\n(Windows) or run `shortsmash serve` → open http://127.0.0.1:8000.\n\nPrefer it manual? Download the repo and double-click **`install.bat`**\n(Windows) or run `./install.sh` (Linux/macOS).\n\nCloning just for the code? The full repo is ~213 MB of demo videos — skip\nthem with a sparse checkout:\n\n```bash\ngit clone --depth 1 --filter=blob:none --sparse https://github.com/hydope/shortsmash.git\ngit -C shortsmash sparse-checkout set shortsmash scripts fonts\n```\n\nIf an earlier install failed halfway, delete the ShortSmash folder and\nre-run the one-liner.\n\nNeeds Python 3.11–3.13 and ffmpeg. The Windows one-line installers fetch\nboth for you if missing — and if your machine already has Python 3.14, they\ninstall 3.13 (PowerShell) or 3.12 (CMD) side by side and use that instead,\nsince 3.14 cannot build a working virtual environment yet. Installs fetch\ncode only (~2 MB, no demo videos).\n\nMake a video in the 🎬 Studio tab, then hit the 🚀 **Publish tab** to post it to\n10 platforms (YouTube, TikTok, Instagram, X, Threads, Bluesky, LinkedIn,\nPinterest, Facebook, Facebook Page) in one click — with per-platform setup status and dry-run safety.\n\nManual install, if you prefer it piecemeal:\n\n```bash\npip install 'shortsmash[ai,voice,captions,trends,vision,mcp,youtube,x,schedule]'\nshortsmash init          # guided setup: keys, voice, defaults\nshortsmash doctor        # verify every dependency\n\n# Your first video (needs a free Pixabay key + any LLM key)\nshortsmash new \"coffee\" --duration 30\n\n# Ride the trends\nshortsmash trends ai --limit 5\nshortsmash batch ai --count 3\n\n# Hands-free\nshortsmash agent \"make a 30s reel about the top AI trend and post it Friday at 6pm\"\n```\n\nFree keys: [Pixabay](https://pixabay.com/api/docs/) (footage) · [Google AI Studio](https://aistudio.google.com/) (Gemini LLM) · [NVIDIA NIM](https://build.nvidia.com/) (LLM). Or point `openai_base_url` at local Ollama and pay nothing at all.\n\n## Docs\n\nPer-platform publishing setup (official APIs):\n- `docs/setup-youtube.md`, `setup-tiktok.md`, `setup-instagram.md`, `setup-x.md`\n- `docs/setup-threads.md`, `setup-bluesky.md`, `setup-linkedin.md`, `setup-pinterest.md`, `setup-facebook.md`, `setup-facebook_page.md`\n- `docs/trends.md` — trend sources and scoring\n- `docs/mcp.md` — MCP server setup for Claude Code / Cursor\n- `docs/visual-providers.md` — plugging in AI visual generation\n\n## License\n\nMIT — build whatever you want.\n"}