Verosek AI Gateway routing a single API endpoint across OpenAI, Anthropic, and GeminiAI Gateway

One SDK. Any model, any provider.

Twelve OpenAI endpoints, native Anthropic, native Gemini. Swap SDKs, swap providers, swap models — without editing your app.

02 — Line migration

Keep your SDK, Change the base URL.

import openai
 
client = openai.OpenAI(
api_key="vsk_...", # Verosek virtual key
base_url="http://your-gateway/v1", # ← only line that changed
)
 
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "How many users are in the database?"}],
)
 
# Tools handled internally. Policy enforced. Every step audited.
print(response.choices[0].message.content)
Cross-SDK Routing Matrix

Run Claude through the OpenAI SDK. GPT through Anthropic. Any combination.

OpenAIAnthropicGemini
OpenAI SDK
Anthropic SDK
Gemini SDK
API Surface

Fifteen endpoints. Three SDKs. One gateway.

Requests arriving in the OpenAI, Anthropic or Gemini API format are translated by the Verosek gateway and routed out to any provider’s native API, including self-hosted models.REQUEST IN · ANY SDK FORMATPOST /v1/chat/completionsopenai (py · ts)POST /v1/messagesanthropic (py · ts)POST /v1beta/models:generateContentgoogle-genai (py · ts)POST /v1/embeddingsopenai-compatibleTRANSLATE · GOVERN · ROUTEROUTED OUT · ANY PROVIDEROpenAI/v1/chat/completionsAnthropic/v1/messagesGoogle Gemini:generateContentSelf-hostedin your VPC · air-gapped

<30 ms P99 overhead

StageBudgetWhat it does
Virtual-key check~1 msRedis cache hit on key_id
Request translation~1 msPure Python, no I/O
Shield pre-LLM enforce< 30 msLocal PII + secrets. ML classifiers run async.
Shield post-LLM enforce< 30 msSame pattern as pre-LLM.
Audit enqueue~0.5 msRedis RPUSH, never blocks.

Frequently Asked Questions

A proxy forwards the call and checks a key. Verosek governs the call itself: what runs, on what data, under what limits, before anything executes. Routing is the easy part. Governing the action is the hard part, and that is the part we own.

One line, your base_url. Your existing OpenAI, Anthropic, and Gemini code keeps working. You get full governance without a rewrite.

Every action is checked against your policy before it runs, down to the specific operation and the data it touches. Disallowed actions never reach your systems. Most tools can only grant or revoke a key. Verosek decides per action.

No. The overhead stays invisible in production, and a slow or failing provider is routed around for you automatically.

Two lines to migrate. Every SDK to every provider.