Skip to content

Jee-vim/clip-pipe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Clip Pipe

End-to-end automation pipeline for turning long videos into short-form content and uploading to YouTube + Telegram automatically.

This project handles downloading videos, clipping by timestamp, formatting for shorts, adding subtitles, and sending the result to YouTube and Telegram.

Built for batch processing and unattended execution.


Features

  • Download videos from YouTube by URL
  • Clip videos using start and end timestamps
  • Auto-generate short-form vertical videos
  • Subtitle embedding (auto)
  • Video cropping and positioning
  • Watermark based account
  • Brainrot
  • Multi-account support
  • Upload to YouTube
  • Send video to Telegram (title + description)
  • Upload scheduling
  • Local file support
  • Proxy support
  • Web Manager UI for job management
  • Fully JSON-driven workflow

Installation (Nix)

This project uses Nix shell for dependency management.

All required system tools and Python packages are provided automatically.

Requirements

  • Linux or WSL2 (Windows, not tested yet)
  • Nix package manager

Install Nix

Windows (WSL2)

wsl --install
curl -L https://nixos.org/nix/install | sh

Linux

curl -L https://nixos.org/nix/install | sh

Linux (Nixos)

nix-shell

Env Setup


# Telegram bot for sending videos
# create bot using this bot official telegram @BotFather
TELEGRAM_TOKEN=
TELEGRAM_CHAT_ID=

# (optional)
# Comma-separated list of proxy URLs
PROXIES=proxy1,proxy2

# (optional) Delay between jobs (in seconds)
MIN_DELAY=30
MAX_DELAY=60

# (optional) How often to check for pending jobs (in seconds)
CHECK_INTERVAL=30

# (optional) Max retries on failure
MAX_RETRIES=3

Authentication Setup

Google (YouTube)

Follow /src/auth/GOOGLE_OAUTH.md which covers:

  • Google Cloud project creation
  • OAuth consent screen
  • Client ID setup
  • Refresh token generation

Account Configuration

Create an accounts/ folder in project root, then create a folder for your account name (e.g., obrolan_clip/). Inside that folder, add client_secret.json.

accounts/
└── obrolan_clip/
     └── client_secret.json  // for YouTube
└── other_account/
     └── client_secret.json

Full JSON Configuration

[
  {
    "date": "2026-01-28,12:00", # date for scheduling 
    "status": "pending",        # if already executed will change to completed
    "items": [
      {
        "url": "",           # url youtube (or use local for local file)
        "local": "",         # local file path (alternative to url)
        "start": "00:06:18", # time start clip
        "end": "00:07:18",   # end  time clip (result will be 01:00 minute shorts video)
        "crop": null,        # crop position: "left", "center", "right" or null for no crop  
        "caption": false,    # if set to false will skip fast-whisper (auto generate subtitle)
        "model": "small",    # whisper model: tiny, small, medium, large
        "brainrot": false,   # if true it will added other video below the original shorts
        "tests": false,      # if true will skip upload to YouTube and Telegram, save to media/shorts/ 
        "account": "other_username", # account name based on folder inside accounts/
        "title": "",         # title video
        "description": ""    # description (pass tags is accepted)
      }
    ]
  }
]

Web Manager (Optional)

For a visual interface to manage jobs, use the Web Manager:

python3 start-web-manager.py

Then open http://localhost:9876 in your browser.


Run

Enter folder ./src then run

python3 job_runner.py

Disclaimer

This project is intended for educational and automation purposes only.

You are responsible for:

  • API usage
  • Platform rate limits
  • Content ownership
  • Compliance with YouTube and Telegram policies

Buy Me a Lambo

SOL: E1D96h652zzTzh8QyT1Dq8AqECT3j7dbJxJMiumnBV7c

EVM: 0x965244d54FFdf69A287e122090d320ae648f4cf8

TODO

  • Auto detect most replay (get timestamp)

About

Automated pipeline for clipping long videos into shorts and publishing them across platforms.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors