A powerful Flutter application that uses AI technology to enhance and upscale images with just one tap. Transform your low-resolution images into high-quality, crisp visuals using advanced AI algorithms.
Splash Screen | Home Screen | Main Screen |
---|---|---|
![]() |
![]() |
![]() |
Note: If the video doesn't play in your browser, you can download it directly from the assets folder.
- πΌοΈ One-Tap Enhancement: Upload and enhance images with a single tap
- π€ AI-Powered: Uses advanced AI algorithms for image upscaling
- π± Beautiful UI: Modern, intuitive interface with smooth animations
- πΎ Easy Download: Save enhanced images directly to your gallery
- π― 4x Scale: Upscale images up to 4x their original resolution
- π Real-time Processing: Track enhancement progress with loading animations
- πΈ Gallery Integration: Pick images directly from your device gallery
- π¨ Interactive Demo: Drag-to-reveal image quality comparison on home screen
- Flutter: Cross-platform mobile development framework
- Provider: State management solution
- HTTP/Dio: API communication and file downloading
- Image Gallery Saver: Save images to device gallery
- Permission Handler: Manage device permissions
- Liquid Swipe: Smooth onboarding experience
- Lottie: Beautiful loading animations
- Image Picker: Gallery image selection
Before running this project, make sure you have:
- Flutter SDK (>=3.0.0)
- Dart SDK (>=3.0.0)
- Android Studio or VS Code
- A valid API key for the image enhancement service
git clone https://github.com/saqibcheema/ai-image-upscaler.git
cd ai-image-upscaler
flutter pub get
- Open
lib/Utils/utilities.dart
- Replace the API key with your own:
String _ApiKey = 'your_api_key_here';
flutter run
lib/
βββ Logic/
β βββ download_image_request.dart # Image download functionality
β βββ image_enhancer_provider.dart # Main app state management
βββ Pages/
β βββ home.dart # Home screen with demo
β βββ main_page.dart # Main enhancement interface
β βββ onboarding_screen.dart # App introduction
β βββ splash_screen.dart # Loading screen
βββ Utils/
β βββ utilities.dart # API configuration
βββ Widgets/
β βββ enhanced_image_widget.dart # Enhanced image display
β βββ image_picker_widget.dart # Image selection widget
β βββ original_image_widget.dart # Original image display
β βββ SnackBarWidget.dart # Notification messages
βββ main.dart # App entry point
The main state management class that handles:
- Image selection from gallery
- API communication for image enhancement
- Loading states and error handling
- Enhanced image URL management
Handles the image download process:
- Permission management for Android versions
- Temporary file creation and cleanup
- Gallery saving functionality
Features a unique drag-to-reveal demo that showcases the difference between original and enhanced images.
The app integrates with an AI image enhancement API:
// Base URL for the enhancement service
var baseUrl = 'https://techhk.aoscdn.com/api/tasks/visual/scale';
// API workflow:
// 1. POST image with scale parameter
// 2. Receive task ID
// 3. Poll for completion
// 4. Download enhanced image
The app requires the following permissions:
READ_EXTERNAL_STORAGE
(for Android < 13)WRITE_EXTERNAL_STORAGE
(for Android < 13)READ_MEDIA_IMAGES
(for Android >= 13)
These are automatically handled by the app based on the Android version.
- Color Scheme: Warm, earthy tones with professional aesthetics
- Typography: Custom 'Dareo' font family for headings
- Animations: Lottie animations for engaging user experience
- Responsive: Adapts to different screen sizes
- Material Design: Follows Flutter's material design principles
- Splash Screen: Welcome animation with app branding
- Onboarding: Introduction to app features
- Home Screen: Interactive demo with drag-to-reveal
- Main Interface: Image selection, enhancement, and download
- Gallery Integration: Seamless image saving
API Connection Error:
- Verify your API key is correct
- Check internet connection
- Ensure the API endpoint is accessible
Permission Denied:
- Enable storage permissions in device settings
- Restart the app after granting permissions
Image Not Saving:
- Check available storage space
- Verify gallery app is functioning
This project is licensed under the MIT License - see the LICENSE file for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
For support and questions:
- Create an issue in this repository
- Contact: [saqibyu961@gmail.com]
- Thanks to the Flutter team for the amazing framework
- AI enhancement API provider for the powerful image processing
- Lottie team for beautiful animations
- All open-source contributors whose packages made this app possible
Made with β€οΈ using Flutter
Transform your images with the power of AI - One tap, infinite possibilities!