Skip to content
/ aiim Public

AI Image Manager is a web application that allows users to generate images in queue, view and filter them later. It features a tinder-like UI for categorizing images and utilizes Socket.IO for real-time updates. It's built with Vue 3, Nuxt 3, NestJs and PrismaORM, using MongoDB and Redis for data storage and Stable Diffusion to generate the images.

Notifications You must be signed in to change notification settings

brdebr/aiim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Artificial Art Manager

The purpose of this application is to help users generate images pushing request to a queue, view and filter the generated images, and later categorize them with a tinder-like UI.

The frontend is built using Vue 3, Nuxt 3, Vuetify 3 and Socket.IO.
And the backend is built using NestJs, Prisma ORM, MongoDB, and Redis.
The E2E test are written using Playwright.

The images are generated using the Stable Diffusion model through the AUTOMATIC1111 webui using the handy --api argument.

📋 Features

  • Queue image generation using Stable Diffusion
  • View and filter generated images
  • Categorize images with a tinder-like UI
  • Real-time updates and push notifications using Socket.IO
  • Start and stop the AUTOMATIC1111 webui docker container through the UI

📷 Screenshot

Generate page screenshot

💻 Tech Stack

📝 Usage

You can start the application by running docker-compose up in the root directory.

The UI will be available at http://localhost:3000, and the backend API will be available at http://localhost:3005.

You may need to configure the corresponding environment variables in the .env files in the root, frontend and backend directories.

  • In the /generate/ page you can send image generation requests to the queue and manage the Stable Diffusion docker service. After the queue is empty the application will send a notification.

Generate page screenshot

  • In the /gallery/ page you can view and filter the generated images.

Gallery page screenshot

  • In the /play/ page you can categorize the images with a tinder-like UI.

Play page screenshot

  • In the /votes/ page you can see the images that have been categorized, filtered by vote type (like, dislike, favorite, etc) and with the possibility to add more filters.

Votes page screenshot

🛠️ Development

  1. Install Docker and Portainer, then clone this repository
  2. Build and run your AUTOMATIC1111 webui docker container here is the one I'm using, and make sure it's using the --api argument
  3. In a separate terminal, navigate to the frontend directory and run npm install to install dependencies
  4. Start the frontend server by running npm run dev
  5. In another separate terminal, navigate to the backend directory and run npm install to install dependencies
  6. Start the backend server by running npm run start:dev

Disclaimer: This is a work in progress, so there are still a lot of things to be done.
Also this is just a personal project for fun, so don't use it in production or expect quick bug fixes 🙂

About

AI Image Manager is a web application that allows users to generate images in queue, view and filter them later. It features a tinder-like UI for categorizing images and utilizes Socket.IO for real-time updates. It's built with Vue 3, Nuxt 3, NestJs and PrismaORM, using MongoDB and Redis for data storage and Stable Diffusion to generate the images.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published