Search

↑↓ to move↵ to openesc to closetop 6 documentation results

Book a demoTry TokenTriage

In development · Explore the product preview. Join the launch list or book a walkthrough.

Browse docs

Provider reference

All 95 built-in descriptors, with the wire each rides, its authentication scheme, its pricing namespace and the endpoints it serves.

ReferenceLast updated

On this page

Every descriptor compiled into the binary, in alphabetical order. The name in the first column is what you write as provider: on an upstream.

How to read the columns. Wire is the dialect the request is shaped by; it comes from the descriptor, so you do not set dialect: unless you are enabling cross-dialect translation. Auth decides which config fields the upstream needs, and the parenthetical names the header or parameter where the scheme alone does not tell you — see authentication schemes. Prices under is the catalog namespace every price lookup for this provider begins with; (region) marks the two whose keys are region-qualified, and oci carries the count of keys its descriptor can reach. Endpoints lists the endpoint kinds the descriptor declares, spelled the way the endpoint vocabulary spells them; anything else takes the passthrough path, forwarded and ledgered without a cost figure.

What the count is, and what stands behind it. TokenTriage ships 95 built-in provider descriptors: the set the binary compiles in. The verification standard is published beside that figure rather than folded into it. An end-to-end test drives a request through a descriptor against a mock shaped like that provider, asserting that the request is authenticated and forwarded, the response relayed byte for byte, usage extracted, and the price resolved under the right catalog prefix or left unpriced with a stated reason. The verification is against mocks, not against the providers’ live endpoints.

Byte-for-byte relay has one shipped exception, and it is worth knowing before you read the phrase elsewhere in this section: a streamed chat request to an openai-dialect upstream has stream_options.include_usage spliced into its outbound body, and the terminal usage frame that comes back is removed from your copy if you did not ask for it. That is how a streamed row carries provider-reported usage rather than an estimate. It applies to every upstream riding that driver, and when a stream misbehaves carries the switch that turns it off.

How far that reaches, and where it does not. The generator scores a provider-by-endpoint pair rather than a provider, and it publishes the pairs no test touches. The matrix declares 186 such cells: 99 carry a test asserting the ledger row’s own provider and endpoint stamps, 10 carry a weaker endpoint-only stamp, and 77 are printed as declared (no e2e gate), which the generator glosses as “Not a support claim, and printed rather than hidden.” So the Endpoints column is what the descriptor declares. Ten descriptors have no gated cell: anthropic, azure_text, black_forest_labs, fal_ai, fireworks_ai_embeddings, openai_compatible, runwayml, scx_ai, text_completion_openai, vertex_ai_embedding. PROVIDER_MATRIX.md §3 names the test behind every other cell, and TestMatrixParity regenerates that file and diffs it, so it cannot drift from the shipped catalog without a test going red.

ProviderWireAuthPrices underDeclared endpoints
ai21openaibearerai21/chat, models
aimlopenaibeareraiml/chat, models, images
anthropicanthropicheader (x-api-key)anthropic/chat, models
anyscaleopenaibeareranyscale/chat, models
assemblyaiassemblyaiheader (Authorization)assemblyai/audio_transcription, files
azure_aiopenaiheader (api-key)azure_ai/chat, embeddings
azure_openaiopenaiheader (api-key)azure/chat, embeddings, models
azure_textopenaiheader (api-key)azure_text/completions
basetenopenaibearerbaseten/chat, models
bedrockbedrockaws_sigv4 (service=bedrock)bedrock/chat
bedrock_conversebedrockaws_sigv4 (service=bedrock)bedrock_converse/chat
black_forest_labsbflheader (x-key)black_forest_labs/images, images_edits
cerebrasopenaibearercerebras/chat, models
cloudflareopenaibearercloudflare/chat, models
cohereopenaibearercohere/chat, models, embeddings
crusoeopenaibearercrusoe/chat, models
dashscopeopenaibearerdashscope/chat, models
databricksopenaibearerdatabricks/chat, models, embeddings
deepgramdeepgramheader (Authorization: Token …)deepgram/audio_transcription
deepinfraopenaibearerdeepinfra/chat, models
deepseekopenaibearerdeepseek/chat, models
elevenlabselevenlabsheader (xi-api-key)elevenlabs/audio_speech
fal_aifalheader (Authorization: Key …)fal_ai/images
featherless_aiopenaibearerfeatherless_ai/chat, models
fireworks_aiopenaibearerfireworks_ai/chat, models
fireworks_ai_embeddingsopenaibearerfireworks_ai-embedding-models/embeddings
friendliaiopenaibearerfriendliai/chat, models
geminigeminiheader (x-goog-api-key)gemini/chat
github_copilotopenaibearergithub_copilot/chat, models
gmiopenaibearergmi/chat, models
gradient_aiopenaibearergradient_ai/chat, models
groqopenaibearergroq/chat, models
herokuopenaibearerheroku/chat, models
hyperbolicopenaibearerhyperbolic/chat, models
inceptionopenaibearerinception/chat, models
jina_aiopenaibearerjina_ai/rerank
lambda_aiopenaibearerlambda_ai/chat, models
lemonadeopenainonedeclared freechat, models
libertaiopenaibearerlibertai/chat, models, embeddings
llamacppopenainonedeclared freechat, models
lmstudioopenainonedeclared freechat, models
localopenainonedeclared freechat, models
localaiopenainonedeclared freechat, models
meta_llamaopenaibearermeta_llama/chat, models
minimaxopenaibearerminimax/chat, models
mistralopenaibearermistral/chat, models, embeddings
moonshotopenaibearermoonshot/chat, models
morphopenaibearermorph/chat, models
nebiusopenaibearernebius/chat, models, embeddings
novitaopenaibearernovita/chat, models, embeddings, rerank
nscaleopenaibearernscale/chat, models
nvidia_nimopenaibearernvidia_nim/chat, models
ociopenaibeareroci/chat
ollamaopenainonedeclared freechat, models
openaiopenaibeareropenai/chat, responses, embeddings, models, images, audio_speech, audio_transcription, moderations, images_edits, audio_translations, completions
openai_compatibleopenaibeareropenai_compatible/chat, embeddings, models
openrouteropenaibeareropenrouter/chat, models
ovhcloudopenaibearerovhcloud/chat, models
perplexityopenaibearerperplexity/chat, models, embeddings
publicaiopenaibearerpublicai/chat, models
recraftopenaibearerrecraft/images
replicatereplicatebearerreplicate/chat
runwaymlrunwaybearerrunwayml/images, audio_speech
sambanovaopenaibearersambanova/chat, models
scalewayopenaibearerscaleway/chat, models, embeddings
scx_aiopenaibearerscx-ai/chat, models
snowflakeopenaisnowflake_jwtsnowflake/chat
sonioxsonioxbearersoniox/audio_transcription, files
stabilitystabilitybearerstability/images, images_edits
tencentopenaibearertencent/chat, models
text_completion_openaiopenaibearertext-completion-openai/completions
tgiopenainonedeclared freechat, models
together_aiopenaibearertogether_ai/chat, models, embeddings
v0openaibearerv0/chat, models
vercel_ai_gatewayopenaibearervercel_ai_gateway/chat, models, embeddings
vertex_aigeminigcp_oauth (aud=https://aiplatform.googleapis.com/)vertex_ai/chat
vertex_ai_ai21openaigcp_oauth (aud=https://aiplatform.googleapis.com/)vertex_ai-ai21_models/chat
vertex_ai_anthropicanthropic_vertexgcp_oauth (aud=https://aiplatform.googleapis.com/)vertex_ai-anthropic_models/chat
vertex_ai_deepseekopenaigcp_oauth (aud=https://aiplatform.googleapis.com/)vertex_ai-deepseek_models/chat
vertex_ai_embeddingvertex_predict_embedgcp_oauth (aud=https://aiplatform.googleapis.com/)vertex_ai-embedding-models/embeddings
vertex_ai_languagegeminigcp_oauth (aud=https://aiplatform.googleapis.com/)vertex_ai-language-models/chat
vertex_ai_llamaopenaigcp_oauth (aud=https://aiplatform.googleapis.com/)vertex_ai-llama_models/chat
vertex_ai_minimaxopenaigcp_oauth (aud=https://aiplatform.googleapis.com/)vertex_ai-minimax_models/chat
vertex_ai_mistralopenaigcp_oauth (aud=https://aiplatform.googleapis.com/)vertex_ai-mistral_models/chat
vertex_ai_moonshotopenaigcp_oauth (aud=https://aiplatform.googleapis.com/)vertex_ai-moonshot_models/chat
vertex_ai_openaiopenaigcp_oauth (aud=https://aiplatform.googleapis.com/)vertex_ai-openai_models/chat
vertex_ai_qwenopenaigcp_oauth (aud=https://aiplatform.googleapis.com/)vertex_ai-qwen_models/chat
vertex_ai_zaiopenaigcp_oauth (aud=https://aiplatform.googleapis.com/)vertex_ai-zai_models/chat
vllmopenainonedeclared freechat, models
volcengineopenaibearervolcengine/chat, models
voyageopenaibearervoyage/embeddings, rerank
wandbopenaibearerwandb/chat, models
watsonxopenaibearerwatsonx/chat, models
xaiopenaibearerxai/chat, models
zaiopenaibearerzai/chat, models

Generated provider snapshot: 2026-10-06, source commit d2fd0b3f. Declared endpoints are not a claim of live provider verification.

Reading the shape of that table

78 of the 95 descriptors ride the openai driver. The other 17 use the other 14 dialect ids listed in wire dialects.

61 use bearer authentication, 13 present a Google service-account JWT, 10 set a named header, 8 inject nothing, 2 sign with AWS SigV4 and 1 presents a Snowflake keypair JWT. These sum to 95.

8 are declared-free, which is a pricing assertion rather than a lookup: local plus the seven named self-hosted servers. Their rows carry an explicit $0 and a descriptor@ provenance stamp.

15 serve no chat: assemblyai, azure_text, black_forest_labs, deepgram, elevenlabs, fal_ai, fireworks_ai_embeddings, jina_ai, recraft, runwayml, soniox, stability, text_completion_openai, vertex_ai_embedding, voyage.

The Google family includes the vertex_ai_embedding descriptor alongside the chat descriptors described on the Google page.

What this table is not

It is not a model list. Models come from your tiers and your traffic, and the price table is a separate artefact: the vendored litellm@2026-07-14#179affb file carries 2,889 priced model keys across 107 prefixes. That is a statistic about a price table, not a claim about what TokenTriage can reach.

The descriptors above cover 85 of those 107 prefixes, and 22 are uncovered with the blocker behind each one published on what isn’t covered. Covered is not served: oci sits inside the 85 and reaches 19 of its 44 priced keys, and the generator prints the 25 it cannot.

It is also not a capability matrix for features inside an endpoint. Tool calling, vision, structured output and reasoning vary by model rather than by provider, and a descriptor that under-claims them fails closed rather than promising something the model cannot do.