Quick Start
Quick Start¶
Each provider requires two changes: set the base URL to the Xybern proxy, and add your Xybern API key as a header. Your original provider API key passes through unchanged.
OpenAI SDK¶
from openai import OpenAI
client = OpenAI(
api_key="sk-...", # your real OpenAI key — passed through
base_url="https://www.xybern.com/gateway/openai",
default_headers={"X-Xybern-API-Key": "xb_live_..."},
)
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Hello"}],
)
OpenAI environment variables (works with any OpenAI-compatible framework)¶
OPENAI_BASE_URL=https://www.xybern.com/gateway/openai
OPENAI_DEFAULT_HEADERS='{"X-Xybern-API-Key": "xb_live_..."}'
LangChain¶
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="gpt-4o",
openai_api_key="sk-...",
openai_api_base="https://www.xybern.com/gateway/openai",
default_headers={"X-Xybern-API-Key": "xb_live_..."},
)
Anthropic SDK¶
import anthropic
client = anthropic.Anthropic(
api_key="sk-ant-...",
base_url="https://www.xybern.com/gateway/anthropic",
default_headers={"X-Xybern-API-Key": "xb_live_..."},
)
Azure OpenAI¶
from openai import AzureOpenAI
client = AzureOpenAI(
api_key="your-azure-key",
azure_endpoint="https://www.xybern.com/gateway/azure",
api_version="2024-02-01",
default_headers={
"X-Xybern-API-Key": "xb_live_...",
"X-Azure-Upstream": "https://<your-resource>.openai.azure.com",
},
)
AWS Bedrock (boto3)¶
import boto3
bedrock = boto3.client(
service_name="bedrock-runtime",
region_name="us-east-1",
endpoint_url="https://www.xybern.com/gateway/bedrock/us-east-1",
)
# Pass AWS credentials + Xybern key via custom headers using a botocore event:
def inject_xybern_key(request, **kwargs):
request.headers["X-Xybern-API-Key"] = "xb_live_..."
bedrock.meta.events.register("before-send.bedrock-runtime.*", inject_xybern_key)
Google Gemini (OpenAI-compatible endpoint)¶
from openai import OpenAI
client = OpenAI(
api_key="AIza...", # your Google API key
base_url="https://www.xybern.com/gateway/gemini/openai",
default_headers={"X-Xybern-API-Key": "xb_live_..."},
)
response = client.chat.completions.create(
model="gemini-2.0-flash",
messages=[{"role": "user", "content": "Hello"}],
)