> ## Documentation Index
> Fetch the complete documentation index at: https://docs.perceptron.inc/llms.txt
> Use this file to discover all available pages before exploring further.

# Models overview

> Choose a model and discover its API capabilities.

Use **Perceptron Mk1.5** for new integrations that need audio understanding, video soundtracks, configurable reasoning, tool calling, visual grounding across multiple assets, or native video tracking.

| Model              | Inputs                     | Function calling | Model guide                                                   |
| ------------------ | -------------------------- | ---------------- | ------------------------------------------------------------- |
| `perceptron-mk1.5` | Text, images, video, audio | Yes              | [Perceptron Mk1.5](/perceptron-mk1.5/models/perceptron-mk1.5) |
| `perceptron-mk1`   | Text, images, video        | No               | [Perceptron Mk1](/perceptron-mk1/models/perceptron-mk1)       |

For older Isaac integrations, use the version selector to open the corresponding documentation. Model availability can change; query the API for the current catalog and per-model limits:

<CodeGroup>
  ```python Python theme={null}
  from perceptron import Client

  client = Client(provider="perceptron")
  models = client.models.list(extended=True)
  for model in models:
      print(model.id, model.modalities, model.capabilities)

  model = client.models.retrieve("perceptron-mk1.5", extended=True)
  print("Tool calling:", model.supports("tool_calling"))
  print("Context limit:", model.max_context_tokens)
  print("Output limit:", model.max_output_tokens)
  ```

  ```bash curl theme={null}
  curl 'https://api.perceptron.inc/v1/models?extended=true' \
    -H "Authorization: Bearer $PERCEPTRON_API_KEY"
  ```
</CodeGroup>

The Python example uses `perceptron>=0.4.0` and reads `PERCEPTRON_API_KEY` from the environment; see the [quickstart](/perceptron-mk1.5/index). `extended=True` includes capabilities, modalities, and token limits. Without it, the SDK returns basic model metadata.

Inspect each model's `capabilities` before sending optional features such as `tool_calling`. Treat capability names as an extensible list so newly added capabilities do not break your client; the SDK preserves new capability names.
