Skip to content
BankkRollPublic

About

Transform any YouTube video into a polished blog post using AI

Resources

Code of conduct

Contributing

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

yt2blog-ad

Transform any YouTube video into a polished blog post using AI

npm version MIT License

Quick Start

npx yt2blog

That's it! The CLI will guide you through the rest.

╔════════════════════════════════════════════════════════════════════╗
║                                                                    ║
║   ██╗   ██╗████████╗ ██████╗ ██████╗  ██╗      ██████╗  ██████╗    ║
║   ╚██╗ ██╔╝╚══██╔══╝╚════██╗ ██╔══██╗ ██║     ██╔═══██╗██╔═════╝   ║
║    ╚████╔╝    ██║    █████╔╝ ██████╔╝ ██║     ██║   ██║██║  ███╗   ║
║     ╚██╔╝     ██║   ██╔═══╝  ██╔══██╗ ██║     ██║   ██║██║   ██║   ║
║      ██║      ██║   ███████╗ ██████╔╝ ███████╗╚██████╔╝╚██████╔╝   ║
║      ╚═╝      ╚═╝   ╚══════╝ ╚═════╝  ╚══════╝ ╚═════╝  ╚═════╝    ║
║                                                                    ║
╚════════════════════════════════════════════════════════════════════╝

Installation

# Run directly (no install)
npx yt2blog

# Or install globally
npm install -g yt2blog
yt2blog

Configuration

Set your API key before running:

# Option 1: Inline (easiest)
AI_GATEWAY_API_KEY=your-key npx yt2blog

# Option 2: Export in shell
export AI_GATEWAY_API_KEY=your-key
npx yt2blog

# Option 3: System environment variable
# Set via your OS settings

AI Gateway (Recommended)

Get your key from Vercel Dashboard → AI Gateway

Provider-Specific Keys

If not using AI Gateway, set keys for the providers you want to use:

Variable Provider Notes
OPENAI_API_KEY OpenAI Also used for Whisper transcription fallback
ANTHROPIC_API_KEY Anthropic Claude models
GOOGLE_API_KEY Google AI Gemini models
GROQ_API_KEY Groq Fast inference
MISTRAL_API_KEY Mistral
COHERE_API_KEY Cohere Command models
PERPLEXITY_API_KEY Perplexity Online search models
XAI_API_KEY xAI Grok models
DEEPSEEK_API_KEY DeepSeek

App Settings

Variable Description Default
YT2BLOG_THEME Default theme ID default

Available themes: default, dracula, nord, catppuccin, tokyo-night, monokai, high-contrast, neo-brutalism, windows-98

Features

  • YouTube → Transcript → AI → Blog - Full pipeline from video URL to polished markdown
  • Dynamic Model Selection - Search, sort, and filter from 20+ AI models with live pricing info
  • Multiple Blog Styles - SEO, Medium essay, Newsletter, Twitter thread, Technical breakdown
  • 9 Built-in Themes - Default, Dracula, Nord, Catppuccin, Tokyo Night, Monokai, High Contrast, Neo Brutalism, Windows 98
  • Multi-Provider Support - Use AI Gateway or provider-specific API keys
  • Interactive CLI - Beautiful terminal UI with progress tracking

Supported Models

The model selector dynamically fetches available models from AI Gateway. When offline or without a gateway key, these defaults are available:

Provider Models
OpenAI GPT-4o, GPT-4o Mini, GPT-4 Turbo
Anthropic Claude Sonnet 4, Claude 3.5 Sonnet, Claude 3.5 Haiku, Claude 3 Opus
Google Gemini 2.0 Flash, Gemini 1.5 Pro, Gemini 1.5 Flash
Groq Llama 3.3 70B, Llama 3.1 8B, Mixtral 8x7B
Mistral Mistral Large, Mistral Small
Cohere Command R+, Command R
Perplexity Sonar Large Online
xAI Grok 2
DeepSeek DeepSeek Chat

Development

For local development setup, see DEVELOPMENT.md.

git clone https://github.com/BankkRoll/yt2blog.git
cd yt2blog
pnpm install
pnpm dev

Documentation

Document Description
DEVELOPMENT.md Development setup, architecture, and project structure
CONTRIBUTING.md Contribution guidelines and workflow
CHANGELOG.md Version history and release notes
CODE_OF_CONDUCT.md Community guidelines
LICENSE MIT License

Acknowledgments

  • Vercel AI SDK - AI Gateway and model routing
  • Ink - React for CLI
  • YouTube InnerTube API - Transcript fetching

About

Transform any YouTube video into a polished blog post using AI

Resources

Code of conduct

Contributing

Stars

1 star

Watchers

0 watching

Forks

Used by

Contributors

Languages