跳到正文

Colafornia

short-video-generator-AI

Free open-source project designed for turning youtube-viedos into viral short videos. Highlight detection, subtitles, translation, voiceover, all in one for your content.

README 已保存到本站,可直接阅读

Documentation snapshot

README 快照

本页保存的是公开项目资料快照,阅读过程不需要连接 GitHub。

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

  "The Speech that Made Obama President"


  
  "How Tom Overcame Social Anxiety - The Mindset That Changed Everything"


  
  "How to stay calm when you know you'll be stressed | Daniel Levitin | TED"

Features 🪁

  • API: Freely use this generator in your own projects via our API.
  • Convenient: Paste a YouTube link (any length!) and get a ready-to-post 9:16 short.
  • Hooks option: When enabled, adds a context-aware AI-generated hook at the start of the clip
  • Web version: Besides the CLI, you can also generate videos on a local website
  • Smart Highlight Selection: Finds the most viral, hot moments from your video automatically based on algorithm

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

  • Python 3.10+
  • Any LLM API key(OpenAI/Gemini/MuAPI)
  • requirements.txt file dependencies

Quick start

  1. Clone the repo:
git clone https://github.com/Colafornia/short-video-generator-AI.git
cd short-video-generator-AI
  1. Create and activate a virtual environment:

Windows:

python -m venv venv
venv\Scripts\activate

Linux/MacOS:

python -m venv venv
venv\Scripts\activate
  1. Install dependencies
pip install -r requirements.txt
  1. 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:

ProviderFree tier?Get key
Gemini✅ Yes, but daily limithttps://aistudio.google.com
OpenAI❌ Paidhttps://platform.openai.com
MuAPI❌ Paid, but pay-per-use, no subscriptionhttps://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

FlagDefaultNotes
—n3How many clips to render
—ratio9:16Any ratio / 9:16 for short videos / 1:1 for square
—resolution720Source video download resolution: 360 / 480 / 720 / 1080
—languageautoForce 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.

Official distribution

获取与安装

暂未发现可确认的官方软件包地址

当前 README 快照没有出现 npm、PyPI、Crates.io、pub.dev 等官方包页链接。本站不会根据仓库名称猜测下载地址。

本站不托管项目文件;需要安装时,请以项目维护者发布的官方文档为准。

使用前核验

本站保存公开资料用于阅读,不代表安全审计或功能背书。安装前请核对许可证、依赖来源和发布签名,不要直接运行来源不明的二进制文件或高权限脚本。