Developers
PixelHue Mirror exposes its entire catalog programmatically. The API is read-only, GET-only, and requires no authentication or API key. The machine-readable contract lives at /openapi.json (OpenAPI 3.1); agent-oriented instructions live at /llms.txt; a machine-readable endpoint index is at /api.
Quickstart
Get the full catalog as JSON — groups → products → files, with version, size, and date for each file:
curl -s https://mirror.pixelhue.wiki/api/catalog.json
Prefer Markdown? The homepage negotiates content:
curl -s -H 'Accept: text/markdown' https://mirror.pixelhue.wiki/
Authentication
None. There are no API keys, tokens, or accounts — every endpoint is public. Please identify your client with a descriptive User-Agent so we can distinguish well-behaved integrations from abuse.
Endpoints
GET /api/catalog.json — full catalog as JSON. Build a download URL from any entry: take the last path segment of its url, URL-encode it, and append it to the origin, e.g. https://mirror.pixelhue.wiki/PixelFlow_u5_V2.2.0.zip. Documents (PDF/TXT) are served inline; binaries download as attachments.
GET /api/changes.json — files that changed upstream recently, sorted by lastChangedAt descending. Poll this to detect new firmware, software, and document releases. Both JSON endpoints return an ETag and honor If-None-Match with 304.
GET /sitemap.xml — every file URL, including superseded versions. GET /openapi.json — this API's OpenAPI 3.1 specification with typed schemas for every operation.
Versioning & deprecation
The current API version is 1, returned in the API-Version response header on every API response; you may send an API-Version request header to pin it. Breaking changes ship only under a new major version. When an operation is deprecated, its responses carry Deprecation (RFC 9745) and Sunset (RFC 8594) headers at least 90 days before removal, and the OpenAPI spec marks the operation deprecated.
Rate limits
API responses carry informational RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset headers describing the fair-use policy (60 requests per minute per client). The limit is not currently enforced; if it ever is, exceeded requests receive 429 with a Retry-After header so agents can back off automatically. Cache responses (the catalog updates roughly daily) and use ETags instead of polling aggressively.
Errors
Errors are structured. Send Accept: application/json to receive {"error": {"code", "message", "hint"}} — the hint field always points at a recovery path. With Accept: text/markdown, errors come back as Markdown with links to the catalog and sitemap.
Browser agents (WebMCP)
This site implements WebMCP: pages are cross-origin isolated and register structured tools on navigator.modelContext, so browser-based agents can act without scraping the DOM. Four read-only tools are available on the catalog page:
search_catalog({query, category?}) — full-text search over models, file kinds, and titles; returns matching files with absolute download URLs and mirrors the query into the on-page search box. list_products() — every product group and model with file counts. get_download_url({filename}) — resolve one file by name to its metadata and download URL. get_recent_changes() — the latest upstream releases, newest first. Pages also load the WebMCP bridge at /.webmcp/bridge.js. To try the tools locally, use Chrome 146+ with chrome://flags/#enable-webmcp-testing and the Model Context Tool Inspector extension.
Fair use
There is no rate limit beyond standard CDN abuse protection. Don't scrape file binaries in bulk — the files are mirrored, not hosted, so heavy binary traffic hits the upstream origins.
← Back to PixelHue Mirror