Skip to content
forked from Nutlope/roomGPT

Upload a photo of your room to generate your dream room with AI.

Notifications You must be signed in to change notification settings

shafiahmed/roomGPT

Repository files navigation

Todos v1

  • Replace model with controlnet and test it
  • Make UI look nicer, maybe dark theme
  • Redo landing page, remove testimonials and either make it dark mode or use another lp
  • Redo README
  • Fix issue with generations not working
  • Add two dropdowns for what kind of room it is + dropdown for themes
  • Use new redis db for rate limiting
  • Deploy, assign domain, fix meta tags, add OG image with one of the genrated pics
  • Tweet out a screenshot for hype
  • Let replicate team know to keep it on when I launch
  • Test it out locally + in prod to make sure it works properly
  • Add gradient for roomGPT
  • Refactor code in general (maybe use react-hook-form)
  • Test out other models and tweak params to obtain optimal results
    • Play around with the scale input - 16 seems good
  • /restore UI update: Make all dropdowns same length, make sure original image isn't stretches
    • Email upload.io about changing the background for that thing
    • Maybe switch to 768 generations
  • Mobile styles
  • Some visual indication that it takes ~25s
  • Test lighthouse scores to make sure I have good performance

Todos v1.5

  • Sharability features - look at Replicate's project for inspo
    • Add ability to generate shareable links
    • Also use dynamic OGs to make this work as well
  • Add a carousel of generated rooms using my image gallery

This project generates new variations of your room based on a photo.

Room GPT

How it works

It uses an ML model called ControlNet to generate variations of rooms. This application gives you the ability to upload a photo of any room, which will send it through this ML Model using a Next.js API route, and return your generated room. The ML Model is hosted on Replicate and Upload is used for image storage.

Running Locally

Cloning the repository the local machine.

git clone

Creating a account on Replicate to get an API key.

  1. Go to Replicate to make an account.
  2. Click on your profile picture in the top right corner, and click on "Dashboard".
  3. Click on "Account" in the navbar. And, here you can find your API token, copy it.

Storing API key in .env file.

Create a file in root directory of project with env. And store your API key in it, as shown in the .example.env file.

If you'd also like to do rate limiting, create an account on UpStash, create a Redis database, and populate the two environment variables in .env as well. If you don't want to do rate limiting, you don't need to make any changes.

Installing the dependencies.

npm install

Running the application.

Then, run the application in the command line and it will be available at http://localhost:3000.

npm run dev

One-Click Deploy

Deploy the example using Vercel:

Deploy with Vercel

About

Upload a photo of your room to generate your dream room with AI.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 93.5%
  • CSS 4.4%
  • JavaScript 1.8%
  • Shell 0.3%