Skip to content

description: How to connect Privyx to providers, SDKs, frameworks, and coding tools. One rule covers most of them: set the client's base URL.

Integrations

Privyx works with anything that lets you set the address of its AI provider. The client keeps its code and its key; it talks to Privyx, and Privyx talks to the provider.

Two base URLs cover most clients:

The client speaks Base URL Start Privyx with
OpenAI format (Chat Completions, Responses) http://localhost:8000/v1 privyx proxy --upstream https://api.openai.com
Anthropic format (Messages) http://localhost:8000 privyx proxy --upstream https://api.anthropic.com

Coding tools

Tool How More
Claude Code privyx run claude Coding agents
Codex privyx run codex Coding agents
aider privyx run aider Coding agents
Any tool with a base-URL variable privyx run --env-var NAME -u URL -- tool privyx run

SDKs and frameworks

Client Setting Page
OpenAI SDK (Python, Node) base_url / baseURL, or OPENAI_BASE_URL An app on the OpenAI or Anthropic SDK
Anthropic SDK (Python, Node) base_url / baseURL, or ANTHROPIC_BASE_URL An app on the OpenAI or Anthropic SDK
LangChain base_url on ChatOpenAI / ChatAnthropic LangChain
LlamaIndex api_base on OpenAI, base_url on Anthropic LlamaIndex
LiteLLM api_base LiteLLM
Vercel AI SDK baseURL on createOpenAI / createAnthropic Vercel AI SDK
curl and plain HTTP The URL Examples

Providers

Provider Mode Needs Page
OpenAI transparent nothing OpenAI
Anthropic transparent nothing Anthropic
Google Gemini transparent or gateway a route for its OpenAI-compatible path Google Gemini
Azure OpenAI transparent a route per path Azure OpenAI
OpenRouter transparent a route OpenRouter
DeepSeek transparent, or gateway for Claude Code a route for its Anthropic format DeepSeek
Ollama and local servers transparent nothing Ollama and local servers
Anything else compatible either see the page Any other endpoint

"A route" means a line in proxy.routes that tells Privyx to mask a path it does not know by default. Without it, that path is forwarded unmasked; see Routes.

What is covered everywhere

Whatever the client, Privyx masks chat requests in the three formats it knows and restores their replies, streamed or not, including tool-call arguments. It does not mask embeddings, images, or other API paths; see Limitations.

Check an integration

After the first request through a new client, look at the audit trail:

privyx audit tail --no-follow

A masked request shows a proxy.request line with schema=openai, schema=anthropic, or schema=responses. If that line is missing, the client did not go through Privyx; if it shows schema=null, the path has no route and was forwarded as sent.