# Model Providers Route model traffic through Blekline **before** it reaches upstream APIs. Use [Ingress proxy](/docs/api/ingress-proxy) with SDK base-URL swap. ## Comparison | Provider | Category | Doc | |----------|----------|-----| | [Azure OpenAI](/docs/integrations/azure-openai-stack) | Enterprise | EU residency, BYOK | | [AWS Bedrock](/docs/integrations/aws-bedrock-stack) | Enterprise | IAM, VPC sidecar | | [Google Vertex](/docs/integrations/google-vertex-stack) | Enterprise | GCP credentials | | [OpenRouter](/docs/integrations/openrouter-stack) | Router | Multi-model dev | | [Together](/docs/integrations/together-stack) | Router | Open models | | [Fireworks](/docs/integrations/fireworks-stack) | Router | Fast inference | | [Mistral](/docs/integrations/mistral-stack) | Specialty | Mistral API | | [Cohere](/docs/integrations/cohere-stack) | Specialty | SDK mask path | | [Replicate](/docs/integrations/replicate-stack) | Specialty | SDK mask path | | [Qwen](/docs/integrations/qwen-stack) | Router | OpenRouter / DashScope | ## Universal ingress pattern ```python 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", }, ) ``` Set server `OPENAI_API_BASE` to your provider endpoint. Blekline masks user messages inline before forwarding. --- **Next steps:** [Ingress proxy](/docs/api/ingress-proxy) · [Deployment](/docs/enterprise/deployment) · [Trust boundaries](/docs/security/trust-boundaries) · [Open workspace](https://app.blekline.com)