MCPcopy Index your code
hub / github.com/Nutlope/roomGPT

github.com/Nutlope/roomGPT @main

repository ↗ · DeepWiki ↗ · + Follow
22 symbols 47 edges 19 files 0 documented · 0%
README

RoomGPT - redesign your room with AI

This is the previous and open source version of RoomGPT.io (a paid SaaS product). It's the very first version of roomGPT without the auth, payments, or additional features and it's simple to clone, deploy, and play around with.

Deploy with Vercel

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 Bytescale is used for image storage.

Running Locally

Cloning the repository the local machine.

git clone https://github.com/Nutlope/roomGPT

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 left corner, and click on "API Tokens".
  3. Here you can find your API token. Copy it.

Storing the API keys in .env

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

License

This repo is MIT licensed.

Extension points exported contracts — how you extend this code

DropDownProps (Interface)
(no doc)
components/DropDown.tsx
ToggleProps (Interface)
(no doc)
components/Toggle.tsx

Core symbols most depended-on inside this repo

classNames
called by 2
components/Toggle.tsx
classNames
called by 1
components/DropDown.tsx
forceDownload
called by 1
utils/downloadPhoto.ts
downloadPhoto
called by 1
utils/downloadPhoto.ts
appendNewToName
called by 1
utils/appendNewToName.ts
generatePhoto
called by 1
app/dream/page.tsx
DropDown
called by 0
components/DropDown.tsx
ResizablePanel
called by 0
components/ResizablePanel.tsx

Shape

Function 20
Interface 2

Languages

TypeScript100%

Modules by API surface

components/Toggle.tsx3 symbols
components/DropDown.tsx3 symbols
app/dream/page.tsx3 symbols
utils/downloadPhoto.ts2 symbols
components/Header.tsx2 symbols
utils/appendNewToName.ts1 symbols
components/SquigglyLines.tsx1 symbols
components/ResizablePanel.tsx1 symbols
components/LoadingDots.tsx1 symbols
components/Footer.tsx1 symbols
components/CompareSlider.tsx1 symbols
app/page.tsx1 symbols

Dependencies from manifests, versioned

@bytescale/upload-widget-react4.9.0 · 1×
@headlessui/react1.7.7 · 1×
@headlessui/tailwindcss0.1.2 · 1×
@heroicons/react2.0.16 · 1×
@tailwindcss/forms0.5.3 · 1×
@types/node18.11.3 · 1×
@types/react18.0.21 · 1×
@types/react-dom18.0.6 · 1×
@types/request-ip0.0.37 · 1×
@upstash/ratelimit0.3.8 · 1×
@upstash/redis1.19.1 · 1×
@vercel/analytics0.1.11 · 1×

For agents

$ claude mcp add roomGPT \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact