Which AI providers does Cognocient support?
Cognocient proxies 10 provider types through a single base_url — including AWS Bedrock, Google Vertex AI, and any OpenAI-compatible server (Ollama, vLLM). Change the model name to switch providers — no separate SDK, no re-authentication, no new keys.
Cognocient proxies 10 provider types — OpenAI, Anthropic, Google Gemini, Mistral, Groq, Together AI, Azure OpenAI, AWS Bedrock, Google Vertex AI, and any OpenAI-compatible server as a custom endpoint — through a single base_url. Change the model name to switch providers with no separate SDK, no re-authentication, and no new keys.
Beyond chat: other endpoints and providers
Cognocient also proxies these OpenAI-compatible endpoints, with the same budgets, guardrails, freeze and cost tracking as chat:
| Endpoint | Providers | Docs |
|---|---|---|
/v1/chat/completions, /v1/responses | All chat providers above | Responses API |
/v1/embeddings, /v1/images/generations | OpenAI, Azure, Gemini (see above) | |
/v1/audio/transcriptions, /v1/audio/translations, /v1/audio/speech | OpenAI, Groq | Audio and rerank |
/v1/rerank | Cohere, Jina, Voyage | Audio and rerank |
/v1/files, /v1/batches | OpenAI (Growth plan) | Batch API |
/mcp/<server> | Your MCP servers (Business plan) | MCP gateway |
Cohere, Jina and Voyage are added like any provider under Settings → AI Providers and are used only for reranking.
Growth and above can add extra keys per provider for multi-key balancing, and Business can keep keys in AWS Secrets Manager, Vault or Azure Key Vault.
Provider overview
| Provider | Supported models | Model name prefix |
|---|---|---|
| OpenAI | GPT-4o, GPT-4o-mini, o1, o3 | gpt-, o1, o3 |
| Anthropic | Claude 3.5 Haiku, Sonnet, Claude 4 family | claude- |
| Google Gemini | Gemini 1.5, 2.0 Flash, 2.5 Pro | gemini- |
| Mistral AI | Large, Nemo, Codestral, Mixtral 8x22B | mistral-, open- |
| Groq | Llama 3.1/3.3 70B, Gemma 2, Mixtral | llama, mixtral, gemma (via Groq) |
| Together AI | Llama 3.1, DeepSeek, Qwen, 100+ OSS models | Full Together AI model names |
| Azure OpenAI | GPT-4o, GPT-4 via Azure deployments | Configured via deployment name in Settings |
| AWS Bedrock | Claude, Amazon Nova, Llama, Mistral (Bedrock-hosted) | Vendor-namespaced IDs, e.g. anthropic.claude-..., amazon.nova-... |
| Google Vertex AI | Gemini (Vertex-hosted) | vertex/ prefix, e.g. vertex/gemini-2.0-flash-001 |
| Custom (OpenAI-compatible) | Ollama, vLLM, LM Studio, llama.cpp, any OpenAI-compatible server | custom/ prefix, e.g. custom/llama3.1 |
One client, all providers
All providers use the same base_url. Cognocient detects the provider from the model name and handles any format translation automatically. Switch from GPT-4o to Claude by changing one string.
Quick setup
Replace your api_key and base_url — that's the only change needed.
Image generation
/v1/images/generations is proxied the same way as chat and embeddings — same base URL, same proxy key, full budget/velocity/attribution coverage. Unlike chat and embeddings, image models are priced per-image rather than per-token (see Guardrails → Dollar-denominated velocity for why that needed its own velocity check).
| Provider | Models | Notes |
|---|---|---|
| OpenAI | dall-e-3, dall-e-2, gpt-image-1 | Full support |
| Google Gemini | imagen-3, imagen-4 | Request/response translation to Imagen's native API — newer than the rest of this proxy's Gemini support and not yet exercised against high production volume |
Cognocient's own free/trial cost caps track image spend the same as everything else — a handful of hd-quality images can outweigh a large batch of small chat calls, since pricing here is per-image, not per-token.
Native Anthropic SDK
If you use the Anthropic Python or TypeScript SDK directly (not via the OpenAI SDK), the base URL is slightly different — omit /v1:
The /v1 suffix applies to the OpenAI SDK route. For the native Anthropic SDK, use https://api.cognocient.com without a path suffix. Both routes work for routing to Anthropic models.
Switching providers at runtime
All providers share the same client — switch by changing the model name:
AWS Bedrock
Add your AWS Access Key ID and Secret Access Key (plus the region your model access is enabled in) in Settings → AI Providers. Bedrock is detected automatically from the model ID — no prefix needed:
Requests are signed with AWS Signature Version 4 and sent to Bedrock's Converse API — tool/function calling is supported.
Streaming (stream: true) works too: Cognocient calls Bedrock's ConverseStream API, decodes AWS's binary event-stream, and returns standard OpenAI-format server-sent events, including streamed tool calls and a final usage chunk.
Google Vertex AI
Add your GCP service-account JSON key (plus your project ID and region) in Settings → AI Providers. Unlike Bedrock, Vertex AI's Gemini model IDs look identical to direct Gemini API model IDs, so a vertex/ prefix tells Cognocient which key to bill against:
Vertex AI's own OpenAI-compatible endpoint handles the request, so no request/response translation is needed — streaming and tool calling both work the same as the direct Gemini and OpenAI routes.
Custom OpenAI-compatible endpoints
Route to any server that speaks the OpenAI chat-completions API: Ollama, vLLM, LM Studio, llama.cpp's server, a LiteLLM gateway, or another vendor's OpenAI-compatible API. Add it in Settings → AI Providers → Custom:
| Field | Notes |
|---|---|
| Base URL | e.g. https://llm.example.com/v1. Cognocient appends /chat/completions (a URL already ending in it is used as-is). |
| API key | Optional. Many self-hosted servers don't authenticate; leave it blank and no Authorization header is sent. |
| $ / 1M input, output | Optional. Your own effective rates (for example amortised GPU cost). |
Send custom/<model> as the model. The custom/ prefix selects your endpoint and is removed before the request is forwarded:
Streaming works. Cognocient asks the server for a final usage chunk (stream_options.include_usage) so tokens can be counted; servers that don't send one are tracked without token counts.
Cost tracking
Self-hosted models have no list price, so calls are recorded at $0 unless you enter your own per-1M-token rates. They still appear everywhere else: volume, latency, features, departments, budgets by count. Cognocient does not apply its generic fallback price to them, so a free local model never shows invented spend. Waste and model-mismatch detection don't apply to custom endpoints, since there are no price tiers to compare.
Your endpoint must be public HTTPS
Cognocient calls your endpoint from its cloud servers, so it has to be reachable from the internet over https://. To protect against server-side request forgery, URLs that resolve to localhost, private networks (10.x, 192.168.x, 172.16-31.x), link-local or cloud-metadata addresses, or that contain embedded credentials are rejected: when you save, and again on every request. To use a model running on your own machine or network, expose it through a tunnel (Cloudflare Tunnel, ngrok, Tailscale Funnel) or a reverse proxy with TLS, and protect it with an API key.
You can configure one custom endpoint per account. Its model names are yours to choose, so run several models behind the one endpoint (Ollama and vLLM both serve many).
Adding your provider API keys
Your provider keys are stored encrypted in Cognocient. Configure them once in Settings → AI Providers:
- Go to Settings → AI Providers
- Click Add another provider for each additional provider
- Paste your provider API key — it is encrypted before being stored
- All requests to that provider now use this key automatically
You only need to configure each provider once. To rotate a key, paste the new one and the old is replaced immediately.
Keys are not recoverable after saving
Cognocient does not re-expose stored provider keys. Store your provider keys in a secrets manager independently of Cognocient.
Azure OpenAI: tell us the underlying model if your deployment name doesn't match it
Azure resolves which model actually answers a call purely from your deployment name in the URL — the model field your application sends in the request body is not authoritative, and Azure itself effectively ignores it for routing.
If you named your deployment something like my-prod-deployment rather than the model name itself, Cognocient has no way to know which real model that maps to unless you tell it. When adding or editing your Azure key in Settings → AI Providers, fill in the Underlying Model field (e.g. gpt-4o) — Cognocient uses that value for cost calculation instead of trusting whatever string your application happens to send.
Leave it blank if your deployment name already matches the model name exactly — Cognocient falls back to the request's own model field in that case, same as before.
Frequently asked questions
Related articles
OpenAI Responses API
POST /v1/responses on every provider, with streaming and function tools. Budgets, guardrails and routing apply unchanged.
Audio & Rerank Endpoints
Transcription, translation, speech and rerank through Cognocient, with the same budgets, guardrails and cost tracking as chat.
OpenAI Batch API
Create batches through Cognocient and have each batch's discounted cost attributed to your tags when it finishes. Growth plan.