Overview
Overview
Section titled “Overview”DeepIntShield exposes 29 built-in provider identities, all accessible through a consistent OpenAI-compatible interface where the selected operation is supported. OpenCode Go and OpenCode Zen are separate routing identities. A provider-level capability is still subject to the selected model’s modalities, regional availability, account access, and live model metadata.
DeepIntShield can also act as a provider-compatible gateway (for example, Anthropic, Google Gemini, Cohere, Bedrock, and others), exposing provider-specific endpoints so you can use existing provider SDKs or integrations with no code changes, see What is an integration? for details.
Provider Support Matrix
Section titled “Provider Support Matrix”The following table summarizes which operations are supported by each provider via DeepIntShield’s unified interface.
| Provider | Models | Text | Text (stream) | Chat | Chat (stream) | Responses | Responses (stream) | Images | Images (stream) | Image Edit | Image Edit (stream) | Image Variation | Embeddings | TTS | TTS (stream) | STT | STT (stream) | Files | Batch | Count tokens |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Anthropic (anthropic/<model>) | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ |
Azure (azure/<model>) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ |
Bedrock (bedrock/<model>) | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ |
Bedrock Mantle (bedrock-mantle/<model>) | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ✅ |
Cerebras (cerebras/<model>) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Cohere (cohere/<model>) | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
DeepSeek (deepseek/<model>) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Elevenlabs (elevenlabs/<model>) | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
Fireworks AI (fireworks/<model>) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Gemini (gemini/<model>) | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Groq (groq/<model>) | ✅ | 🟡 | 🟡 | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Hugging Face (huggingface/<model>) | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
Mistral (mistral/<model>) | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
Nebius (nebius/<model>) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Ollama (ollama/<model>) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
OpenAI (openai/<model>) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Opencode (opencode-zen/<model>, opencode-go/<model>) | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
OpenRouter (openrouter/<model>) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Parasail (parasail/<model>) | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Perplexity (perplexity/<model>) | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Replicate (replicate/<model>) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ |
Sarvam AI (sarvam/<model>) | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
SGL (sgl/<model>) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Vertex AI (vertex/<model>) | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
vLLM (vllm/<model>) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
Wafer (wafer/<model>) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | 🟡 | ❌ | ❌ |
xAI (xai/<model>) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Protocol capability matrix
Section titled “Protocol capability matrix”These resource and transport capabilities do not fit the legacy inference columns above. A blank cell means the provider is not enabled for that surface.
| Provider | Stored Responses lifecycle | Compaction | Named cached content | Realtime | OCR |
|---|---|---|---|---|---|
| OpenAI | Retrieve, retrieve as SSE, delete, cancel, input items | ✅ | — | WebSocket relay and WebRTC SDP/control passthrough | — |
| Bedrock Mantle | Retrieve, retrieve as SSE, delete, cancel; no input items | ✅ | — | — | — |
| Gemini | — | — | Create, list, get metadata, update expiry, delete | — | — |
| Vertex AI | — | — | Create, list, get metadata, update expiry, delete | — | — |
| Mistral | — | — | — | — | POST /v1/ocr |
Realtime call-control routes are provider-native proxies, not SIP or telephony
orchestration, and there is no SIP/WebRTC sideband call_id attachment. See
Protocol operations for provider selectors,
key affinity, request formats, and limits.
- 🟡 Partially supported or implemented as an explicit compatibility fallback; review the provider page. Wafer, for example, supports upload but not the complete Files lifecycle.
- ❌ Not supported by the downstream provider, hence not supported by DeepIntShield.
- ✅ Fully supported by the downstream provider, or internally implemented by DeepIntShield.
Notes:
- “Models” refers to the list models operation (
/v1/models). - “Text” refers to the classic text completion interface (
/v1/completions). - “Responses” refers to the OpenAI-style Responses API (
/v1/responses). Non-OpenAI providers map this to their native chat API under the hood. - Stored Responses lifecycle and compaction have a narrower provider matrix; see Protocol operations.
- Reranking (
/v1/rerank) is currently supported for Cohere, Bedrock, Vertex AI, and vLLM. See each provider page for model-specific requirements. - “Images” refers to the Image Generation API (
/v1/images/generations). - “Image Edit” refers to the Image Edit API (
/v1/images/edits). - “Image Variation” refers to the Image Variation API (
/v1/images/variations). - TTS corresponds to
/v1/audio/speechand STT to/v1/audio/transcriptions. - OCR is available for Mistral at
/v1/ocr; cached-content management is available for Gemini and Vertex; Realtime WebSocket/WebRTC is capability gated. See Protocol operations. - “Files” refers to the Files API operations (
/v1/files) for uploading, listing, retrieving, and deleting files. - “Batch” refers to the Batch API operations (
/v1/batches) for creating, listing, retrieving, canceling, and getting results of batch jobs.
Response Format
Section titled “Response Format”All providers return responses in the OpenAI-compatible format. To switch providers, change the model prefix (for example openai/gpt-4o-mini to anthropic/claude-3-sonnet) - the response structure stays the same.
# Same response format regardless of providercurl -X POST https://app.deepintshield.com/v1/chat/completions \ -H "Authorization: Bearer sk-ds-your-virtual-key" \ -H "Content-Type: application/json" \ -d '{ "model": "openai/gpt-4o-mini", "messages": [{"role": "user", "content": "Hello!"}] }'
# Returns OpenAI-compatible format:{ "id": "chatcmpl-123", "object": "chat.completion", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "Hello! How can I help you?" }, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 10, "completion_tokens": 9, "total_tokens": 19 }}Custom Providers
Section titled “Custom Providers”In addition to the built-in providers, DeepIntShield supports custom provider configurations. Custom providers allow you to create multiple instances of the same base provider with different configurations, request type restrictions, and access patterns. This is useful for environment-specific configurations, role-based access control, and feature testing.
Learn more: Custom Providers
Benefits
Section titled “Benefits”The consistent interface across providers enables:
- Provider switching without code modifications
- Fallback configurations for improved reliability
- Load balancing across multiple providers
- OpenAI-compatible patterns for all providers
Provider Metadata
Section titled “Provider Metadata”Provider information is included in the extra_fields section of each response, providing transparency into which provider handled the request and any provider-specific metadata.
Raw Request/Response Access
Section titled “Raw Request/Response Access”You can optionally have each response include the raw request that was sent to the provider and the raw response received back. This is useful for debugging, auditing, and cost analysis.
What’s included:
raw_request- The exact request body (JSON/data structure) that was sent to the provider’s API endpointraw_response- The exact response body received from the provider
Example: When you send a Chat Completions request with max_completion_tokens to Anthropic, the raw request shows the provider-native max_tokens field that was actually sent. Enable raw request/response to inspect these provider-native fields.
{ "extra_fields": { "provider": "anthropic", "raw_request": { "model": "claude-3-5-sonnet", "max_tokens": 4096, "messages": [...] }, "raw_response": { "id": "msg_...", "type": "message", "content": [...], "usage": { "input_tokens": 123, "output_tokens": 456 } } }}Use cases:
- Debugging - See the exact provider-native request your call produced
- Auditing - Track exactly what was sent to external APIs
- Cost analysis - See the provider’s raw token counts
- Integration testing - Validate provider-specific request/response details
Configuration options:
- Gateway Provider Configuration - Configure
send_back_raw_responsevia API, UI, or config file