Skip to content

A comprehensive AI-powered video creation platform that enables content creators to generate professional-quality faceless YouTube videos using artificial intelligence for scripts, voiceovers, and visual content.

Notifications You must be signed in to change notification settings

rabbi696/EzYoutubeAI

Repository files navigation

EzVideo AI

🎬 Mac-based YouTube Faceless Video Generator

A comprehensive AI-powered video creation platform that enables content creators to generate professional-quality faceless YouTube videos using artificial intelligence for scripts, voiceovers, and visual content.

πŸš€ Features

πŸ–₯️ Desktop Application (βœ… Complete)

  • Native OS Integration: Menu bar, system tray, keyboard shortcuts
  • File System Operations: Drag & drop, native dialogs, local file management
  • Offline Mode: Complete local project management and asset storage
  • Responsive Design: Adaptive UI with light/dark/system themes
  • Window Management: Native controls, fullscreen support, multi-window
  • Performance Optimized: Lazy loading, efficient state management

πŸ€– AI-Powered Features (βœ… Complete)

  • Advanced AI Providers: OpenAI DALL-E, Stability AI, Midjourney, Runway ML
  • AI Transformations: Face swap, deepfake, object removal, upscaling
  • Voice Synthesis: ElevenLabs, HeyGen integration with voice cloning
  • Image Generation: Multiple AI providers with automatic selection
  • Video Enhancement: Super-resolution, frame interpolation, style transfer
  • Real-time Processing: WebSocket updates with queue management

🎬 Video Generation (βœ… Complete)

  • Multi-Input Support: YouTube-to-Video, Text-to-Video, Audio-to-Video
  • AI Images-to-Video: Convert AI-generated images to video sequences
  • Video-to-Video: Transform existing videos with AI effects
  • Processing Pipeline: Orchestrated generation with cost tracking
  • Queue System: BullMQ-based high-volume processing
  • Export Options: Multiple formats and quality settings

πŸ’° Business Features (βœ… Complete)

  • Payment System: Stripe integration with subscription management
  • Licensing: Usage tracking and license validation
  • Template System: Pre-built templates with customization
  • User Management: Authentication, profiles, and permissions
  • Admin Portal: Complete administrative interface

πŸ‘€ User Profile & Cloud Sync (βœ… Complete)

  • Profile Management: Complete user profile with preferences and settings
  • Cloud Synchronization: Real-time sync across all devices using Cloudflare R2
  • Device Management: Multi-device registration and sync status tracking
  • Project Sync: Automatic project synchronization with conflict resolution
  • Settings Sync: User preferences synchronized across all platforms
  • Storage Management: Usage monitoring, cleanup, and storage optimization
  • Data Export/Import: Complete user data backup and restore capabilities
  • Offline Support: Local storage with seamless online/offline transitions

🎞️ Advanced Video Editing (βœ… Complete)

  • Timeline Editor: Professional multi-track timeline with drag-and-drop
  • Clip Operations: Split, move, delete, duplicate, and trim clips with precision
  • Effects Library: 20+ professional effects across visual, motion, audio, and text
  • Transitions: Smooth transitions between clips with customizable parameters
  • Real-time Preview: Live preview of all edits and effects
  • Export System: Multiple format support with progress tracking
  • Effect Categories:
    • Visual Effects: Blur, Color Grading, Sharpen, Vignette, Film Grain, Glitch, Chromatic Aberration
    • Motion Effects: Video Stabilization, Speed Ramping, Motion Blur
    • Audio Effects: Volume Control, EQ, Reverb, Noise Reduction, Compressor
    • Text Effects: Animations, Custom Styling, Font Management

πŸ–₯️ Desktop Application Details

Native Desktop Components

WindowControls - Native window management

  • macOS-style minimize, maximize, close buttons
  • Proper event handling and window state management
  • Cross-platform compatibility (macOS, Windows, Linux)

MenuBar - Application menu integration

  • File, Edit, View, Help menus with keyboard shortcuts
  • Recent files management and project operations
  • Theme switching and view controls
  • User account management

FileSystemIntegration - File operations

  • Drag & drop file upload with validation
  • Native file dialogs for import/export
  • Progress tracking and error handling
  • Support for multiple file types (video, audio, image)

GlobalShortcuts - Keyboard shortcuts

  • Comprehensive shortcut system for productivity
  • Timeline controls (play/pause, seek, split)
  • File operations (new, open, save, export)
  • Edit operations (undo, redo, copy, paste)

SystemTray - System tray integration

  • Context menu with quick actions
  • Real-time render progress updates
  • Application show/hide functionality
  • Status notifications and alerts

OfflineMode - Local storage capabilities

  • SQLite-based project and asset storage
  • Intelligent caching system for AI results
  • Storage usage monitoring and cleanup
  • Project import/export for backup

Cross-Platform Features

macOS Specific:

  • Native menu bar integration
  • System notifications with actions
  • Spotlight integration
  • Touch Bar support (when available)

Windows Specific:

  • System tray with Windows notifications
  • Jump list integration
  • Windows Explorer integration
  • Native file associations

Linux Specific:

  • System tray (where supported)
  • Native file dialogs with GTK
  • Desktop file integration
  • Package manager distribution

Performance & Security

Performance Optimizations:

  • Lazy loading of components and routes
  • Efficient state management with context providers
  • Background processing for AI operations
  • Memory management and cleanup

Security Features:

  • Sandboxed file system access
  • Strict Content Security Policy (CSP)
  • API allowlist for external communications
  • Secure storage for user credentials

Developer Experience

Hot Reload Development:

npm run tauri dev  # Start development with hot reload

Cross-Platform Building:

npm run tauri build  # Build for current platform

Testing:

npm test  # Run component and integration tests

πŸ—οΈ Architecture

Project Structure

EzVideoAI/
β”œβ”€β”€ apps/
β”‚   └── creator/          # Tauri desktop application (React + TypeScript)
β”œβ”€β”€ services/
β”‚   └── api/             # NestJS backend API
β”œβ”€β”€ packages/
β”‚   └── shared/          # Shared types and utilities
β”œβ”€β”€ docker-compose.yml   # Development environment
└── nginx.conf          # Production reverse proxy

Technology Stack

Frontend (Desktop App)

  • Framework: Tauri + React 19
  • Styling: TailwindCSS + Radix UI
  • State Management: Zustand
  • Forms: React Hook Form + Zod validation
  • TypeScript: Full type safety

Backend (API)

  • Framework: NestJS (Node.js)
  • Database: PostgreSQL with Prisma ORM
  • Cache: Redis
  • Authentication: JWT with Passport
  • File Storage: Local/Cloud storage support
  • Background Jobs: Bull Queue

External Services

  • AI: OpenAI GPT-4 for script generation
  • Voice: ElevenLabs for voice synthesis
  • Media: Pexels, Pixabay, Unsplash APIs
  • Payments: Stripe for subscriptions
  • Video Processing: FFmpeg integration

πŸ› οΈ Getting Started

Prerequisites

  • Node.js 18.0.0 or higher
  • pnpm 9.0.0 or higher
  • PostgreSQL 15+ (for database)
  • Redis 7+ (for caching)
  • Rust (for Tauri development)

Development Setup

  1. Clone the repository

    git clone https://github.com/your-username/ezvideo-ai.git
    cd ezvideo-ai
  2. Install dependencies

    pnpm install
  3. Set up environment variables

    cp .env.example .env
    # Edit .env with your API keys and database credentials
  4. Set up the database

    # Start PostgreSQL and Redis (using Docker)
    docker-compose up postgres redis -d
    
    # Run database migrations
    cd services/api
    pnpm prisma:migrate
    pnpm prisma:generate
  5. Start development servers

    # Start all services
    pnpm dev
    
    # Or start individual services
    pnpm dev:api    # Backend API
    pnpm dev:creator # Desktop app

Building for Production

  1. Build all services

    pnpm build
  2. Build desktop application

    pnpm build:creator
  3. Deploy with Docker

    docker-compose up -d

πŸ“š API Documentation

The API documentation is automatically generated using Swagger/OpenAPI and is available at:

  • Development: http://localhost:3001/api/docs
  • Production: https://your-domain.com/api/docs

Main API Endpoints

Authentication

  • POST /api/auth/login - User login
  • POST /api/auth/register - User registration
  • POST /api/auth/refresh - Token refresh

AI Image Generation

  • POST /api/ai-image/generate - Generate AI images
  • GET /api/ai-image/jobs/:jobId - Get generation job status
  • POST /api/ai-image/upscale - Upscale existing images

Video Generation

  • POST /api/video-generation/youtube-to-video - Convert YouTube to video
  • POST /api/video-generation/text-to-video - Generate video from text
  • POST /api/video-generation/audio-to-video - Create video from audio
  • POST /api/video-generation/ai-images-to-video - Convert AI images to video
  • GET /api/video-generation/jobs/:jobId - Get generation job status

AI Transformations

  • POST /api/transformations/face-swap - AI face swap
  • POST /api/transformations/deepfake - Deepfake video generation
  • POST /api/transformations/object-removal - Remove objects from video
  • POST /api/transformations/background-replacement - Replace video background

Music & Audio

  • POST /api/music/generate - Generate AI music
  • POST /api/music/voice-synthesis - Synthesize voice
  • POST /api/music/voice-clone - Clone voice from sample

Payments & Licensing

  • POST /api/payments/create-subscription - Create Stripe subscription
  • GET /api/payments/billing-history - Get billing history
  • POST /api/licensing/validate - Validate usage license
  • GET /api/licensing/usage-stats - Get usage statistics

User Profile & Cloud Sync

  • GET /api/user-profile - Get user profile information
  • PUT /api/user-profile - Update user profile
  • POST /api/user-profile/preferences - Update user preferences
  • GET /api/user-profile/sync-status - Get cloud sync status
  • POST /api/user-profile/sync - Trigger manual sync
  • POST /api/user-profile/devices - Register new device
  • GET /api/user-profile/stats - Get user statistics
  • POST /api/user-profile/export - Export user data

Advanced Video Editor

  • POST /api/video-editor/projects - Create new video project
  • GET /api/video-editor/projects/:id - Get video project
  • PUT /api/video-editor/projects/:id - Update video project
  • DELETE /api/video-editor/projects/:id - Delete video project
  • POST /api/video-editor/projects/:id/clips - Add clip to timeline
  • PUT /api/video-editor/clips/:id/move - Move clip on timeline
  • POST /api/video-editor/clips/:id/split - Split clip
  • DELETE /api/video-editor/clips/:id - Delete clip
  • POST /api/video-editor/effects/apply - Apply effect to clip
  • POST /api/video-editor/transitions/add - Add transition between clips
  • GET /api/video-editor/effects - Get available effects
  • POST /api/video-editor/export - Export video project

πŸ§ͺ Testing

Running Tests

# Run all tests
pnpm test

# Run API tests
pnpm --filter @ezvideo/api test

# Run frontend tests
pnpm --filter @ezvideo/creator test

# Run tests with coverage
pnpm test:cov

Test Structure

  • Unit Tests: Component and service level tests
  • Integration Tests: API endpoint testing
  • E2E Tests: Full user workflow testing

πŸš€ Deployment

Docker Deployment (Recommended)

  1. Production build

    docker-compose -f docker-compose.prod.yml up -d
  2. Environment configuration

    • Copy .env.example to .env.prod
    • Configure production database and Redis URLs
    • Set up SSL certificates in ./ssl/ directory

Manual Deployment

  1. Server requirements

    • Ubuntu 20.04+ or similar
    • Node.js 18+, PostgreSQL 15+, Redis 7+
    • Nginx (for reverse proxy)
  2. Build and deploy

    pnpm build
    # Copy built files to server
    # Configure systemd services

πŸ”§ Configuration

Environment Variables

See .env.example for all available configuration options:

Required

  • DATABASE_URL - PostgreSQL connection string
  • REDIS_URL - Redis connection string
  • JWT_SECRET - JWT signing secret
  • OPENAI_API_KEY - OpenAI API key
  • ELEVENLABS_API_KEY - ElevenLabs API key

Optional

  • STRIPE_SECRET_KEY - Stripe payments
  • PEXELS_API_KEY - Stock photos
  • PIXABAY_API_KEY - Stock media
  • UNSPLASH_ACCESS_KEY - Stock photos

Feature Flags

Toggle features via environment variables:

  • ENABLE_SWAGGER - API documentation
  • ENABLE_RATE_LIMITING - Request rate limiting
  • ENABLE_ANALYTICS - Usage analytics

🀝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch
    git checkout -b feature/amazing-feature
  3. Make your changes
    • Follow the code style guidelines
    • Add tests for new functionality
    • Update documentation as needed
  4. Commit your changes
    git commit -m 'Add some amazing feature'
  5. Push to your branch
    git push origin feature/amazing-feature
  6. Open a Pull Request

Code Style

  • TypeScript: Strict mode enabled
  • Formatting: Prettier with 2-space indentation
  • Linting: ESLint with recommended rules
  • Commits: Conventional commit format

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ†˜ Support

🚧 Roadmap

Phase 1 - Core Platform (βœ… COMPLETE)

  • βœ… Desktop Application Frontend - Complete native desktop UI with Tauri
  • βœ… Advanced AI Features - Multi-provider AI integration with transformations
  • βœ… Payment & Licensing System - Stripe integration with subscription management
  • βœ… Template & Preset System - Pre-built templates with customization
  • βœ… Admin Portal Frontend - Complete administrative interface
  • βœ… Video Generation Pipeline - Multi-input video generation with AI enhancement
  • βœ… Real-time Processing - WebSocket integration with queue management
  • βœ… Offline Mode - Local storage and project management capabilities

Phase 2 - Enhancement & Integration (πŸ”„ Partially Complete)

  • βœ… User Profile & Cloud Sync - 100% complete (JUST COMPLETED)
  • βœ… Advanced Video Editing Features - 100% complete (JUST COMPLETED)
  • πŸ”„ Additional Integrations - Social media and third-party services
  • πŸ”„ Mobile Application - iOS/Android companion app
  • πŸ”„ Team Collaboration - Multi-user workspace management

Phase 3 - Advanced Features (πŸ“‹ Planned)

  • πŸ“‹ Advanced Analytics Dashboard - Performance tracking and insights
  • πŸ“‹ Plugin System - Third-party plugin architecture
  • πŸ“‹ Marketplace Integration - Template and asset marketplace
  • πŸ“‹ Multi-language Support - Internationalization
  • πŸ“‹ Enterprise Features - SSO, audit logs, compliance
  • πŸ“‹ API Marketplace - Public API for third-party integrations

Current Implementation Status

  • Frontend: 100% complete (Desktop Application)
  • Backend Services: 100% complete (Core AI features)
  • Infrastructure: 100% complete (Database, queues, WebSocket)
  • Documentation: 100% complete (Technical and user guides)
  • Testing: Ready for integration testing
  • Deployment: Ready for production deployment

❀️ Acknowledgments

  • OpenAI for GPT models
  • ElevenLabs for voice synthesis
  • Tauri for desktop app framework
  • NestJS for backend framework
  • All contributors who help improve this project

Made with ❀️ for content creators worldwide

About

A comprehensive AI-powered video creation platform that enables content creators to generate professional-quality faceless YouTube videos using artificial intelligence for scripts, voiceovers, and visual content.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published