
Transform any content into engaging AI-powered podcasts
🚀 Features • 📱 Screenshots • 🛠️ Installation • 🔧 Configuration • 🌐 Landing Page • 🤝 Contributing
EchoGen.ai is a powerful, open-source Flutter application that transforms any web content or text into engaging, multi-speaker AI-generated podcasts. Whether you're a content creator, educator, or just someone who loves podcasts, EchoGen.ai makes it easy to convert articles, blog posts, or custom scripts into professional-quality audio content.
- 🎵 Background Audio Playback: Full background audio with notification controls and mini player
- 🎨 AI Cover Art Generation: Create stunning cover art using ImageRouter AI
- 📝 Smart Script Chunking: Handle long scripts with intelligent chunking to avoid timeouts
- 🔑 Centralized API Management: Secure management of all API keys in one location
- 🎯 Enhanced Content Processing: Convert any URL or text with improved error handling
- 🤖 Multiple AI Providers: Gemini, OpenAI, ElevenLabs, and ImageRouter support
- 🎭 Multi-Speaker Conversations: Natural conversations between AI speakers
- 🎨 Modern UI/UX: Improved loading messages, better error handling, dark/light themes
- 📱 Cross-Platform: Works on Android, iOS, and desktop
- 🆓 Open Source: Completely free and open for contributions
- 🎵 Background Audio Playback: Full background audio service with notification controls
- 🎮 Mini Player: Floating mini player with spinning logo animation across all screens
- 🎨 AI Cover Art Generation: Generate custom cover art using ImageRouter AI
- 📝 Smart Script Chunking: Intelligent script splitting to handle long content without timeouts
- 🔑 Centralized API Key Management: Secure management of all API keys in Settings
- 🎯 Enhanced Loading Experience: Improved loading messages and progress tracking
- 🔧 Better Error Handling: More helpful error messages and recovery options
- 🎨 UI/UX Improvements: Redesigned library cards, better navigation, and visual enhancements
- Web Scraping: Extract content from any URL using Firecrawl or HyperbrowserAI
- Smart Parsing: Automatically extracts main content and metadata
- Multiple Formats: Support for articles, blogs, news, and documentation
- Batch Processing: Scrape multiple URLs simultaneously
- Multiple Providers: Support for Gemini, OpenAI, Groq, and OpenRouter
- Podcast Categories: Choose from various styles (Educational, Entertainment, News, etc.)
- Custom Speakers: Personalize speaker names and characteristics
- Smart Formatting: Automatically formats content for natural conversation
- 30+ Voices: Access to Google's premium TTS voices
- Multi-Speaker: Realistic conversations between different speakers
- Emotion Guidance: Advanced tone control for natural-sounding dialogue
- Speed Control: Variable playback speeds (0.25x to 2.0x)
- ImageRouter Integration: Generate custom podcast cover art using AI
- Multiple AI Models: Support for DALL-E 3, Stable Diffusion XL, Midjourney
- Quality Options: Choose from auto, low, medium, and high quality
- Size Options: Multiple aspect ratios for different platforms
- Local Storage: Generated covers saved locally for offline access
- Spinning Logo Animation: Visual feedback during playback
- Transcript Slide View: Swipe to access full transcript with mini player
- Horizontal Speed Control: Expanded speed options with visual selection
- Improved Controls: Enhanced forward/backward buttons with better visibility
- Page Navigation: Seamless swipe navigation between player and transcript
- High Quality: Professional-grade audio output
- Custom Settings: Adjust speed, tone, and speaking style
- Library System: Organize scraped URLs, scripts, and generated podcasts
- Search & Filter: Easily find your content
- Export Options: Share podcasts or scripts
- Local Storage: Everything saved securely on your device
- Modern UI: Beautiful, intuitive interface
- Dark/Light Themes: Comfortable viewing in any environment
- Responsive Design: Optimized for all screen sizes
- Smooth Animations: Polished interactions and transitions
- Flutter SDK: 3.7.0 or higher
- Dart SDK: 3.0 or higher
- Android Studio or VS Code with Flutter extensions
- Android SDK (for Android development)
- Xcode (for iOS development, macOS only)
-
Clone the repository
git clone https://github.com/Mr-Dark-debug/EchoGen.ai.git cd EchoGen.ai
-
Install dependencies
flutter pub get
-
Run the app
flutter run
EchoGen.ai uses GitHub Actions for automated building and releasing. Every push to main
triggers automated builds:
- Automatic Builds: Android APK, AAB, and iOS archives
- Version Management: Automatic version detection from
pubspec.yaml
- Release Creation: Automated GitHub releases with downloadable assets
- Quality Assurance: Automated testing and analysis
Android APK (Universal)
flutter build apk --release
# Output: build/app/outputs/flutter-apk/app-release.apk
Android App Bundle (Google Play Store)
flutter build appbundle --release
# Output: build/app/outputs/bundle/release/app-release.aab
iOS (Requires macOS)
flutter build ios --release
# For App Store distribution, use Xcode to archive and upload
Web (Progressive Web App)
flutter build web --release
# Output: build/web/
Windows (Requires Windows)
flutter build windows --release
# Output: build/windows/runner/Release/
macOS (Requires macOS)
flutter build macos --release
# Output: build/macos/Build/Products/Release/
Linux (Requires Linux)
flutter build linux --release
# Output: build/linux/x64/release/bundle/
EchoGen.ai uses GitHub Actions for automated building and releasing:
- Automatic Builds: Every push to
main
triggers automated builds for Android and iOS - Version Management: Use the version bump workflow to automatically increment versions
- Release Creation: Releases are automatically created with APK, AAB, and IPA files
- Quality Assurance: All builds go through automated testing before release
Visit our Releases page to download:
- Android APK: Direct installation file
- Android AAB: Google Play Store format
- iOS IPA: For sideloading on iOS devices
EchoGen.ai requires API keys for various services. Configure them in the app's settings:
- Google Gemini: For AI text generation and TTS
- Get your key: Google AI Studio
- Format:
AIza...
-
OpenAI: Alternative AI provider and TTS
- Get your key: OpenAI Platform
- Format:
sk-...
-
ElevenLabs: Premium TTS provider
- Get your key: ElevenLabs
- Format: Various formats supported
-
ImageRouter: AI cover art generation
- Get your key: ImageRouter
- Format: Various formats supported (no specific prefix required)
-
Groq: Fast inference provider
- Get your key: Groq Console
- Format:
gsk_...
-
Firecrawl: Web scraping service
- Get your key: Firecrawl
- Format:
fc-...
-
HyperbrowserAI: Alternative web scraping
- Get your key: HyperbrowserAI
- Format: Various formats supported
- Open the app and navigate to Settings → API Keys
- Enter your API keys for the services you want to use
- Test the configuration by generating a sample podcast
The app requires the following permissions:
- Storage: To save podcasts and manage downloads
- Internet: To access AI APIs and scrape content
- Network State: To check connectivity
EchoGen.ai features a beautiful landing page hosted on GitHub Pages that showcases the app's features and provides download links.
Visit the landing page: https://mr-dark-debug.github.io/EchoGen.ai/
The landing page is automatically deployed to GitHub Pages from the docs/
folder:
- Source File:
landing.html
(main project directory) - Deployed As:
docs/index.html
(GitHub Pages source) - Live URL:
https://[username].github.io/[repository-name]/
-
Repository Settings:
- Go to your repository on GitHub
- Navigate to Settings → Pages
- Under Source, select Deploy from a branch
- Choose main branch and / (root) folder
- Save the settings
-
Automatic Deployment:
- Any changes to
docs/index.html
will automatically deploy - GitHub Actions can be configured for advanced deployment workflows
- The site typically updates within 5-10 minutes
- Any changes to
- Responsive Design: Works perfectly on desktop, tablet, and mobile
- Modern UI: Clean, professional design with smooth animations
- Feature Showcase: Highlights all major app features
- Direct Downloads: Links to latest GitHub releases
- Social Links: GitHub, Product Hunt, and other social platforms
- Fast Loading: Optimized images and minimal dependencies
- Edit Content: Modify
landing.html
in the project root - Update Assets: Replace images in
lib/assets/
(uses GitHub raw URLs) - Deploy Changes: Copy updated
landing.html
todocs/index.html
- Test Locally: Open
landing.html
in a browser before deploying
# Quick deployment command
cp landing.html docs/index.html
git add docs/index.html
git commit -m "Update landing page"
git push origin main
The landing page includes:
- SEO Optimized: Meta tags, structured data, and semantic HTML
- Performance: Lightweight design with fast loading times
- Accessibility: WCAG guidelines compliance
- Mobile First: Responsive design for all devices
-
Choose Input Method:
- From URL: Paste any article or blog URL
- From Text: Write or paste your own content
-
Configure Settings:
- Select AI provider (Gemini recommended)
- Choose podcast category and style
- Set speaker names and voices
-
Generate Script:
- AI converts your content into a natural conversation
- Review and edit the generated script
-
Create Audio:
- Generate high-quality TTS audio
- Listen to your podcast in the built-in player
-
Manage Content:
- Access all your content in the Library
- Share, download, or delete podcasts
- Use descriptive speaker names for better context
- Choose appropriate categories for better script generation
- Review scripts before generating audio to ensure quality
- Experiment with different AI providers for varied results
EchoGen.ai follows a clean, modular architecture:
lib/
├── constants/ # App-wide constants and themes
├── models/ # Data models and entities
├── screens/ # UI screens and pages
├── services/ # Business logic and API services
├── widgets/ # Reusable UI components
└── main.dart # App entry point
- AI Service: Handles communication with various AI providers
- TTS Service: Manages text-to-speech generation
- Storage Service: Local data persistence
- Web Scraping Service: Content extraction from URLs
- Theme Provider: Dark/light theme management
We welcome contributions from the community! Here's how you can help:
- 🐛 Report Bugs: Found an issue? Let us know!
- 💡 Suggest Features: Have ideas for improvements?
- 🔧 Submit PRs: Fix bugs or add new features
- 📖 Improve Docs: Help make our documentation better
- 🌍 Translations: Help localize the app
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Make your changes and test thoroughly
- Commit your changes:
git commit -m 'Add amazing feature'
- Push to the branch:
git push origin feature/amazing-feature
- Open a Pull Request
- Follow Dart style guidelines
- Use meaningful variable and function names
- Add comments for complex logic
- Write tests for new features
This project is licensed under the MIT License - see the LICENSE file for details.
- Flutter Team: For the amazing framework
- Google AI: For Gemini API and TTS services
- OpenAI: For GPT models and APIs
- Community: For feedback, contributions, and support
- 🌍 Multi-language Support: Generate podcasts in multiple languages
- 🎵 Background Music: Add ambient music to podcasts
- 📊 Analytics: Track podcast performance and engagement
- ☁️ Cloud Sync: Optional cloud backup for your content
- 🎨 Custom Themes: More theme options and customization
- 🔊 Voice Cloning: Clone your own voice for personalized podcasts
- 📱 Mobile Widgets: Quick access widgets for mobile devices
- 🎬 Video Podcasts: Generate video content with AI avatars
- v0.1.0: Initial release with core features
- v0.2.0: Background audio playback, AI cover art generation, smart script chunking, centralized API management, enhanced UI/UX
- Check API Keys: Ensure your Gemini API key is valid and has TTS access
- Network Connection: Verify you have a stable internet connection
- Quota Limits: Check if you've exceeded your API quota
- Clear Cache: Go to Settings → Clear Cache
- Reinstall App: Uninstall and reinstall the application
- Check Permissions: Ensure all required permissions are granted
- Restart App: Close and reopen the application
- Clear Assets: The app will rebuild asset cache automatically
- Check the FAQ section
- Search existing issues
- Create a new issue with detailed information
Join our growing community of podcast creators and developers:
- Discord: Join our Discord server (Coming Soon)
- Reddit: r/EchoGenAI (Coming Soon)
- Twitter: @EchoGenAI (Coming Soon)
- GitHub Issues: Report bugs or request features
- Discussions: Join community discussions
- Sponsor: Support development