Skip to content

Get Model Stats

GET/v1/models/{model_id}/stats

Overview

Public, like the model list; a key that is sent is checked.

Routing and provider details

Send the model ID URL-encoded, or as two path segments: GET /v1/models/openai/gpt-5.5/stats.

Published for language, speech and transcription models. The numbers combine customer requests with AudioLab's own probes, which send every offered model a tiny request every two hours. Uptime is the share of attempts that succeeded; failures the request itself caused (invalid or oversized input, a content filter, the caller cancelling) are not counted. Latency is the time to first token for language models, the time to first audio for speech, and the whole call for transcription. Throughput is output tokens per second after the first token, input characters per second of synthesis, or audio seconds transcribed per second, from customer requests only: a probe's output is too short to measure speed.

The window is split into intervals (2 hours for 24h, 6 hours for 7d, a day for 30d); the last interval is the one in progress. A model served by more than one provider has a summary and series for each. A model that several hosts serve (openai/gpt-oss-120b) combines every host's numbers and splits them by endpoint, under the routing tag the endpoints document uses; a host-pinned ID covers that host alone. Answers are refreshed every few minutes and may be cached for a minute.

Authorization

Authorizationstring · headerRequired

AudioLab API key sent as Bearer <token>. Authentication guide

Parameters

model_idpath · stringRequired

Exact model slug or route alias.

windowquery · string

Responses

200The model's stats for the window.
application/json
dataobjectRequired
Show nested fields
idstringRequired
taskstringRequired

Values: "llm""speech""transcription"

windowstringRequired

Values: "24h""7d""30d"

interval_secondsintegerRequired
latency_metricstringRequired

Values: "time_to_first_token""time_to_first_audio""total"

throughput_unitstringRequired

Values: "tokens_per_second""characters_per_second""audio_seconds_per_second"

summaryobjectRequired
Show nested fields
requestsintegerRequired

Customer attempts measured.

probesintegerRequired

Scheduled probes measured.

uptimenumber | nullRequired

Share of counted attempts that succeeded, 0 to 1.

latency_p50_msinteger | nullRequired
latency_p90_msinteger | nullRequired
throughput_p50number | nullRequired

Median throughput in throughput_unit.

seriesobject[]Required
Show nested fields

See the OpenAPI schema for this nested object.

See the OpenAPI schema for this nested object.

providersobject[]Required

The same numbers for each provider that served or was probed, most measured first; for a model that several hosts serve, for each endpoint.

Show nested fields
providerstringRequired

The provider's slug; for a model that several hosts serve, the endpoint's routing tag (deepinfra/turbo), as in the endpoints document.

endpointstring

The endpoint's host-pinned model ID; only for a model that several hosts serve.

summaryobjectRequired
Show nested fields

See the OpenAPI schema for this nested object.

seriesobject[]Required
Show nested fields

See the OpenAPI schema for this nested object.

400Request validation failed.
application/json
errorobjectRequired
Show nested fields
codestringRequired
messagestringRequired
paramstring | null
request_idstring | null
metadataobject

Typed detail for some refusals. budget_exceeded (402): limit (key_budget or workspace_budget) and budget with scope, period, limit, usage and resets_at. key_limit_exceeded (402): limit key_spend_limit. access_denied (403): policy (workspace or key), rule (models, providers or products), product, provider and model.

401Authentication is missing or invalid.
application/json
errorobjectRequired
Show nested fields
codestringRequired
messagestringRequired
paramstring | null
request_idstring | null
metadataobject

Typed detail for some refusals. budget_exceeded (402): limit (key_budget or workspace_budget) and budget with scope, period, limit, usage and resets_at. key_limit_exceeded (402): limit key_spend_limit. access_denied (403): policy (workspace or key), rule (models, providers or products), product, provider and model.

404Resource was not found.
application/json
errorobjectRequired
Show nested fields
codestringRequired
messagestringRequired
paramstring | null
request_idstring | null
metadataobject

Typed detail for some refusals. budget_exceeded (402): limit (key_budget or workspace_budget) and budget with scope, period, limit, usage and resets_at. key_limit_exceeded (402): limit key_spend_limit. access_denied (403): policy (workspace or key), rule (models, providers or products), product, provider and model.

429Rate limit exceeded.
application/json
errorobjectRequired
Show nested fields
codestringRequired
messagestringRequired
paramstring | null
request_idstring | null
metadataobject

Typed detail for some refusals. budget_exceeded (402): limit (key_budget or workspace_budget) and budget with scope, period, limit, usage and resets_at. key_limit_exceeded (402): limit key_spend_limit. access_denied (403): policy (workspace or key), rule (models, providers or products), product, provider and model.

500Internal server error.
application/json
errorobjectRequired
Show nested fields
codestringRequired
messagestringRequired
paramstring | null
request_idstring | null
metadataobject

Typed detail for some refusals. budget_exceeded (402): limit (key_budget or workspace_budget) and budget with scope, period, limit, usage and resets_at. key_limit_exceeded (402): limit key_spend_limit. access_denied (403): policy (workspace or key), rule (models, providers or products), product, provider and model.