https://cdn.jsdelivr.net/gh/AMRITO-KUNDU/wallpapers-CDN@main/images.json
Cached at the edge on jsDelivr. This is the URL your app should call.
Drop images into GitHub folders. A workflow publishes images.json to jsDelivr. Flutter, React Native, and the web fetch one file.
https://cdn.jsdelivr.net/gh/AMRITO-KUNDU/wallpapers-CDN@main/images.json
Cached at the edge on jsDelivr. This is the URL your app should call.
https://raw.githubusercontent.com/AMRITO-KUNDU/wallpapers-CDN/main/images.json
Same JSON, served directly from the repository.
Response
| Field | Description |
|---|---|
| category | Folder name used as the category |
| files | Wallpapers in that folder |
| name | Original filename |
| url | Full-resolution image on jsDelivr |
| thumbnail | Optional WebP preview |
[
{
"category": "Nature",
"files": [
{
"name": "nature-mountain-lake.jpg",
"url": "https://cdn.jsdelivr.net/gh/AMRITO-KUNDU/wallpapers-CDN@main/wallpapers/Nature/nature-mountain-lake.jpg",
"thumbnail": "https://cdn.jsdelivr.net/gh/AMRITO-KUNDU/wallpapers-CDN@main/thumbnails/Nature/nature-mountain-lake.webp"
}
]
}
]The index
The JSON can list thousands of files. This page shows one wallpaper per folder so you can see how categories are grouped.
Anime
1 file in JSON
Quotes
1 file in JSON
Space
2 files in JSON
Abstract
1 file in JSON
Nature
2 files in JSON
File counts come from the live JSON, not this page.
How it works
01
Each folder under wallpapers/ is a category. JPG, PNG, and WebP are supported.
02
An Action scans the folders and commits a fresh images.json. No manual editing.
03
Apps fetch one JSON file from jsDelivr and receive categories, filenames, and CDN URLs.
No backend
GitHub is the database. jsDelivr is the CDN. You do not run a server.
One JSON file
Categories, names, full-resolution URLs, and optional WebP thumbnails.
Edge cached
jsDelivr serves the index and every image from a public CDN.
Git as CMS
Adding a wallpaper is a commit. Removing one is a commit.
Clients
There is no SDK. Point any HTTP client at the index, then use url for the wallpaper and thumbnail in grids.
const INDEX =
"https://cdn.jsdelivr.net/gh/AMRITO-KUNDU/wallpapers-CDN@main/images.json";
const catalog = await fetch(INDEX).then((res) => res.json());
const nature = catalog.find(
(group) => group.category.toLowerCase() === "nature"
);
const wallpaper = nature.files[0];
// wallpaper.url is a direct CDN image