- Python:
openai,anthropic - Vercel AI SDK:
@ai-sdk/openai,@ai-sdk/anthropic - LangChain:
langchain-openai,langchain-anthropic(Python or JS) - LlamaIndex: the OpenAI and Anthropic LLM classes
- Mastra, AutoGen, CrewAI, Instructor, LiteLLM, and similar
- Raw
fetch,curl, or any HTTP client
We run integration tests against the official
openai and anthropic SDKs (Node and Python), @ai-sdk/openai, @ai-sdk/anthropic, and LangChain. The other tools work through the same API formats, but are documented patterns rather than tested paths.What changes
Every request also needs a system prompt — SERV rejects requests without one. Nothing else changes: prompts, tool definitions, streaming, and business logic stay the same. For the full field mapping, see the parameter map.
The
google-genai SDK is not supported. It speaks Gemini’s native generateContent format, not the OpenAI or Anthropic API. To use Gemini or Gemma, switch to the OpenAI SDK and call /v1/chat/completions.Python
openai
anthropic
Vercel AI SDK
The AI SDK exposes per-provider factories that accept custom base URLs.@ai-sdk/openai
@ai-sdk/anthropic
Unlike the official Anthropic Node SDK,
@ai-sdk/anthropic requires the /v1 suffix in the baseURL. The “no /v1” rule only applies to the official @anthropic-ai/sdk package.LangChain (JS)
ChatOpenAI
ChatAnthropic
LangChain (Python)
ChatOpenAI
ChatAnthropic
Raw fetch and curl
With no SDK, the wire format is plain JSON.
OpenAI shape
Anthropic shape
Migration prompt for AI coding tools
To migrate an existing integration with Claude Code, Cursor, Copilot, or another coding agent, paste this into the chat:Troubleshooting
See also
- SDK Integration — endpoints and the parameter map.
- Endpoint compatibility — which models work on which endpoint.
- Models — pricing and context windows.
- Playground — compare models before you migrate.

