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.
Badgen
Lightweight SVG badge & visitor-counter generator. No build, no CDN, just a URL.
/badgen/badge
Generate a static label/value badge.
| Param | Default | Description |
|---|---|---|
ltext | haozhexie.com | Left label text (%20 for spaces) |
rtext | hzxie/badge-gen | Right value text |
color | 1283c3 | Hex color, 3 or 6 digits |
style | flat | flat · flat-square · plastic · for-the-badge |
/badgen/count
Per-project visitor counter that increments on each hit.
| Param | Default | Description |
|---|---|---|
name | required | Project key, e.g. hzxie/badgen |
ltext | visitors | Left label text |
color | 1283c3 | Hex color |
style | flat | Badge style |
/badgen/github
Live GitHub repository metrics, backed by a local cache.
| Param | Default | Description |
|---|---|---|
repo | required | owner/name |
metric | stars | stars · forks · issues · language |
label | auto | Override the left label |
color | 1283c3 | Hex color |
/badgen/hash
Deterministic token for a project key. text/plain response.
| Param | Description |
|---|---|
name | Project key to hash |
Gateway CAPTCHA · Mailgun
Academic paper & dataset distribution gateway. Serves catalog metadata and issues verified, e-mail-gated download links.
/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"]
}
]
/gateway/datasets
List downloadable datasets with metadata and preview.
/gateway/paper
Fetch a single paper by name (venue, abstract, tags, metadata).
| Param | Description |
|---|---|
name | Exact paper name |
/gateway/file
File detail: size, timestamp, related paper and CAPTCHA challenge config.
| Param | Description |
|---|---|
name | Exact file name |
/gateway/links
Verify a CAPTCHA token and return the download links — or e-mail them to the requester.
| Param | Description |
|---|---|
name | Target file name |
captcha | reCAPTCHA / Turnstile response token |
email | Recipient 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.
/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"
}
/github/update
Merge new statistics into the cache. Repos left out of the payload keep their values; an empty payload is refused.
| Param | Description |
|---|---|
X-Update-Token | Request header carrying the update token |
repos | JSON body: an object keyed by owner/repo |
{
"repos": {
"hzxie/grnet": { "stars": 340, "forks": 57, "issues": 2, "language": "Python" }
}
}