jipraks/yt-short-clipper

Windows desktop app that turns long-form YouTube videos into 9:16 short-form clips — AI highlight detection, face-tracking portrait reframe, and word-by-word captions.

YT Short Clipper v2 – What it is

A Windows‑only desktop application that turns a long‑form YouTube video into a series of ready‑to‑post 9:16 short clips. It uses an LLM to read the video’s subtitle transcript, picks highlight segments, reframes the video to portrait, and burns word‑by‑word captions onto the output MP4 files.


Core workflow

  1. Paste a YouTube URL and provide a cookies.txt file from a logged‑in YouTube session (required for yt‑dlp to fetch the video and its original subtitles).
  2. yt‑dlp downloads the video and the subtitle track.
  3. An LLM (any OpenAI‑compatible endpoint or the app’s built‑in wallet‑backed service) analyses the transcript and proposes highlight segments (default length 58‑120 s).
  4. Each segment is cut, re‑framed to vertical (9:16) using one of three modes (face‑tracking via MediaPipe, centered on black bars, or centered on a blurred fill), and captioned word‑by‑word from the original subtitles.
  5. Optionally, the clips are uploaded and scheduled through the Repliz social‑media platform.

Main features

  • AI‑driven highlight detection – works with any OpenAI‑compatible model; the LLM receives the full transcript and returns time ranges.
  • Prompt‑level direction – free‑text “direction” lets you force specific time ranges, prioritize topics, or exclude material.
  • Automatic title / hook generation – same LLM can also suggest a short title and hook text in the video’s language.
  • Three portrait‑reframe modes –
    • Face tracking (MediaPipe) – per‑frame detection for the best framing.
    • Black‑bar centering – fast, uses existing bars.
    • Blurred‑fill centering – fast, fills empty space with a blur.
  • Word‑by‑word captions – taken directly from YouTube’s subtitle file; no Whisper or other transcription model needed.
  • Overlay options – hook‑text overlays, logo/credit watermarks.
  • Direct upload – one‑click push to Repliz.
  • Two AI‑payment models –
    1. In‑app wallet (QR‑code top‑up, no API key needed).
    2. User‑provided API key (OpenAI, Gemini, Groq, ApiSmart, Ollama, vLLM, etc.).
  • Transparent telemetry – a table in the README lists every external endpoint and what data is sent.

Technology stack

Layer Tech
UI / Front‑end React 19, TypeScript, Vite
Desktop shell Tauri v2 (Rust) – provides a WebView2‑based window and bundles the app as a portable zip
Media processing Python side‑car using yt‑dlp, FFmpeg, MediaPipe
AI integration Calls any OpenAI‑compatible endpoint; also supports a proprietary “in‑app AI” service reachable at ai.ytclip.org
Build / packaging Node /npm, Rust cargo, Python, PowerShell scripts for fetching FFmpeg/Deno binaries

Getting started (from the README)

# 1. Install Node, Rust, Python (3.13+) and have PowerShell on Windows 10/11
npm install                     # Node deps
py -m pip install -r requirements.txt   # Python deps
powershell -ExecutionPolicy Bypass -File scripts/fetch-deps.ps1   # download FFmpeg, Deno, etc.
npm run build:sidecar          # freeze the Python side‑car into an .exe

After that you can run the app in development mode:

npm run dev          # Vite dev server (frontend)
npm run tauri dev   # launch the Tauri window

For a production build:

npm run release      # creates two portable zip bundles in src‑tauri/target/release/bundle/

Limitations / caveats

  • Windows‑only – build scripts, binary packaging, and font handling are all Windows‑specific; no macOS/Linux support yet.
  • Requires YouTube cookies – you must export cookies.txt from a logged‑in browser; the file is treated like a password.
  • AI cost – using the in‑app wallet or an external API will incur usage charges; the wallet is non‑recoverable.
  • Beta status – the README warns of rough edges and breaking changes between releases.
  • Telemetry – Google Analytics receives a random installation UUID, app version, clip duration and reframe mode; no video content is sent.
  • Repliz upload – optional and only works with a Repliz account/key.

Who might find it useful?

  • Content creators who want to repurpose long YouTube videos into TikTok/YouTube Shorts‑style vertical clips without manually editing each segment.
  • Small teams that need a quick, AI‑assisted way to generate captioned short clips for social media.
  • Developers interested in a concrete example of combining React + Tauri + Python side‑car + LLM calls in a desktop app.

License & legal note

The project is released under the MIT license. The README stresses that you must only process videos you own or have permission to reuse, as downloading/re‑uploading YouTube content can violate YouTube’s Terms of Service and copyright law.


Quick summary

  • What: Windows desktop app that auto‑creates 9:16, captioned short clips from YouTube videos.
  • How: Downloads video & subtitles with yt‑dlp, runs an LLM on the transcript to pick highlights, cuts & re‑frames with FFmpeg/MediaPipe, adds word‑by‑word captions, optionally uploads to Repliz.
  • Tech: React + TypeScript front‑end, Tauri (Rust) shell, Python side‑car (yt‑dlp, FFmpeg, MediaPipe), any OpenAI‑compatible LLM.
  • Status: Beta, Windows‑only, MIT‑licensed.

Related

  • Project
  • Project
  • Project
  • Project