{"id":13490500,"url":"https://github.com/Nutlope/restorePhotos","last_synced_at":"2025-03-28T06:31:25.504Z","repository":{"id":65226047,"uuid":"586449743","full_name":"Nutlope/restorePhotos","owner":"Nutlope","description":"Restoring old and blurry face photos with AI.","archived":false,"fork":false,"pushed_at":"2024-06-20T01:37:57.000Z","size":7739,"stargazers_count":4050,"open_issues_count":17,"forks_count":646,"subscribers_count":31,"default_branch":"main","last_synced_at":"2025-03-27T02:01:55.538Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.restorephotos.io/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Nutlope.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-08T07:05:30.000Z","updated_at":"2025-03-26T10:18:44.000Z","dependencies_parsed_at":"2023-01-15T16:45:49.699Z","dependency_job_id":"54f56ca8-c416-4fe2-ad43-622a26d25fd5","html_url":"https://github.com/Nutlope/restorePhotos","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nutlope%2FrestorePhotos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nutlope%2FrestorePhotos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nutlope%2FrestorePhotos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nutlope%2FrestorePhotos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nutlope","download_url":"https://codeload.github.com/Nutlope/restorePhotos/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245984491,"owners_count":20704791,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T19:00:47.627Z","updated_at":"2025-03-28T06:31:25.481Z","avatar_url":"https://github.com/Nutlope.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","Community projects (Inspiration)","AI"],"sub_categories":[],"readme":"# [RestorePhotos.io](https://restorephotos.io/)\n\nThis project restores old face photos using AI. Watch the [4 minute explainer video](https://twitter.com/nutlope/status/1614794731396931585) to see how I built this or see the [15 second demo](https://twitter.com/nutlope/status/1612488923716136962).\n\n[![Face Photo Restorer](./public/screenshot.png)](https://restorephotos.io/)\n\n## How it works\n\nIt uses an ML model from the Applied Research Center called [GFPGAN](https://github.com/TencentARC/GFPGAN) on [Replicate](https://replicate.com/) 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.\n\n## Running Locally\n\nNote: I just added auth so these steps are not complete as of now. You can git clone from [this specific commit](https://github.com/Nutlope/restorePhotos/tree/1c5c8ac4f52a08f68a3091d3b21be8a65aef71f2).\n\n### Cloning the repository the local machine.\n\n```bash\ngit clone\n```\n\n### Creating a account on Replicate to get an API key.\n\n1. Go to [Replicate](https://replicate.com/) to make an account.\n2. Click on your profile picture in the top right corner, and click on \"Dashboard\".\n3. Click on \"Account\" in the navbar. And, here you can find your API token, copy it.\n\n### Storing API key in .env file.\n\nCreate a file in root directory of project with env. And store your API key in it, as shown in the .example.env file.\n\nIf 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.\n\n### Installing the dependencies.\n\n```bash\nnpm install\n```\n\n### Running the application.\n\nThen, run the application in the command line and it will be available at `http://localhost:3000`.\n\n```bash\nnpm run dev\n```\n\n## One-Click Deploy\n\nDeploy the example using [Vercel](https://vercel.com?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=vercel-examples):\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/Nutlope/restorePhotos\u0026env=REPLICATE_API_KEY\u0026project-name=face-photo-restorer\u0026repo-name=restore-photos)\n\n## Powered by\n\nThis example is powered by the following services:\n\n- [Replicate](https://replicate.com) (AI API)\n- [Bytescale](https://www.bytescale.com/) (storage + image processing API)\n- [Vercel](https://vercel.com) (hosting, serverless functions, analytics)\n- [Auth.js](https://authjs.dev/) + [Neon](https://neon.tech/) (auth + DB)\n- [Upstash](https://upstash.com/) Redis (rate limiting)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNutlope%2FrestorePhotos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FNutlope%2FrestorePhotos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNutlope%2FrestorePhotos/lists"}