|
|
--- |
|
|
title: Image Generation & Editing |
|
|
emoji: ๐ผ๏ธ |
|
|
colorFrom: blue |
|
|
colorTo: blue |
|
|
sdk: docker |
|
|
header: mini |
|
|
app_port: 3000 |
|
|
pinned: false |
|
|
license: apache-2.0 |
|
|
short_description: Generate and Edit images with Gemini 2.0 |
|
|
--- |
|
|
|
|
|
|
|
|
# Image Creation & Editing with Next.js and Gemini 2.0 Flash |
|
|
|
|
|
This project demonstrates how to create and edit images using Google's Gemini 2.0 Flash AI model in a Next.js web application. It allows users to generate images from text prompts or edit existing images through natural language instructions, maintaining conversation context for iterative refinements. |
|
|
|
|
|
**How It Works:** |
|
|
|
|
|
1. **Create Images**: Generate images from text prompts using Gemini 2.0 Flash |
|
|
2. **Edit Images**: Upload an image and provide instructions to modify it |
|
|
3. **Conversation History**: Maintain context through a conversation with the AI for iterative refinements |
|
|
4. **Download Results**: Save your generated or edited images |
|
|
|
|
|
## Features |
|
|
|
|
|
- ๐จ Text-to-image generation with Gemini 2.0 Flash |
|
|
- ๐๏ธ Image editing through natural language instructions |
|
|
- ๐ฌ Conversation history for context-aware image refinements |
|
|
- ๐ฑ Responsive UI built with Next.js and shadcn/ui |
|
|
- ๐ Seamless workflow between creation and editing modes |
|
|
- โก Uses Gemini 2.0 Flash Javascript SDK |
|
|
|
|
|
## Getting Started |
|
|
|
|
|
### Local Development |
|
|
|
|
|
First, set up your environment variables: |
|
|
|
|
|
```bash |
|
|
cp .env.example .env |
|
|
``` |
|
|
|
|
|
Add your Google AI Studio API key to the `.env` file: |
|
|
|
|
|
``` |
|
|
GEMINI_API_KEY=your_google_api_key |
|
|
``` |
|
|
|
|
|
Then, install dependencies and run the development server: |
|
|
|
|
|
```bash |
|
|
npm install |
|
|
npm run dev |
|
|
``` |
|
|
|
|
|
Open [http://localhost:3000](http://localhost:3000) with your browser to see the application. |
|
|
|
|
|
### Docker Deployment |
|
|
|
|
|
1. Build the Docker image: |
|
|
|
|
|
```bash |
|
|
docker build -t nextjs-gemini-image-editing . |
|
|
``` |
|
|
|
|
|
2. Run the container with your Google API key: |
|
|
|
|
|
```bash |
|
|
docker run -p 3000:3000 -e GEMINI_API_KEY=your_google_api_key nextjs-gemini-image-editing |
|
|
``` |
|
|
|
|
|
Or using an environment file: |
|
|
|
|
|
```bash |
|
|
# Run container with env file |
|
|
docker run -p 3000:3000 --env-file .env nextjs-gemini-image-editing |
|
|
``` |
|
|
|
|
|
Open [http://localhost:3000](http://localhost:3000) with your browser to see the application. |
|
|
|
|
|
## Technologies Used |
|
|
|
|
|
- [Next.js](https://nextjs.org/) - React framework for the web application |
|
|
- [Google Gemini 2.0 Flash](https://deepmind.google/technologies/gemini/) - AI model for image generation and editing |
|
|
- [shadcn/ui](https://ui.shadcn.com/) - Re-usable components built using Radix UI and Tailwind CSS |
|
|
|
|
|
## License |
|
|
|
|
|
This project is licensed under the Apache License 2.0 - see the [LICENSE](./LICENSE) file for details. |