The website and the neurobrix CLI read the same public API. No sign-in or token is needed for anything below.
https://neurobrix.es/api
Programmatic clients should send a normal
User-Agentheader. The edge in front of the hub answers 403 to some default library agents.
curl -s "https://neurobrix.es/api/models?category=IMAGE&q=flux&limit=20"
| Parameter | Description |
|---|---|
category |
One of the ten categories: LLM, CODE, VLM, MULTIMODAL, TTS, STT, AUDIO_LLM, IMAGE, UPSCALER, VIDEO |
q |
Text search |
page |
Page number, from 1 |
limit |
Results per page: 1 to 100, default 12 (values above 100 are clamped to 100). The CLI asks for 100 |
visibility |
all also lists withdrawn (hidden) models |
Response:
{ "models": [ { "slug": "org/name", "category": "TTS", "license": "mit", "fileSize": "370004323",
"sha256": "...", "downloadCount": 0, "visibility": "PUBLIC", "...": "..." } ],
"total": 47, "page": 1, "limit": 12 }
fileSize is a string (it can exceed 32 bits). visibility is PUBLIC or DEPRECATED (still downloadable; visibilityReason says why). Hidden models are absent unless visibility=all.
An unknown category returns 400 with the valid list:
{ "error": "unknown category 'AUDIO'",
"validCategories": ["LLM","CODE","VLM","MULTIMODAL","TTS","STT","AUDIO_LLM","IMAGE","UPSCALER","VIDEO"] }
curl -s https://neurobrix.es/api/models/hexgrad/Kokoro-82M
Same fields as the list, plus gated, licenseName and licenseUrl. An unknown model returns 404 {"error":"Model not found"}.
curl -s https://neurobrix.es/api/models/hexgrad/Kokoro-82M/download
{ "url": "https://neurobrix.es/api/models/hexgrad/Kokoro-82M/file?grant=...",
"fileName": "Kokoro-82M.nbx",
"sha256": "4136f6a6a5c97e16f45a21d3e697b7080f1268b85521f747bd6519b33c77bee8" }
This is the only entrance to a model, and the request is what counts as a download. The url is valid for one hour. Verify the file after downloading: sha256sum Kokoro-82M.nbx must equal sha256.
Gated licences. For models under a licence that needs acceptance (gated: true), the call without acceptance returns 401 with "code": "LICENSE_LOGIN_REQUIRED". Accept on the model page when signed in, or send the header a terminal user has accepted with:
curl -s -H "X-License-Accepted: true" https://neurobrix.es/api/models/zai-org/CogVideoX-5b-I2V/download
A signed-in user who has not accepted gets 403 LICENSE_NOT_ACCEPTED. A hidden model gets 403 MODEL_HIDDEN. See Licences.
The url returned above serves the container with GET and HEAD:
curl -sI "$URL" # size, X-NBX-SHA256, Accept-Ranges: bytes
curl -s -r 0-9 -D - -o /dev/null "$URL" # 206 Partial Content, Content-Range: bytes 0-9/<size>
Range is supported, so downloads can be resumed. A range outside the file returns 416.X-NBX-SHA256 carries the checksum of the whole container. On a partial (206) answer X-NBX-SHA256-Scope: whole-container says so.403 with "code": "GRANT_INVALID". Request a new one from /download.503.curl -s "https://neurobrix.es/api/release/latest?channel=stable"
{ "version": "0.5.4", "channel": "stable", "pypiUrl": "...", "zipKey": "...", "sha256": "...",
"releaseNotesUrl": "...", "publishedAt": "..." }
channel is stable or beta. GET /api/release/download?channel=stable redirects to the release archive. The install page is neurobrix.es/download.
Next: Model Hub