{"slug": "show-hn-vibeclip-open-source-ai-video-editor-you-control-by-chatting", "title": "Show HN: VibeClip – open-source AI video editor you control by chatting", "summary": "VibeClip, an open-source AI video editor, now allows users to transform long-form videos like podcasts and interviews into vertical shorts by chatting with the tool. The software transcribes video on-device, scores for the strongest moments, and lets users refine clips with natural language commands such as \"make clip 2 punchier\" or \"add a zoom at 0:05.\" Designed for self-hosting with a single Docker command, VibeClip keeps speech-to-text and rendering local while requiring only a user-provided LLM key for its editing \"brain.", "body_md": "**Drop in a long video — podcast, interview, talk, stream — and VibeClip cuts it into\nvertical, captioned, ready-to-post shorts.** Then you refine every clip by *chatting*:\n*“make clip 2 punchier,” “bigger captions,” “add a zoom at 0:05,” “undo.”*\n\n[Quick start](#-quick-start) · [Features](#-what-it-does) · [How it works](#-how-it-works) · [Bring your own key](#-bring-your-own-key-byok) · [Configuration](#-configuration) · [Contributing](#-contributing)\n\n**Left:** the raw clip. **Right:** after one sentence — *“make it mrbeast style and add gameplay underneath”* — captioned, reframed to 9:16, and split-screened. Real pipeline output, not a mockup.\n\nFootage: Andy Dickinson (CC-BY) · gameplay: Orbital - No Copyright Gameplay (CC-BY) · Minecraft © Mojang.\n\nSpin up a private instance in three commands. All you add is **one** LLM key.\n\n```\ngit clone https://github.com/oktaydbk54/vibeclip.git\ncd vibeclip\ncp .env.example .env          # add ONE line: OPENAI_API_KEY=sk-...\ndocker compose up -d --build\n# → open http://localhost:8765\n```\n\nWith the defaults (`EMAIL_MODE=console`\n\n, `REQUIRE_EMAIL_VERIFICATION=false`\n\n) sign-up logs\nyou straight in — no email provider needed. Bring an **OpenAI** or **DeepSeek** key\n(DeepSeek is the cheap one), or point `LLM_BASE_URL`\n\nat any OpenAI-compatible server\n(Ollama, LM Studio, OpenRouter…). Prefer no Docker? See [local install](#run-without-docker).\n\n🎬 Long → shorts, automatically |\nTranscribes on-device, scores the strongest moments (hook / flow / value — not a dumb keyword scan), reframes to 9:16 around the speaker, and burns word-synced captions. |\n💬 Edit by chatting |\nA tool-calling agent turns plain language into real edits — trims, filler-word removal (“uhh”/“ee”), zooms, styles, music, b-roll, brand overlays. One undo reverts a whole multi-step plan. |\n🎨 Styles in one shot |\n`hormozi` , `mrbeast` , `podcast_minimal` , `kinetic` — captions, pace, zoom, music and SFX applied together. Drop in your own preset as a JSON file. |\n🖥️ A real studio UI |\nWeb app with a live 9:16 preview, clip cards, a CapCut-style timeline, and the chat copilot right beside it. |\n🔑 Your key, your data |\nBring your own LLM key (OpenAI · Gemini · Claude · DeepSeek · any compatible endpoint). Nothing is proxied through us — there is no “us.” |\n🏠 Self-host first |\nOne Docker command. Speech-to-text and every render run locally via faster-whisper + ffmpeg. AGPL-3.0, no SaaS lock-in. |\n\n```\n        upload\n          │\n   ┌──────▼───────┐   faster-whisper (local, no API key)\n   │  transcribe  │\n   └──────┬───────┘\n   ┌──────▼────────────┐   LLM \"brain\" (your key) — structure + scored moments\n   │ analyze structure │\n   │  find highlights  │\n   └──────┬────────────┘\n   ┌──────▼───────┐   per clip, replayed from cached intermediates (~2–4s/edit)\n   │  auto edit   │  jumpcut → 9:16 reframe → captions → music+ambience (ducked)\n   │              │  → SFX → fades   ·   then your chat commands layer on top\n   └──────┬───────┘\n        export  →  vertical MP4, publish-ready\n```\n\nOnly **two** things ever hit the network: your chosen **LLM** (to understand intent and\nscore moments) and, optionally, **Pexels** (stock b-roll). Speech-to-text and all\nrendering stay on your machine.\n\nVibeClip never ships with a key and never proxies your prompts anywhere except the\nprovider *you* choose. Two ways to supply one:\n\n**Per instance**— set`OPENAI_API_KEY`\n\n(or`DEEPSEEK_API_KEY`\n\n, or any OpenAI-compatible endpoint via`LLM_BASE_URL`\n\n) in`.env`\n\n.**Per user**— each account pastes its own key on the in-app** Settings**page, with a live*test-connection*. Keys are**encrypted at rest** and never sent back to the browser.\n\n| Provider | Routed via | Notes |\n|---|---|---|\nOpenAI |\nnative | Default, best-supported. |\nDeepSeek |\nnative | The budget pick — a typical short costs a few cents. |\nGoogle Gemini |\nOpenAI-compat endpoint | `gemini-2.5-flash` / `pro` . |\nAnthropic Claude |\nOpenAI-compat endpoint | `claude-haiku` / `sonnet` . |\nAnything else |\n`LLM_BASE_URL` |\nOllama, LM Studio, OpenRouter, your own proxy… |\n\nSpeech-to-text runs locally and needs **no** key.\n\nEverything is driven by `.env`\n\n(see `.env.example`\n\nfor the full, commented list). The ones\nthat matter most:\n\n| Variable | Default | Purpose |\n|---|---|---|\n`OPENAI_API_KEY` |\n— | Your LLM key (preferred). |\n`DEEPSEEK_API_KEY` |\n— | Cheaper fallback, used if no OpenAI key. |\n`LLM_BASE_URL` |\n— | Any OpenAI-compatible endpoint (local models, proxies). |\n`EMAIL_MODE` |\n`console` |\n`console` prints OTP to the log; `resend` sends real email. |\n`REQUIRE_EMAIL_VERIFICATION` |\n`false` |\n`true` enforces email confirmation (public instances). |\n`HOSTED_STUDIO` |\n`true` |\n`true` = the landing offers login/signup (use your own instance). `false` = a public marketing site that points everyone to GitHub to self-host (no login). |\n`GA_MEASUREMENT_ID` |\n— | Empty = no analytics injected (self-host default). |\n`SITE_URL` |\n`http://localhost:8765` |\nPublic base URL for blog canonical/OG/sitemap. |\n`VIDEO_ENCODER` |\n`libx264` |\nUse `h264_videotoolbox` on Apple Silicon. |\n`VIBECLIP_BIND` |\n`127.0.0.1` |\ndocker-compose publish address (`0.0.0.0` to expose). |\n`MAX_UPLOAD_SECONDS` |\n`0` |\nLongest uploadable video, seconds. `0` = no limit (self-host). |\n`MAX_PROJECTS_PER_USER` |\n`0` |\nProjects per account. `0` = unlimited; cap it on a public instance. |\n\nRequirements: **Python 3.12+**, **ffmpeg**, and the DejaVu fonts (for caption rendering).\n\n```\ncp .env.example .env          # add your LLM key\nuv sync                       # or: pip install -e .\npython -m chat.app            # → http://127.0.0.1:8765\n```\n\nFirst run downloads the Whisper model. Prefer the terminal? `python -m chat.cli <video.mp4>`\n\n.\n\nThe repo bundles a small library of royalty-free media (music, ambience, SFX, demo\nfootage) for the built-in styles. Some tracks are **CC-BY** (Kevin MacLeod) and require\ncrediting in your video description — see the `CREDITS`\n\nfiles under `assets/`\n\n. VibeClip\n**never** bundles or uses copyrighted/branded game footage.\n\nIssues and PRs welcome — start with [ CONTRIBUTING.md](/oktaydbk54/vibeclip/blob/main/CONTRIBUTING.md). Security reports:\nsee\n\n[. Be excellent to each other (](/oktaydbk54/vibeclip/blob/main/SECURITY.md)\n\n`SECURITY.md`\n\n[code of conduct](/oktaydbk54/vibeclip/blob/main/CODE_OF_CONDUCT.md)).\n\n**GNU AGPL-3.0** — see [ LICENSE](/oktaydbk54/vibeclip/blob/main/LICENSE). You can self-host and modify VibeClip freely;\nif you run a modified version as a network service, you must offer that modified source to\nits users. Copyright © 2026 the VibeClip authors.\n\nBuilt for people who'd rather\n\n**talk** to their editor than fight it.", "url": "https://wpnews.pro/news/show-hn-vibeclip-open-source-ai-video-editor-you-control-by-chatting", "canonical_source": "https://github.com/oktaydbk54/vibeclip", "published_at": "2026-06-12 15:30:51+00:00", "updated_at": "2026-06-12 15:50:27.224513+00:00", "lang": "en", "topics": ["ai-tools", "generative-ai", "ai-products", "ai-startups"], "entities": ["VibeClip", "OpenAI", "DeepSeek", "Ollama", "LM Studio", "OpenRouter", "Andy Dickinson", "Mojang"], "alternates": {"html": "https://wpnews.pro/news/show-hn-vibeclip-open-source-ai-video-editor-you-control-by-chatting", "markdown": "https://wpnews.pro/news/show-hn-vibeclip-open-source-ai-video-editor-you-control-by-chatting.md", "text": "https://wpnews.pro/news/show-hn-vibeclip-open-source-ai-video-editor-you-control-by-chatting.txt", "jsonld": "https://wpnews.pro/news/show-hn-vibeclip-open-source-ai-video-editor-you-control-by-chatting.jsonld"}}