Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📦 piccdn

A self-hosted image library with 7,000 hand-picked images across 7 categories.
No API key. No rate limits. Just raw GitHub CDN URLs that always work.


preview


girls

boys

anime

couples

banners

wallpapers

server-icons

what is this

A static image library hosted on GitHub. Every image is a plain .jpg file served directly over GitHub's CDN — no server, no auth, no downtime. Fetch a URL and you have an image. That's the entire thing.

Built for Discord bots, web projects, and anything that needs a reliable stream of images without dealing with API keys or rate limits. If GitHub is up, this is up.


categories

category images aspect description
girls 1,000 1:1 Female profile pictures
boys 1,000 1:1 Male profile pictures
anime 1,000 1:1 Anime-style profile pictures
couples 1,000 1:1 Couple profile pictures
banners 1,000 3:1+ Discord / Twitter banners
wallpapers 1,000 16:9 Desktop wallpapers
server-icons 1,000 1:1 Server / community icons

how to use

Images follow a simple, predictable URL pattern. Pick a category, pick any number from 0 to 999:

https://raw.githubusercontent.com/itsfizys/piccdn/main/{category}/{n}.jpg

Fetch index.json once to get the counts, then build any URL you need:

https://raw.githubusercontent.com/itsfizys/piccdn/main/index.json
async function random(category) {
  const { base_url, categories } = await fetch(
    "https://raw.githubusercontent.com/itsfizys/piccdn/main/index.json"
  ).then(r => r.json());

  const n = Math.floor(Math.random() * categories[category]);
  return `${base_url}/${category}/${n}.jpg`;
}

await random("anime");        // → .../anime/487.jpg
await random("server-icons"); // → .../server-icons/62.jpg
import httpx, random as rnd

index = httpx.get("https://raw.githubusercontent.com/itsfizys/piccdn/main/index.json").json()

def random(category: str) -> str:
    n = rnd.randint(0, index["categories"][category] - 1)
    return f"{index['base_url']}/{category}/{n}.jpg"

random("wallpapers")  # → .../wallpapers/213.jpg

npm package

An npm wrapper is also available if you prefer installing via a package manager.

npm install piccdn

npmjs.com/package/piccdn

import { random, url } from "piccdn";

await random("anime");          // → full URL to a random anime image
url("wallpapers", 42);          // → .../wallpapers/42.jpg

The package ships with TypeScript types and zero dependencies — it's a thin wrapper around the same raw CDN URLs above.


direct links

No code needed. Any of these URLs work as-is:

https://raw.githubusercontent.com/itsfizys/piccdn/main/girls/0.jpg
https://raw.githubusercontent.com/itsfizys/piccdn/main/boys/0.jpg
https://raw.githubusercontent.com/itsfizys/piccdn/main/anime/0.jpg
https://raw.githubusercontent.com/itsfizys/piccdn/main/couples/0.jpg
https://raw.githubusercontent.com/itsfizys/piccdn/main/banners/0.jpg
https://raw.githubusercontent.com/itsfizys/piccdn/main/wallpapers/0.jpg
https://raw.githubusercontent.com/itsfizys/piccdn/main/server-icons/0.jpg

Replace 0 with any number from 0 to 999.


credits

Built and maintained by itsfizys.
Portfolio at itsfizys.gg.


MIT © 2026 itsfizys  ·  index.json

About

7000 curated profile pictures, banners, wallpapers and server icons — served via GitHub Raw CDN

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors