GET /v1/infer/models/{model}
One model from the list, by ID. IDs may contain a slash (`b3os/qwen3.5-9b`); send it unencoded.

Authentication

Bearer Token (b3os_sk_ API key or b3os_pat_ token) API Key (cookie: __Host-b3os_session)

Path Parameters

model string required path
The model ID.
Example: "kokoro-82m"

Responses

200 The model.
application/json
id string REQUIRED
object string REQUIRED
Enum: model
created integer REQUIRED
owned_by string REQUIRED
b3os object REQUIRED
B3OS extension with what the model supports and your limits on it.
kind string REQUIRED
Enum: chat, embedding, speech
context_length integer | null REQUIRED
quantization string | null REQUIRED
tools boolean REQUIRED
json_schema boolean REQUIRED
image_input boolean REQUIRED
max_request_bytes integer REQUIRED
limits object REQUIRED
tpm integer | null REQUIRED
Tokens per minute for your organization.
rpm integer | null REQUIRED
401 Missing or invalid credentials (`unauthorized`).
403 The key lacks `infer:run` or `infer:read` (`forbidden`), or the egress guard refused an image URL (`egress_denied`).
404 The model is not served on this node (`model_not_available`).
429 A limit applies (`rate_limited` for requests, tokens or remote image bytes per minute, `concurrency_limited` for requests in flight for the organization, `quota_exceeded`; `credits_exhausted` arrives as 402).
500 Something failed inside B3OS (`internal`).
curl -X GET 'https://beta-api.b3os.org/v1/infer/models/kokoro-82m' \  -H 'Authorization: Bearer YOUR_API_TOKEN'
const response = await fetch('https://beta-api.b3os.org/v1/infer/models/kokoro-82m', {  method: 'GET',  headers: {      "Authorization": "Bearer YOUR_API_TOKEN"  }});const data = await response.json();console.log(data);
import requestsheaders = {    'Authorization': 'Bearer YOUR_API_TOKEN'}response = requests.get('https://beta-api.b3os.org/v1/infer/models/kokoro-82m', headers=headers)print(response.json())
200 Response
{  "id": "kokoro-82m",  "object": "model",  "created": 0,  "owned_by": "b3os",  "b3os": {    "kind": "speech",    "context_length": null,    "quantization": null,    "tools": false,    "json_schema": false,    "image_input": false,    "max_request_bytes": 65536,    "limits": {      "tpm": null,      "rpm": 300    }  }}
Ask a question... ⌘I