# List models

> `GET /v1/models` returns the models your key can use, with their limits, controls and prices.

Source: https://www.lyber.ai/docs/api/models/ · Markdown: https://www.lyber.ai/docs/md/api/models.md

Python (`main.py`):

```python
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://lyber-paid-acceptance-gateway-production.up.railway.app/v1",
    api_key=os.environ["LYBER_API_KEY"],
)

for entry in client.models.list():
    print(entry.id, entry.model_extra["lyber"]["ready"])
```

curl (`request.sh`):

```bash
curl https://lyber-paid-acceptance-gateway-production.up.railway.app/v1/models \
  -H "Authorization: Bearer $LYBER_API_KEY"
```

## Response

```json
{
  "object": "list",
  "data": [{
    "id": "minimax-m3.1-flash-abliterated",
    "object": "model",
    "owned_by": "lyber",
    "context_length": 1048576,
    "supported_parameters": ["temperature", "top_p", "max_tokens", "stop", "stream_options",
                             "tools", "tool_choice", "reasoning_effort", "max_completion_tokens"],
    "billing": {
      "price_version": "…",
      "currency": "USDC",
      "input_micro_usdc_per_million_tokens": 200000,
      "output_micro_usdc_per_million_tokens": 800000,
      "reservation_preview_url": "/v1/credits/reservation-preview"
    },
    "lyber": {
      "ready": true,
      "precision": "NVFP4",
      "max_output_tokens": 32768,
      "max_input_bytes": 8388608,
      "max_concurrent": 1,
      "reasoning_effort_options": ["none", "low", "high", "max"]
    }
  }]
}
```

The example is shortened. `lyber` also carries the checkpoint's Hugging Face repository and revision.

## Fields

| Field | Description |
| --- | --- |
| `context_length` | Most tokens the model accepts in one request, input and output together. |
| `supported_parameters` | Request fields the model accepts. Anything else returns `400`. |
| `billing` | The price version billing uses, in micro-USDC per million tokens (1,000,000 = $1). |
| `lyber.ready` | Whether the model is serving right now. A listed model can still be busy; see [Limits](https://www.lyber.ai/docs/api/limits/). |
| `lyber.max_output_tokens` | The largest `max_tokens` the model accepts. |
| `lyber.max_input_bytes` | Size limit for `messages` and `tools` as JSON. |
| `lyber.reasoning_effort_options` | Accepted `reasoning_effort` values. |
| `lyber.thinking_token_budget_max` | DeepSeek only. The largest `thinking_token_budget`. |
