Skip to content

Latest commit

 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tukdify

Tukdify

A free, offline, no-watermark tool that turns one long video into several vertical (9:16) shorts. Runs entirely on your machine — no cloud, no credits, no subscription. See ROADMAP.md for the full plan.

Modes

  • Story Mode (--mode story, default) — sequential, narrative-preserving parts (part_01, part_02, …). Best for storytelling, kids content, documentaries, history, education.
  • Viral Mode (--mode viral) — the local LLM (Ollama llama3.2:3b) scores candidate moments on hook, curiosity, emotion, surprise, educational value, shareability and retention, then exports only the best standalone clips (clip_01 = highest score). Best for podcasts, interviews, motivation, business. Requires Ollama running (ollama serve).

Pipeline

input → transcribe → scenes → segment → reframe → export

Setup (Ubuntu)

# 1. System tool: ffmpeg (one-time)
sudo apt update && sudo apt install -y ffmpeg

# 2. Python environment
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Usage

# A local file
python main.py "myvideo.mp4"

# A YouTube / web URL (downloaded with yt-dlp)
python main.py "https://www.youtube.com/watch?v=..."

# Story Mode (default) — sequential parts
python main.py "myvideo.mp4" --mode story

# Viral Mode — LLM picks the best standalone clips
python main.py "myvideo.mp4" --mode viral --top 4

# Tune it
python main.py "myvideo.mp4" --target 45 --out ./clips
python main.py "myvideo.mp4" --model small      # more accurate, slower

Outputs land in output/ as short_01.mp4, short_02.mp4, …

Options

Flag Meaning Default
--mode story | viral story
--out Output directory output
--model Whisper model: tiny | base | small base
--llm Ollama model for viral mode llama3.2:3b
--top Max clips to export in viral mode 6
--target Target clip length (seconds) 60
--min Minimum clip length (seconds) 20
--max Maximum clip length (seconds) 90

Notes for this laptop (HP 250 G9, i3 / 8 GB, no GPU)

  • Defaults are CPU-only and memory-careful. Transcription is the slow step; a 10-minute video takes a few minutes with the base model.
  • If you ever run this on a machine with an NVIDIA GPU, it auto-detects CUDA and switches to the faster path — no config needed.

Releases

Packages

Contributors

Languages