{"id":21457043,"url":"https://github.com/bayudc/waifuseum-api","last_synced_at":"2025-10-15T13:14:31.563Z","repository":{"id":36990153,"uuid":"499975798","full_name":"BayuDC/waifuseum-api","owner":"BayuDC","description":"🌸 Store anime picture collection in a Discord server","archived":false,"fork":false,"pushed_at":"2023-08-13T11:56:07.000Z","size":214,"stargazers_count":19,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-15T04:16:20.714Z","etag":null,"topics":["anime","discordjs","express","mongodb"],"latest_commit_sha":null,"homepage":"https://api.waifuseum.art","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BayuDC.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,"zenodo":null}},"created_at":"2022-06-05T01:46:10.000Z","updated_at":"2024-01-21T02:54:12.000Z","dependencies_parsed_at":"2025-07-15T01:31:05.887Z","dependency_job_id":"ad8c78d7-1248-4f44-aa64-077a730e1b30","html_url":"https://github.com/BayuDC/waifuseum-api","commit_stats":null,"previous_names":["bayudc/waifuseum-api"],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/BayuDC/waifuseum-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BayuDC%2Fwaifuseum-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BayuDC%2Fwaifuseum-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BayuDC%2Fwaifuseum-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BayuDC%2Fwaifuseum-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BayuDC","download_url":"https://codeload.github.com/BayuDC/waifuseum-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BayuDC%2Fwaifuseum-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279081800,"owners_count":26099285,"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","status":"online","status_checked_at":"2025-10-15T02:00:07.814Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["anime","discordjs","express","mongodb"],"created_at":"2024-11-23T06:00:39.740Z","updated_at":"2025-10-15T13:14:31.523Z","avatar_url":"https://github.com/BayuDC.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WaifuseumAPI\n\n![Banner](https://media.discordapp.net/attachments/946013429200723989/946013554472013884/banner.png)\n\n\u003e This project is slowly migrating to: https://github.com/BayuDC/waifuseum-next. Why? so many bad code.\n\nWaifuseum (Museum Waifu) is a simple REST API for storing and managing\nanime picture collection. This project use combinaton of ExpressJS,\nDiscord.js, and MongoDB. This uses Discord server as a place to store\npicture file and MongoDB to save the picture url. When we upload a file\nto discord server, we can right click the message and get the file url\nthen we can save the file url in a database, and yeah **free cloud\nstorage to store picture file**. So, I made this project to automate\nit. Btw, this project is inspired by\n[Waifu.pics](https://github.com/Waifu-pics/waifu-api) and\n[Nekos.life](https://github.com/Nekos-life/nekos-dot-life).\n\n#### 💡 How it works\n\n1. User upload the picture file to the http endpoint\n2. The program send the file to Discord server via discord bot\n3. The program save the url(obtained from discord bot) to database\n\nVery simple right?\n\n#### 📦 How are they stored\n\nThe logic is album as channel then picture as message.\n\n![Discord Server](https://media.discordapp.net/attachments/946013429200723989/1131976837522792569/image.png)\n\nJoin my discord server if you want to see it.\nHere is the link: https://discord.gg/8sSfCNCXHW.\n\n#### ⛔ Limitations\n\n~~The main drawback of this API is the file size limitation. Due to\nDiscord rules, This API can't save files with size more than 8 mb.\n_Server Boost_ is needed to increase the maximum file size limit.~~\nThe limit increased to 25mb now! It's more than enough to store 4K image files.\n\n## 🔖 API Docs\n\nBase URL: https://api.waifuseum.art\n\n| Path                    | Method | Body or Query                            |\n| ----------------------- | ------ | ---------------------------------------- |\n| `/`                     | GET    | -                                        |\n| `/pictures`             | GET    | `?full` `?filter` `?page` `?count`       |\n| `/pictures/mine`        | GET    | `?full` `?filter` `?page` `?count`       |\n| `/pictures/all`         | GET    | `?full` `?filter` `?page` `?count`       |\n| `/pictures/\u003cid\u003e`        | GET    | -                                        |\n| `/pictures`             | POST   | `{ file/fileUrl, album, source? }`       |\n| `/pictures/\u003cid\u003e`        | PUT    | `{ file/fileUrl?, album?, source? }`     |\n| `/pictures/\u003cid\u003e`        | DELETE | -                                        |\n| `/albums`               | GET    | `?full` `?filter` `?page` `?count`       |\n| `/albums/mine`          | GET    | `?full` `?filter` `?page` `?count`       |\n| `/albums/all`           | GET    | `?full` `?filter` `?page` `?count`       |\n| `/albums/\u003cid\u003e`          | GET    | -                                        |\n| `/albums/\u003cid\u003e/pictures` | GET    | `?full` `?page` `?count`                 |\n| `/albums`               | POST   | `{ name, slug?, private?, community? }`  |\n| `/albums/\u003cid\u003e`          | PUT    | `{ name?, slug?, private?, community? }` |\n| `/albums/\u003cid\u003e`          | DELETE | -                                        |\n| `/auth`                 | GET    | -                                        |\n| `/auth/me`              | GET    | -                                        |\n| `/auth/login`           | POST   | `{ email, password }`                    |\n| `/auth/logout`          | POST   | -                                        |\n| `/profile`              | GET    | -                                        |\n| `/profile/password`     | PATCH  | `{ oldPassword, newPassword }`           |\n| `/users`                | GET    | `?full`                                  |\n| `/users/\u003cid\u003e`           | GET    | -                                        |\n| `/users`                | POST   | `{ name, email, password, abilities }`   |\n| `/users/\u003cid\u003e`           | PUT    | `{ name?, email?, abilities? }`          |\n| `/users/\u003cid\u003e`           | DELETE | -                                        |\n\nSorry i am too lazy to make Swagger UI.\n\n## 🚧 Development\n\nRequirements: A Discord bot that has **Worker** role in Waifuseum Discord server\n\n```\n$ git clone https://github.com/BayuDC/waifuseum.git\n$ copy .env.example .env\n$ pnpm install\n$ pnpm dev\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbayudc%2Fwaifuseum-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbayudc%2Fwaifuseum-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbayudc%2Fwaifuseum-api/lists"}