Blekline sits between your application and every model API. Swap the base URL once; Blekline masks user content, enforces workspace policy, and returns metadata-only audit for each completion — whether you call Azure OpenAI, AWS Bedrock, Google Vertex, or a dev router.
Provider guides
| Provider | Best for | Guide |
|---|---|---|
| Azure OpenAI | Enterprise, EU residency, BYOK | Azure stack |
| AWS Bedrock | IAM-native, VPC sidecar | Bedrock stack |
| Google Vertex | GCP credentials, Gemini | Vertex stack |
| OpenRouter | Multi-model development | OpenRouter stack |
| Together | Open-weight models | Together stack |
| Fireworks | Low-latency inference | Fireworks stack |
| Mistral | Mistral API | Mistral stack |
| Cohere | Embed + generate | Cohere stack |
| Replicate | Hosted models | Replicate stack |
| Qwen | OpenRouter / DashScope | Qwen stack |
Universal ingress pattern
Point any OpenAI-compatible SDK at Blekline ingress:
from openai import OpenAI
client = OpenAI(
base_url="https://app.blekline.com/api/ingress/v1",
api_key="blw_...",
default_headers={
"x-blekline-workspace-token": "blw_...",
"x-blekline-client-surface": "sdk",
},
)
Configure OPENAI_API_BASE (or provider-specific upstream) on the Blekline sidecar or ingress proxy. User messages are masked inline before forwarding; responses can be redacted on the return path.
→ Ingress proxy API · TypeScript SDK
Next: Agent clients · Frameworks & RAG · [Eval journey](/docs/get-started/eval-journey)