CoolFace
Apppublic

OyZa/image-generation-editing

sourceHugging Faceapache-2.0updated 2y agoView on Hugging Face
0likes
App README

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. 1.Create Images: Generate images from text prompts using Gemini 2.0 Flash
  2. 2.Edit Images: Upload an image and provide instructions to modify it
  3. 3.Conversation History: Maintain context through a conversation with the AI for iterative refinements
  4. 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 with your browser to see the application.

Docker Deployment

  1. 1.Build the Docker image:
bash
docker build -t nextjs-gemini-image-editing .
  1. 1.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 with your browser to see the application.

Technologies Used

  • โ€”Next.js - React framework for the web application
  • โ€”Google Gemini 2.0 Flash - AI model for image generation and editing
  • โ€”shadcn/ui - Re-usable components built using Radix UI and Tailwind CSS

License

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