A fully functional AI image generation app built with React (Vite) and Tailwind CSS, using state-based routing and no external router library. Users can generate images from prompts using the Pollinations AI API, apply advanced settings, download generated images, and view download history — all using custom state management with useState, useEffect, useContext,useMemo, and Custom Hooks.
🚀 Live Preview (Demo)
- Manual routing using a
routestate (no React Router). - Pages:
- Create Image
- Downloaded Images
- Input prompt via text box.
- Press
Enteror click "Generate" to fetch images from Pollinations AI API. - Shows 9 AI-generated images per prompt.
- Select image Model (fetched dynamically from API).
- Choose Image Size (Height / Width) manually or via Ratio Presets (1:1, 16:9, etc.).
- Random Seed used to generate unique images every time.
- Lazy loading with error fallback (
"Unable to Load"message). - Fetch timeout handling for long API delays.
- Real-time feedback: loading indicators, error states, and retry support.
- Each image has a Download button.
- Image gets saved to user's device and also recorded in Download History.
- Displays list of all unique images user has downloaded.
- Even if downloaded multiple times, appears once in history.
- User can select individually picture to see with perfect view.
- User can generate image without Water Mark
- Toggle button Help to switch nologo or logo mood in the advance settings section.
| Tech | Purpose |
|---|---|
| React + Vite | Frontend Framework & Bundler |
| Tailwind CSS | Styling & Responsive Design |
| JavaScript (ES6) | Application Logic |
| REST API | Image Generation (Pollinations) |
| React lightbox | For View Image Perfectly and Largely |
| Custom Hooks | Kepp All Business Logic clean and separated |
Make sure you have Node.js installed on your machine.
git clone https://github.com/Mr-Rafiqul-Islam/mr-rafiqulthedev-img-generator-ai-studio.git
cd mr-rafiqulthedev-img-generator-ai-studio
npm install
npm run dev
The project will start at: http://localhost:5173
