GET /v1/models returns the live model catalog: ids, pricing, context
windows, capabilities, and readiness. The endpoint reference is below;
Models and readiness is the guide to choosing a model
from it.
/v1/modelsList Models
| Field | Type | Required |
|---|---|---|
data | ModelInfo[] | Yes |
has_more | boolean | No |
object | string | No |
Current as of 2026-07-04; the live spec is at api.ambient.xyz/openapi.json.
No auth required#
The model catalog is the one part of the API that works without an API key:
curl https://api.ambient.xyz/v1/modelsTwo practical consequences:
- You can call it from anywhere (scripts, dashboards, even browser JavaScript) without exposing a credential.
- A successful call proves nothing about your key. The only way to validate a key is a real completion; the quickstart makes one.
Reading a model entry#
data is an array of model objects. The fields that drive integration
decisions:
| Field | What it tells you |
|---|---|
id | The exact string to pass as model in requests, a case-sensitive path like z-ai/glm-5.2 |
is_ready | Whether miners are serving this model right now. Requests to a non-ready model return 429 "No workers available" |
context_length / max_output_length | Token limits for input window and generation |
pricing.input / pricing.output | USD per million tokens, as floats; the source of truth for cost |
supported_features | Capability switches: tools, json_mode, structured_outputs, reasoning, logprobs |
supported_sampling_parameters | Which sampling knobs the model accepts |
quantization | Serving precision (e.g. fp8, int4), when published |
is_ready varies with miner capacity as workers come and go, so check it at
call time rather than caching it. A one-liner to list what will actually
answer:
curl -s https://api.ambient.xyz/v1/models \
| jq -r '.data[] | select(.is_ready) | .id'Single model lookup#
The same object is available per model id:
/v1/models/{model_id}Get Model
| Parameter | In | Type | Required |
|---|---|---|---|
model_id | path | string | Yes |
| Field | Type | Required |
|---|---|---|
context_length | integer | Yes |
created | integer | Yes |
id | string | Yes |
input_modalities | string[] | Yes |
max_output_length | integer | Yes |
name | string | Yes |
output_modalities | string[] | Yes |
pricing | ModelPricing | Yes |
supported_features | string[] | Yes |
supported_sampling_parameters | string[] | Yes |
datacenters | DatacenterInfo[] | null | No |
description | string | null | No |
hugging_face_id | string | null | No |
is_ready | boolean | null | No |
object | string | No |
openrouter | OpenRouterInfo | null | No |
owned_by | string | No |
quantization | string | null | No |
Current as of 2026-07-04; the live spec is at api.ambient.xyz/openapi.json.
curl https://api.ambient.xyz/v1/models/z-ai/glm-5.2Model ids contain slashes and are used as literal path segments; the ids the catalog publishes today do not need URL encoding.