2

YT AI Upload Automation

An end-to-end pipeline that transcribes recorded videos with Gemini, generates titles/descriptions/tags via NVIDIA NIM, and uploads/publishes to YouTube automatically — with a Streamlit dashboard for monitoring runs.

Automates the entire flow from raw recording to published YouTube video: extract audio → transcribe (Gemini) → generate title/description/tags (NVIDIA NIM, DeepSeek V4 Flash) → upload to YouTube (resumable, OAuth2) → wait for processing → publish.

Features

  • Audio extraction: pulls audio from .mp4/.mov/.mkv recordings with ffmpeg.
  • AI transcription: Gemini transcribes the extracted audio.
  • AI metadata generation: NVIDIA NIM (DeepSeek V4 Flash) writes the title, description, and tags from the transcript.
  • Resumable YouTube upload: OAuth2-authenticated, resumable upload via the YouTube Data API v3, waits for processing, then publishes.
  • Dashboard: Streamlit UI with a "Run pipeline now" button, live per-stage progress, success/failure metrics, charts (outcomes, uploads/day, avg stage duration), and full run history.
  • Cron-friendly: drop a video in incoming/, run python main.py run, cron it for hands-off automation — processed files move to uploaded/.

Stack

Python, Google Gemini API, NVIDIA NIM, YouTube Data API v3, ffmpeg, Streamlit, SQLite (run history tracking).