Transform YouTube videos into viral Shorts with AI narration, automatic subtitles, and background music - No coding required!
- One-Click Transformation: Convert any YouTube video into engaging Shorts
- Smart AI Narration: Multiple styles (Documentary, Storytelling, Educational, Dramatic)
- Multi-Language Support: English & Hindi/Hinglish narration
- Accurate Duration Control: Generate 15s, 30s, or 45s videos with precise timing
- Google Cloud TTS: Premium voice quality with multiple accents
- Edge TTS: Fast, free alternative voices
- Gender Selection: Male and female voice options
- Natural Speech: Realistic intonation and pacing
- Dynamic Subtitles: Word-by-word animated captions (Shorts-style)
- Background Music: 6 mood options (Dramatic, Cinematic, Upbeat, Chill, Epic, None)
- Moving Watermark: Customizable branding overlay
- 1080x1920 Export: Perfect vertical format for Shorts, Reels, TikTok
- Symmetrical Layout: Clean, intuitive interface
- Live Processing Logs: Real-time feedback during generation
- Step-by-Step Flow: Config β Processing β Result
- Download Ready: One-click MP4 download
# Node.js 18+ and Python 3.10+ required
node --version
python --version- Clone the repository
git clone https://github.com/Swotboysandy/fresta.git
cd fresta- Install dependencies
# Frontend
npm install
# Backend (Python)
pip install -r scripts/faceless-generator/requirements.txt- Set up environment variables
# Create .env file
cp .env.example .env
# Add your API keys
GROQ_API_KEY=your_groq_api_key_here
GEMINI_API_KEY=your_google_api_key_here # Optional for Google TTS- Run the development server
npm run dev- Open in browser
http://localhost:3000
- Paste YouTube URL - Any video you want to transform
- Select Style - Choose narration style (Documentary, Storytelling, etc.)
- Pick Voice - Select from 10+ voice options
- Choose Music - Pick background music mood
- Set Duration - 15s, 30s, or 45s
- Select Language - English or Hindi
- Generate! - Watch real-time logs as AI creates your video
- Next.js 15 - React framework with App Router
- TypeScript - Type-safe development
- Tailwind CSS - Modern styling
- Server-Sent Events - Real-time log streaming
- Python 3.10+ - Core video processing
- FFmpeg - Video editing and assembly
- Groq API - AI narration generation (llama-3.3-70b-versatile)
- Google Cloud TTS - Premium voice synthesis
- Edge TTS - Free voice synthesis
- Faster Whisper - Audio transcription
- MoviePy - Video manipulation
fresta/
βββ src/
β βββ app/
β β βββ page.tsx # Main UI dashboard
β β βββ api/
β β βββ faceless/
β β βββ route.ts # API endpoint with SSE
βββ scripts/
β βββ faceless-generator/
β βββ main.py # Core video generation logic
β βββ Components/ # Transcription, TTS, etc.
β βββ requirements.txt # Python dependencies
βββ public/ # Static assets & generated videos
βββ output/ # Processing workspace
Edit src/app/page.tsx:
const VOICES = [
{ id: "your-voice-id", label: "Your Voice", lang: "πΊπΈ", gender: "Male", provider: "Edge" },
// ...
];Modify prompt in scripts/faceless-generator/main.py:
def rewrite_as_story(transcription: str, style: str, language: str):
# Customize AI prompt hereAdd music files to storyforge-ai/tracks/ and update MUSIC_MOODS array.
- Groq API (Free): Get key here
- Used for AI narration generation
- Google Cloud TTS: Enable here
- Premium voice quality (if not set, uses free Edge TTS)
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Groq - Lightning-fast AI inference
- Google Cloud TTS - Natural voice synthesis
- FFmpeg - Powerful video processing
- Next.js - Amazing React framework
Sunny - @Swotboysandy
Project Link: https://github.com/Swotboysandy/fresta
π‘ Open for contributions! Feel free to submit PRs, report issues, or suggest features.
Made with β€οΈ by Sunny