๐๏ธ EchoGen.ai

**Transform any content into engaging AI-powered podcasts**
[](https://github.com/Mr-Dark-debug/EchoGen.ai/actions/workflows/release.yml)
[](https://flutter.dev)
[](https://dart.dev)
[](LICENSE)
[](https://github.com/Mr-Dark-debug/EchoGen.ai/stargazers)
[](https://github.com/Mr-Dark-debug/EchoGen.ai/releases/latest)
[๐ Features](#-features) โข [๐ฑ Screenshots](#-screenshots) โข [๐ ๏ธ Installation](#๏ธ-installation) โข [๐ง Configuration](#-configuration) โข [๐ Landing Page](#-landing-page) โข [๐ค Contributing](#-contributing)
๐ About
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.
๐ Why EchoGen.ai v0.2.0?
- ๐ต 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
โจ Features
๐ New in v0.2.0
- ๐ต 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
๐ Content Scraping
- 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
๐ค AI-Powered Script Generation
- 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
๐๏ธ Text-to-Speech Generation
- 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)
๐ผ๏ธ AI-Powered Cover Art Generation โจ NEW in v0.2.0
- 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
๐จ Enhanced Player Experience โจ NEW in v0.2.0
- 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
๐ Content Management
- 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
๐จ User Experience
- 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
๐ฑ Screenshots
๐ ๏ธ Installation
Prerequisites
- 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)
Quick Start
- Clone the repository
git clone https://github.com/Mr-Dark-debug/EchoGen.ai.git
cd EchoGen.ai
- Install dependencies
- Run the app
Building for Production
๐ค Automated Releases (Recommended)
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
๐จ Manual Release Builds
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/
๐ค Automated Releases
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
Download Latest 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
๐ง Configuration
API Keys Setup
EchoGen.ai requires API keys for various services. Configure them in the appโs settings:
Required APIs
- Google Gemini: For AI text generation and TTS
Optional APIs
- OpenAI: Alternative AI provider and TTS
- 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
- Firecrawl: Web scraping service
- HyperbrowserAI: Alternative web scraping
Environment Setup
- 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
Permissions
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
๐ Landing Page
EchoGen.ai features a beautiful landing page hosted on GitHub Pages that showcases the appโs features and provides download links.
๐ Live Demo
Visit the landing page: https://mr-dark-debug.github.io/EchoGen.ai/
๐ ๏ธ GitHub Pages Setup
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]/
Setting Up GitHub Pages
- 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
Landing Page Features
- 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
Customizing the Landing Page
- 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
to docs/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
๐ฏ Usage
Creating Your First Podcast
- 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
Pro Tips
- 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
๐๏ธ Architecture
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
Key Components
- 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
๐ค Contributing
We welcome contributions from the community! Hereโs how you can help:
Ways to Contribute
- ๐ 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
Development Setup
- 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
Code Style
- Follow Dart style guidelines
- Use meaningful variable and function names
- Add comments for complex logic
- Write tests for new features
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
- 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
๐ Roadmap
Upcoming Features
- ๐ 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
Version History
- 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
๐ง Troubleshooting
Common Issues
Audio Generation Fails
- 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
App Crashes on Startup
- Clear Cache: Go to Settings โ Clear Cache
- Reinstall App: Uninstall and reinstall the application
- Check Permissions: Ensure all required permissions are granted
SVG Icons Not Displaying
- Restart App: Close and reopen the application
- Clear Assets: The app will rebuild asset cache automatically
Getting Help
- Check the FAQ section
- Search existing issues
- Create a new issue with detailed information
Join our growing community of podcast creators and developers:
๐ Stats
๐ Support
Made with โค๏ธ by Mr-Dark-debug
โญ Star this repo if you find it helpful!