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

github.com/Nutlope/restorePhotos @main

repository ↗ · DeepWiki ↗ · Ask this repo → · + Follow
32 symbols 68 edges 22 files 0 documented · 0% updated 2y ago★ 4,41313 open issues
README

RestorePhotos.io

This project restores old face photos using AI. Watch the 4 minute explainer video to see how I built this or see the 15 second demo.

Face Photo Restorer

How it works

It uses an ML model from the Applied Research Center called GFPGAN on Replicate to restore face photos. This application gives you the ability to upload any photo, which will send it through this ML Model using a Next.js API route, and return your restored photo.

Running Locally

Note: I just added auth so these steps are not complete as of now. You can git clone from this specific commit.

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

Powered by

This example is powered by the following services:

Extension points exported contracts — how you extend this code

ToggleProps (Interface)
(no doc)
components/Toggle.tsx
ExtendedNextApiRequest (Interface)
(no doc)
pages/api/generate.ts

Core symbols most depended-on inside this repo

classNames
called by 2
components/Toggle.tsx
forceDownload
called by 1
utils/downloadPhoto.ts
downloadPhoto
called by 1
utils/downloadPhoto.ts
getModel
called by 1
utils/nsfwCheck.ts
predict
called by 1
utils/nsfwCheck.ts
predictImg
called by 1
utils/nsfwCheck.ts
appendNewToName
called by 1
utils/appendNewToName.ts
generatePhoto
called by 1
pages/restore.tsx

Shape

Function 20
Method 6
Class 4
Interface 2

Languages

TypeScript100%

Modules by API surface

utils/nsfwCheck.ts7 symbols
pages/restore.tsx4 symbols
pages/_document.tsx3 symbols
components/Toggle.tsx3 symbols
utils/downloadPhoto.ts2 symbols
pages/api/generate.ts2 symbols
utils/appendNewToName.ts1 symbols
pages/index.tsx1 symbols
pages/api/remaining.ts1 symbols
pages/_app.tsx1 symbols
next.config.js1 symbols
components/Testimonials.tsx1 symbols

Dependencies from manifests, versioned

@bytescale/upload-widget-react4.9.0 · 1×
@headlessui/react1.7.7 · 1×
@next-auth/prisma-adapter1.0.5 · 1×
@prisma/client4.11.0 · 1×
@tensorflow/tfjs3.21.0 · 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.10 · 1×
@upstash/redis1.19.1 · 1×
autoprefixer10.4.12 · 1×

For agents

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

⬇ download graph artifact