mushigaite/short-video-maker

★ 124⑂ 37

A free open-source project designed to turn youtube-videos into viral short videos. Highlight detection, subtitles, translation, voiceover

About mushigaite/short-video-maker

mushigaite/short-video-maker is an open-source project on GitHub, mainly written in Python. A free open-source project designed to turn youtube-videos into viral short videos. It currently holds 124 stars and 37 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).

Project Overview

AI Homed tracks it on the Today's Trending board, currently at rank #79 with 0 new stars today.

GitHub Repository Details

Repository mushigaite/short-video-maker · default branch - · size 0 KB · watchers 0 · source: GitHub REST API and repository README

README

AI shorts generator

Python Stars Forks

A free open-source project designed to turn youtube-videos into viral short videos. Highlight detection, subtitles, translation, voiceover, all in one for your content: no pre-clip credits or any watermarks. Designed for creators who want an alternative to short-video SaaS tools like OpusClip or Vidyo.ai for free.

Examples of a processed video

https://github.com/mushigaite/short-video-maker/blob/HEAD/image
"The Speech that Made Obama President"
https://github.com/mushigaite/short-video-maker/blob/HEAD/image
"How Tom Overcame Social Anxiety - The Mindset That Changed Everything"
https://github.com/mushigaite/short-video-maker/blob/HEAD/image
"How to stay calm when you know you'll be stressed | Daniel Levitin | TED"

Features 🪁

How It Works

1. Download: Fetches the source video from YouTube, or uses the local file path directly 2. Transcribe: faster-whisper produces a timestamped transcript locally — same step regardless of which LLM_PROVIDER is selected 3. Detect content type: The chosen LLM classifies the video (podcast, interview, tutorial, vlog, etc.) and pacing, so the highlight prompt can be tuned per content style 4. Highlight ranking: The chosen LLM (openai / gemini / muapi) scans the transcript through a virality framework — hook moments, emotional peaks, opinion bombs, revelations, conflict, quotables, story peaks, practical value — and emits ranked candidates with scores 0–100 5. Dedupe: Overlapping candidates are collapsed by score 6. Top-N selection: The top --n candidates are selected 7. Auto-crop: Each highlight is rendered as a vertical short at the requested --ratio, with an optional AI-generated hook at the start unless --no-hook is set

Requirements

Quick start

1. Clone the repo:
git clone https://github.com/mushigaite/short-video-generator-AI.git
cd short-video-generator-AI

2. Create and activate a virtual environment:

Windows:

python -m venv venv
venv\Scripts\activate
Linux/MacOS:
python -m venv venv
venv\Scripts\activate

3. Install dependencies

pip install -r requirements.txt

4. Set up .env

# Used LLM provider(openai/gemini/MuAPI)
LLM_PROVIDER=openai

Enter the API key for the chosen provider

OPENAI_API_KEY=your_openai_key_here OPENAI_MODEL=gpt-4o-mini # optional GEMINI_API_KEY=your_gemini_key_here GEMINI_MODEL=gemini-2.5-flash # optional MUAPI_API_KEY=your_muapi_key_here

Whisper settings

LOCAL_WHISPER_MODEL=base # tiny / base / small / medium / large-v3 LOCAL_WHISPER_DEVICE=auto # auto / cpu / cuda
If you uncertain about the provider: | Provider | Free tier? | Get key | |---|---|---| | Gemini | ✅ Yes, but daily limit | https://aistudio.google.com | | OpenAI | ❌ Paid | https://platform.openai.com | | MuAPI | ❌ Paid, but pay-per-use, no subscription | https://muapi.ai |

Usage

Basic usage:
python main.py "https://www.youtube.com/watch?v=video_id" 

Renderred clips are saved to output folder

With flags:

python main.py "https://www.youtube.com/watch?v=video_id" \
      --n 3 \
      --ratio 9:16 \
      --resolution 1080 \
 
You can also provide a local video file instead of a YouTube link, for example:
python main.py "/Users/Admin/Folder/video.mp4" \
      --n 4 \
      --ratio 9:16 \
      --resolution 720 \
      --language zh \

CLI Flags

| Flag | Default | Notes | |------|---------|-------| | --n | 3 | How many clips to render | | --ratio | 9:16 | Any ratio / 9:16 for short videos / 1:1 for square | | --resolution | 720 | Source video download resolution: 360 / 480 / 720 / 1080 | | --language | auto | Force Whisper language code (e.g. en) | | --no-hook | - | Excludes AI generated hook from the start of the clip |

Web version set-up

Instead of the CLI, you can use a local web interface to queue multiple videos at once and adjust flags visually. The LLM provider and API keys are still configured in .env — the web version only handles video input and render flags.
python3 server.py
Serve the frontend:
cd web
python3 -m http.server 8000
Then, open in your browser:
http://localhost:8000/shorts-generator-ui.html

Contributing

Feel free to open an issue or fork the repository for your projects.

License

This project is licensed under the MIT License.

GitHub Stars & Activity

124Stars
37Forks
0Open issues
PythonLanguage

GitHub Popularity

GitHub stars124
Forks37
Open issues0
Primary languagePython
License-
Stars gained today0
Created-
Last pushed-

Trending History

Daily boardrank #79 · ▲ 0 stars

Related AI Projects

1

NousResearch / hermes-agent

Python★ 251,897⑂ 0
→
2

Significant-Gravitas / AutoGPT

Python★ 187,684⑂ 0
→
3

anthropics / skills

Python★ 180,038⑂ 0
→
4

huggingface / transformers

Python★ 167,031⑂ 0
→
5

vllm-project / vllm

Python★ 93,336⑂ 23,089▲ 73 stars
→
6

calesthio / OpenMontage

Python★ 64,976⑂ 8,243▲ 375 stars
→
7

ayghri / i-have-adhd

Python★ 54,975⑂ 3,155▲ 620 stars
→
8

allenai / olmocr

Python★ 19,723⑂ 1,645▲ 22 stars
→

More AI Rankings