api.infinitescript.com

Infinite API

A suite of self-hosted HTTP micro-services — badges, an academic dataset gateway and GitHub stats. Predictable, resource-oriented URLs. JSON in, JSON out.

PHP License

Badgen

Lightweight SVG badge & visitor-counter generator. No build, no CDN, just a URL.

GET /badgen/badge

Generate a static label/value badge.

ParamDefaultDescription
ltexthaozhexie.comLeft label text (%20 for spaces)
rtexthzxie/badge-genRight value text
color1283c3Hex color, 3 or 6 digits
styleflatflat · flat-square · plastic · for-the-badge
badge demo badge demo
GET /badgen/count

Per-project visitor counter that increments on each hit.

ParamDefaultDescription
namerequiredProject key, e.g. hzxie/badgen
ltextvisitorsLeft label text
color1283c3Hex color
styleflatBadge style
count demo
GET /badgen/github

Live GitHub repository metrics, backed by a local cache.

ParamDefaultDescription
reporequiredowner/name
metricstarsstars · forks · issues · language
labelautoOverride the left label
color1283c3Hex color
github stars
GET /badgen/hash

Deterministic token for a project key. text/plain response.

ParamDescription
nameProject key to hash

Gateway CAPTCHA · Mailgun

Academic paper & dataset distribution gateway. Serves catalog metadata and issues verified, e-mail-gated download links.

GET /gateway/papers

List published papers with cover image, abstract and tags.

[
  {
    "paper_name": "CityDreamer",
    "paper_img_url": "https://.../cover.jpg",
    "paper_desc": "Compositional generative model of unbounded 3D cities.",
    "paper_tags": ["CVPR 2024", "3D", "Generative"]
  }
]
GET /gateway/datasets

List downloadable datasets with metadata and preview.

GET /gateway/paper

Fetch a single paper by name (venue, abstract, tags, metadata).

ParamDescription
nameExact paper name
GET /gateway/file

File detail: size, timestamp, related paper and CAPTCHA challenge config.

ParamDescription
nameExact file name
GET POST /gateway/links

Verify a CAPTCHA token and return the download links — or e-mail them to the requester.

ParamDescription
nameTarget file name
captchareCAPTCHA / Turnstile response token
emailRecipient address (when the file requires e-mail)

GitHub

Cached GitHub statistics proxy. Survives rate limits; serves stars, forks, issues and language from a local store.

GET /github/repos/{owner}/{repo}

Repository statistics with GitHub's field names. Names are case-insensitive and returned in lower case.

{
  "name": "grnet",
  "full_name": "hzxie/grnet",
  "owner": {
    "login": "hzxie",
    "html_url": "https://github.com/hzxie"
  },
  "html_url": "https://github.com/hzxie/grnet",
  "stargazers_count": 340,
  "forks_count": 57,
  "open_issues_count": 2,
  "language": "Python",
  "cache_updated_at": "2026-07-04T22:08:25+00:00"
}
POST /github/update

Merge new statistics into the cache. Repos left out of the payload keep their values; an empty payload is refused.

ParamDescription
X-Update-TokenRequest header carrying the update token
reposJSON body: an object keyed by owner/repo
{
  "repos": {
    "hzxie/grnet": { "stars": 340, "forks": 57, "issues": 2, "language": "Python" }
  }
}