Reference

Developer docs

Wallpaper CDN is a GitHub repository that publishes a JSON index of categorized wallpapers. There is no API key, no rate-limited backend, and nothing to provision.

Endpoints

Prefer jsDelivr. It is cached at the edge and typically faster than raw GitHub. Both URLs return the same JSON.

GETimages.json

https://cdn.jsdelivr.net/gh/AMRITO-KUNDU/wallpapers-CDN@main/images.json

Cached at the edge. Use this in production apps.

GETGitHub raw

https://raw.githubusercontent.com/AMRITO-KUNDU/wallpapers-CDN/main/images.json

Direct from the repository. Useful as a fallback.

JSON shape

The index is an array of category objects. Each file includes a direct CDN URL and, when available, a WebP thumbnail.

FieldDescription
categoryFolder name used as the category
filesWallpapers in that folder
nameOriginal filename
urlFull-resolution image on jsDelivr
thumbnailOptional WebP preview
Example
[
  {
    "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"
      }
    ]
  }
]

Clients

Fetch the JSON, then render url as the wallpaper and thumbnail in grids.

JavaScript / Web
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
Flutter
const indexUrl =
  'https://cdn.jsdelivr.net/gh/AMRITO-KUNDU/wallpapers-CDN@main/images.json';

final response = await http.get(Uri.parse(indexUrl));
final catalog = jsonDecode(response.body) as List;

final group = catalog.first as Map<String, dynamic>;
final files = group['files'] as List;
React Native
const INDEX =
  "https://cdn.jsdelivr.net/gh/AMRITO-KUNDU/wallpapers-CDN@main/images.json";

const catalog = await fetch(INDEX).then((res) => res.json());

const urls = catalog.flatMap((group) =>
  group.files.map((file) => file.url)
);

Adding wallpapers

  1. Create a folder under wallpapers/, or use an existing one.
  2. Drop JPG, JPEG, PNG, or WebP files into it.
  3. Commit and push. The Action rewrites images.json.

No manual editing of the index is required. Apps that already fetch the JSON pick up new files automatically.

View the GitHub Action

Supported formats

  • JPG / JPEG
  • PNG
  • WebP