Skip to content

kumarAbhay0201/mycontentbuddy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MyContentBuddy

MyContentBuddy is an AI-powered YouTube creator toolkit built to help creators move faster from idea to publish-ready content.

It combines script generation, download tools, and video metadata utilities into one clean workflow for YouTube creators, editors, and social media teams.

What It Does

  • Generates structured YouTube scripts with Gemini
  • Lets logged-in free users generate scripts up to the monthly limit
  • Offers public creator tools without login
  • Downloads YouTube media with yt-dlp
  • Extracts video metadata and summaries
  • Supports PDF export for generated scripts

Core Features

  • AI script generator for YouTube content
  • Login-based script access control
  • Monthly free-plan usage tracking
  • Public MP3, MP4, and thumbnail download tools
  • Fast HTMX-based interactions
  • Supabase-backed auth/session sync
  • SEO-ready pages and structured metadata

Available Tools

  • Script Generator
  • YouTube to MP3 Converter
  • YouTube to MP4 Downloader
  • Thumbnail Downloader
  • Video Summary / Metadata lookup

Tech Stack

  • FastAPI
  • Jinja2 templates
  • HTMX
  • Supabase
  • Gemini API
  • yt-dlp

Setup

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
uvicorn app.main:app --reload

Environment Variables

Set these in .env or your deployment platform:

Name Purpose
SECRET_KEY Session signing key
GEMINI_API_KEY Gemini API key for script generation
YOUTUBE_API_KEY Optional YouTube Data API key
SUPABASE_URL Supabase project URL
SUPABASE_KEY Supabase service role key
MONTHLY_FREE_SCRIPT_LIMIT Monthly script limit for free users
SUBSCRIPTION_TABLE Table used to read the user plan
SUBSCRIPTION_USER_ID_COLUMN User ID column in the plan table
SUBSCRIPTION_PLAN_COLUMN Plan column in the plan table
USAGE_LOGS_TABLE Table used to store script usage
USAGE_LOGS_USER_ID_COLUMN User ID column in the usage table

Supabase Tables

The app expects two tables:

  • profiles

    • id uuid primary key
    • plan text, values like free or pro
    • created_at timestamptz
    • updated_at timestamptz
  • usage_logs

    • id bigint or uuid primary key
    • user_id uuid
    • created_at timestamptz

Routes

Route Method Purpose
/ GET Main script generator
/pricing GET Pricing page
/tools GET Creator tools hub
/scripts/generate POST Generate a YouTube script
/tools/options POST Show download options
/tools/download POST Download media
/tools/video-summary POST Fetch video summary

Download Notes

Downloaded files are stored in app/static/downloads/ and ignored by Git.

For best results with format merging, install ffmpeg on the host machine.

Use the downloader only for content you own or have permission to download.

Deploying

You can deploy this project on Railway or any FastAPI-compatible host.

Add your environment variables in the deployment dashboard and ensure the Supabase tables exist before launching.

About

We are using Python's FastAPI in this project. This website is to help content creator to experiment some scripts and download video clips and audio files of YouTube and Instagram. We can say that it is a Ai based script generator with some helping tools like downloading audio and videos of YouTube and Instagram.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages