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

# Query model parameters

> Use the parameters API to confirm model capabilities, request fields, and billing dimensions.

Models with the same name do not guarantee the same parameters across all routes. Query the target model's parameters with the current API Key before integration to avoid relying on outdated examples.

![APIONE model details and capability information](https://mintcdn.com/apione/pAFvFGkbmcRZirTZ/images/ui/model-detail.png?fit=max\&auto=format\&n=pAFvFGkbmcRZirTZ\&q=85\&s=35c168af320d711f179c4acd0bfee9f2)

The model details page is used to confirm context, maximum output, model capabilities, prices, and recent service performance.

## Before running examples

Install Python 3, and install dependencies in the same Python environment where you will run the script:

```bash theme={null}
python -m pip install requests
```

If your system uses `python3`, use `python3` for both installation and execution. On Windows you can also use `py -m pip install requests` and `py example.py`. When using a virtual environment, activate it first.

Create a key on the [API Keys page](https://apione.ai/en/app/api-keys), copy the exact model ID from the [list of models available to the current key](https://apione.ai/docs/en/models/catalog.md), then set variables in the terminal where you will run the script. The uppercase values below are placeholders that need to be replaced.

> [tab] macOS / Linux
>
> ```bash theme={null}
> export APIONE_API_KEY="YOUR_APIONE_API_KEY"
> export APIONE_MODEL="YOUR_MODEL_ID"
> ```

> [tab] Windows PowerShell
>
> ```powershell theme={null}
> $env:APIONE_API_KEY = "YOUR_APIONE_API_KEY"
> $env:APIONE_MODEL = "YOUR_MODEL_ID"
> ```

Variables only take effect for the current terminal and child processes it launches. Run the following examples in the same terminal; IDEs, containers, or new terminals need separate configuration. Do not commit real keys to code repositories.

## Request

```http theme={null}
GET https://api.apione.ai/v1/models/{model}/params
Authorization: Bearer YOUR_APIONE_API_KEY
```

```bash theme={null}
curl -sS "https://api.apione.ai/v1/models/YOUR_MODEL_ID/params" \
  -H "Authorization: Bearer YOUR_APIONE_API_KEY"
```

`{model}` uses the exact ID returned by `/v1/models`, URL-encoded. If the model does not belong to the current key, the ID is misspelled, or there is no access permission, a 404 or model-unavailable error may be returned.

## Python example

```python theme={null}
import os
import urllib.parse
import requests

model = urllib.parse.quote(os.environ["APIONE_MODEL"], safe="")
response = requests.get(
    f"https://api.apione.ai/v1/models/{model}/params",
    headers={"Authorization": f"Bearer {os.environ['APIONE_API_KEY']}"},
    timeout=30,
)
print(response.status_code, {name: response.headers[name] for name in ("X-Request-ID", "X-Maxx-Trace-Id", "X-Maxx-Request-ID") if name in response.headers})
print(response.text)
response.raise_for_status()
```

## What to read

| Information | Purpose |
| - | - |
| Request fields | Determine whether `temperature`, tools, images, sizes, etc. are available |
| Field types and enums | Construct correct requests and generate form validation |
| Defaults and ranges | Avoid out-of-bounds parameters and invalid combinations |
| `billingMode` | Understand whether billing is by token, request, image, duration, or other mode |
| `chargeModes` | Read the billing mode names listed in the response; actual billing depends on the model and current group |

Response structure may vary by model type. Save a sanitized response as a project test fixture on first integration, but do not treat it as a permanent static fact.

## What to do when parameters are missing

1. Confirm the model ID comes from the same key's `/v1/models`.
2. Check whether the wrong protocol or model type was selected.
3. Use a minimal request removing all optional parameters.
4. After the minimal request succeeds, add fields one by one.
5. If still uncertain, contact support with the request ID.

## Caching and updates

Applications can cache parameter responses short-term to reduce repeated queries, but should set an update interval. Re-read parameters after model upgrades, route switches, or group adjustments. Refresh proactively before going live and when `unsupported_parameter` appears.

## When parameter response is empty

When the interface returns HTTP 200 but `params` is `[]`, `request` is `{}`, or `billingMode` is empty, this only means the response did not declare the corresponding information. It does not mean the model is unsupported, parameters can be filled arbitrarily, or the call is free. The `usage`, `request`, `second`, and `image` entries in `chargeModes` are mode names listed in the response, not proof that the model bills all four ways simultaneously.

1. Check available protocols and prices in APIONE model details and the current key group.
2. When there are explicit model parameter instructions, use them to determine size, quality, reference image, mask, and other fields; do not copy enums from another model.
3. Without explicit parameter evidence, first verify the minimal request on this page, and do not submit optional fields or batch tasks yet.
4. Contact support to confirm parameters with the model ID, interface, request time, and actual request identifiers. Do not send the full key.

Next: [Model selection](https://apione.ai/docs/en/models/selection.md), [Model catalog](https://apione.ai/docs/en/models/catalog.md), [Image and video parameters](https://apione.ai/docs/en/api/media-parameters.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.