Skip to content

A Flutter-based AI Image Upscaler app that enhances and sharpens low-resolution images using advanced upscaling techniques. Includes a smooth UI, splash screen, and Lottie animations for an engaging user experience.

Notifications You must be signed in to change notification settings

saqibcheema/image-upscalar-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AI Image Upscaler πŸš€

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.

πŸ“± Screenshots

App Interface & Demo

Splash Screen Home Screen Main Screen
Splash Screen Home Screen Main Screen

App Demo Video

Note: If the video doesn't play in your browser, you can download it directly from the assets folder.

✨ Features

  • πŸ–ΌοΈ 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

πŸ› οΈ Technologies Used

  • 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

πŸ“‹ Prerequisites

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

πŸš€ Getting Started

1. Clone the Repository

git clone https://github.com/saqibcheema/ai-image-upscaler.git
cd ai-image-upscaler

2. Install Dependencies

flutter pub get

3. Configure API Key

  1. Open lib/Utils/utilities.dart
  2. Replace the API key with your own:
String _ApiKey = 'your_api_key_here';

4. Run the App

flutter run

πŸ“ Project Structure

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

πŸ”§ Key Components

ImagePickerProvider

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

DownloadEnhancedImage

Handles the image download process:

  • Permission management for Android versions
  • Temporary file creation and cleanup
  • Gallery saving functionality

Interactive Home Screen

Features a unique drag-to-reveal demo that showcases the difference between original and enhanced images.

🎯 API Integration

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

πŸ“± Permissions

The app requires the following permissions:

Android

  • 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.

🎨 Design Features

  • 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

πŸ”„ App Flow

  1. Splash Screen: Welcome animation with app branding
  2. Onboarding: Introduction to app features
  3. Home Screen: Interactive demo with drag-to-reveal
  4. Main Interface: Image selection, enhancement, and download
  5. Gallery Integration: Seamless image saving

πŸ› Troubleshooting

Common Issues

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

πŸ“„ License

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

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“ž Support

For support and questions:

πŸ™ Acknowledgments

  • 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!

About

A Flutter-based AI Image Upscaler app that enhances and sharpens low-resolution images using advanced upscaling techniques. Includes a smooth UI, splash screen, and Lottie animations for an engaging user experience.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published