Transform your YouTube content creation with AI that learns your style and voice. Script AI is a personalized AI assistant that helps YouTubers generate scripts, thumbnails, subtitles, and more - all tailored to their unique content style and audience.
- Script Generation - AI learns your style from 3-5 videos
- Smart Idea Research - Web research and PDF analysis for new content ideas
- AI Thumbnail Creator - Generate thumbnails matching your channel's style
- Multi-language Subtitles - Create editable subtitles in multiple languages
- Voice Cloning Dubbing - Translate audio in multiple languages by cloning your voice
- Course Module Builder - Complete course creation for educators
- AI Video Generator: Create AI-generated videos, reels like Sora, Veo.
- Multi-Platform: Expand the features for platforms like TikTok, Instagram Reels, or podcasts.
- Collaboration Mode: Real-time collaboration for teams.
- Advanced Personalization: Train AI with custom fine-tuned model.
- Modern Tech Stack - Next.js 15, React 19, TypeScript, Tailwind CSS, Supabase
- Monorepo Architecture - Turbo + pnpm for efficient development
- Comprehensive Testing - Jest, E2E testing, and linting
- Type Safety - Full TypeScript coverage with Zod validation
- Node.js 19.x or higher
- pnpm package manager
- Git for version control
-
Clone the repository
git clone https://github.com/scriptaiapp/scriptai.git cd scriptai -
Install dependencies
pnpm install
-
Set up Supabase
- Create a fresh Supabase project at supabase.com/dashboard (free tier is fine for development).
- Run
pnpx supabase loginand follow the prompts to log in with your Supabase account (if not already logged in). - Get your project's Database URL from the Supabase dashboard (Settings > Database > Connection String; use the
postgresql://format). - Apply the existing schema to your new database:
pnpx supabase db push --db-url <your-supabase-db-url>
- Note: This uses the schema from
packages/supabase/migrations/and won't add any seed data.
-
Set up environment variables
# Copy example environment files cp apps/web/.env.example apps/web/.env cp apps/api/.env.example apps/api/.env- Edit
apps/web/.envandapps/api/.envto include your Supabase credentials:(Get these from your Supabase dashboard under Settings > API.)SUPABASE_URL=<your-supabase-project-url> SUPABASE_ANON_KEY=<your-supabase-anon-key>
- Edit
-
Start development servers
pnpm run dev
-
Open your browser
- Frontend: http://localhost:3000
- Backend: http://localhost:8000
| Command | Description |
|---|---|
pnpm run dev |
Start all development servers |
pnpm run dev:new |
Start web app on port 4000 |
pnpm run build |
Build all packages and apps |
pnpm run test |
Run all tests |
pnpm run test:e2e |
Run end-to-end tests |
pnpm run lint |
Lint all code |
pnpm run format |
Format code with Prettier |
scriptai/
├── apps/
│ ├── web/ # Next.js frontend
│ │ ├── app/ # App Router pages
│ │ │ ├── dashboard/ # Main app features
│ │ │ │ ├── scripts/ # Script generation
│ │ │ │ ├── research/ # Idea research
│ │ │ │ ├── train/ # AI model training
│ │ │ │ ├── thumbnails/# Thumbnail generation
│ │ │ │ ├── subtitles/ # Subtitle creation
│ │ │ │ ├── dubbing/ # Audio translation
│ │ │ │ └── courses/ # Course modules
│ │ │ └── api/ # Next.js API routes
│ │ ├── components/ # React components
│ │ ├── hooks/ # Custom React hooks
│ │ └── lib/ # Utilities & config
│ └── api/ # NestJS backend
├── packages/
│ ├── ui/ # Shared UI components
│ ├── api/ # Shared API types
│ ├── validations/ # Zod schemas
│ └── config/ # Shared configs
We love contributions! Whether you're fixing bugs, adding features, or improving documentation, your help is welcome.
- Join our Discord - https://discord.gg/k9sZcq2gNG
- Check existing issues - Look for "Good First Issue" labels
- Read our contributing guide - CONTRIBUTING.md
- Fork and clone - Create your own fork of the repository
- Create a branch - Use descriptive branch names (
feat:add-new-feature) - Make and test the changes - Follow our coding standards
- Submit a PR - Include well written description of what the PR does, include screenshots/videos if needed.
See our Contributing Guide for detailed information about our development process, coding standards, and how to submit your first contribution.
- Contributing Guide - How to contribute to ScriptAI
- Code of Conduct - Community guidelines
- Setup Guide - Development environment setup
- Security Policy - Security guidelines
- Discord - Join our community
- GitHub - Star us on GitHub
- Issues - Report bugs or request features
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ by the Script AI community