Providers

Every request is bring-your-own-key: Zerocache never holds a provider credential beyond the duration of one request. {provider} in the URL path selects which adapter handles the request; the three cloud embedding providers encode routing coordinates (region, project, input type) into the model string itself rather than a new wire field, since model is already free-form per-request and already lands in the cache key.

Chat completions

POST /{provider}/v1/chat/completions — nine hosted OpenAI-wire endpoints, registered with zero config. Add or repoint one (self-hosted vLLM / Ollama, an internal gateway) with ZEROCACHE_CHAT_PROVIDERS="name=url,…", where the URL is the prefix up to but not including /chat/completions.

openaimistralgeminigroqdeepseektogetheropenrouterxaifireworks

Anthropic Messages

POST /{provider}/v1/messages — Claude's native wire shape. Built-inanthropichttps://api.anthropic.com; add or repoint withZEROCACHE_MESSAGES_PROVIDERS="name=url,…" (bare-origin values — the adapter appends /v1/messages). Authorization: Bearer is rewritten tox-api-key upstream.

Embeddings

OpenAI

auth
Bearer key
text
yes
images
no

Mistral

auth
Bearer key
text
yes
images
no

Gemini

auth
Bearer key
text
yes
images
yes

HuggingFace

auth
Bearer key
text
yes
images
no
model is part of the URL path, not the body

Bedrock

auth
Bearer key (AWS bearer API key)
text
yes
images
no
[<region>/]<modelId>[#<input_type>]

Vertex AI

auth
Bearer (GCP OAuth2 token)
text
yes
images
no
[<location>/<project>/]<modelId>[#<task_type>]

Azure

auth
Bearer (Entra token, default) or api-key
text
yes
images
no
[foundry:]<deployment>[#<input_type>]