Key facts
| Plugsky API | OpenAI-compatible chat completions and embeddings |
| Adaptation needed | Rewrite Anthropic client calls to the OpenAI request shape |
| Features | Streaming, JSON mode and function calling live |
| Models | 30+ models; compare against Claude on your own evals |
| Coming soon | Files, batch, assistants and responses endpoints |
| Migration shape | Base URL plus schema mapping, not a mechanical swap |
| Free tier | 2 free AI models (plugsky-micro, plugsky-lite), no card |
| Trial | 14-day full-access trial available |
TL;DR
- There is no drop-in SDK swap from Anthropic — the request shapes differ.
- Prompts, tools and application logic carry over; the client layer is rewritten.
- Streaming, JSON mode and function calling are supported on arrival.
- Re-run evals before cutover; output style and tokenisation differ by model.
- Keep both paths behind a flag until the new one is proven.
How it works, step by step
- Inventory every Anthropic call: model, system prompt, tools, streaming and stop conditions.
- Create an internal client wrapper so migration happens in one place, not across the codebase.
- Map messages and system prompts to the OpenAI-compatible format, keeping tool schemas as JSON Schema.
- Choose a Plugsky model shortlist and run your existing evals against each candidate.
- Shadow traffic to compare quality, latency and error behaviour before cutting over.
- Cut over behind a feature flag, monitor, and keep rollback to the Anthropic path for one release.
Original data
Try it yourself
Open the Claude alternative finder →
What actually changes
The two APIs look similar at a glance and differ in the details that matter during a port:
- System prompt: Anthropic uses a top-level system parameter; in the OpenAI-compatible shape it becomes the first message with role
system. - Messages: role names and content-block structures differ, especially for images and tool results.
- Tools: both use JSON Schema, but the request and response envelopes differ —
tool_callsreplaces Anthropic's tool-use blocks. - Streaming: event names and delta shapes are provider-specific, so stream parsing changes even though the UX does not.
Wrap all of this in a single client module. A wrapper turns a codebase-wide migration into one file you can test in isolation.
Choosing models and proving parity
Migration is rarely about replacing one model with its clone; it is about finding the models that meet your quality bar at acceptable latency and cost. Build a shortlist across tiers — a fast, cheap model for high-volume paths and a stronger reasoning model for hard ones — then run the same labelled evaluation set against each. Track three things per candidate: task accuracy, formatting reliability and latency distribution. Where a candidate is weaker, adjust the prompt or route that specific path to a stronger model rather than accepting a global quality drop. The catalogue lists what is available today.
What we do and what we do not do
What we do: serve an OpenAI-compatible API with streaming, JSON mode, function calling and embeddings, keep the contract stable, and document capability differences per model. What we do not do: provide an Anthropic-compatible endpoint, translate request shapes for you, or guarantee that any model produces byte-identical output to Claude — prompts tuned for one model often need light revision. Files, batch, assistants and responses endpoints are coming soon, so keep an Anthropic account for those workloads until they land.
Honest comparison
| Aspect | Plugsky | Anthropic API | Staying on Claude |
|---|---|---|---|
| Request format | OpenAI-compatible | Anthropic-native | Anthropic-native |
| Client rewrite | Yes — schema mapping | Not applicable | None |
| Streaming | OpenAI SSE shape | Anthropic event shape | Native |
| Function calling | OpenAI tools shape, live | Tool use blocks | Native |
| Model choice | 30+ models, one API | Claude family | Claude family |
| Migration risk | Client port plus evals | None | Vendor concentration |
Frequently asked questions
Is there a one-line migration from Claude?
No. Unlike OpenAI, the Anthropic request shape is different, so you rewrite the client layer. Prompts and business logic carry over, but message, tool and streaming handling changes.
Can I keep my Claude prompts?
Mostly yes, with tuning. Prompts generally port, but model-specific phrasing, formatting expectations and tokenisation can shift results, so re-run evals and adjust.
Does streaming work after migration?
Yes, streaming is live. The event format differs from Anthropic, so your stream parser changes, but the user-facing behaviour is the same.
What happens to my tool definitions?
JSON Schemas carry over with envelope changes: translate Anthropic tool-use and tool-result blocks into the OpenAI tools/tool_calls format.
Can I run Claude and Plugsky side by side?
Yes — route by feature flag or percentage, and compare quality and latency on live traffic. This is the lowest-risk migration pattern.
Which endpoints are missing today?
Files, batch, assistants and responses are coming soon. Chat, streaming, JSON mode, function calling and embeddings are live.
How do I start without paying?
Use the free plan with two models for plumbing and smoke tests, then the 14-day full-access trial to evaluate stronger models. See the live pricing page for current plans.