Key facts
| Core change | base_url to https://plugsky.com/v1 |
| Stacks covered | Python, Node.js, cURL, Go and edge runtimes |
| Works unchanged | SDKs, prompts, streaming, tools, JSON mode and embeddings |
| Model mapping | Replace OpenAI model names with Plugsky model names |
| Rollback | The same one-line change in reverse |
| Parallel running | Run both providers behind a feature flag during cutover |
| Free tier | plugsky-micro and plugsky-lite, no card; 14-day full-access trial |
| Product status | Live |
TL;DR
- Change one constant and keep the rest of your code.
- Prompts, streaming and function calling run unchanged.
- Run both providers in parallel during cutover.
- Map model names deliberately instead of trusting defaults.
- Rollback is the same one-line change in reverse.
How it works, step by step
- Generate a Plugsky API key and store it in an environment variable.
- Find every hard-coded OpenAI base URL and model name.
- Set base_url to https://plugsky.com/v1 and map your model names.
- Run your test suite against Plugsky in a non-production environment.
- Verify streaming, tools and JSON mode end to end.
- Cut over with a feature flag and keep OpenAI configured as a fallback.
- Monitor latency, quality and cost per model after cutover.
Try it yourself
Open the OpenAI migration checker →
The one-line migration
For most stacks the entire migration is changing one constant: the base URL moves from api.openai.com/v1 to api.plugsky.com/v1. Your existing SDK, prompts and code run against Plugsky with the same request body, response shape, streaming format and function-calling surface.
The only other change is the model name, and that is a mapping exercise rather than a rewrite. Start with a model such as plugsky-pro for production chat, then tune per workload.
Per-language and runtime notes
In Python, pass the Plugsky key and base URL to the OpenAI client constructor. In Node.js, the same applies to the OpenAI library and to the Vercel AI SDK when you set the base URL on the provider. With cURL, point the request at the Plugsky endpoint and send the same JSON body.
Go clients built on the popular OpenAI library accept a custom base URL in their config. Edge runtimes such as Cloudflare Workers and Vercel Edge simply fetch the Plugsky endpoint directly. None of these require changes to prompts or response handling.
Pre-migration checklist
Generate a key, identify every hard-coded base URL and model name, and keep the key in an environment variable rather than in code. Run your test suite against Plugsky in staging, then verify function calling, JSON mode and streaming specifically, because those are the paths most likely to surprise.
Cut over with a feature flag so rollback stays one line, and keep the incumbent provider configured for the endpoints Plugsky does not cover yet. Run both providers for one to two weeks if your traffic permits, and compare quality and latency before removing the old path. The compatibility reference lists exactly what is covered.
Honest comparison
| Step | OpenAI today | Plugsky | Effort |
|---|---|---|---|
| Authentication | OpenAI key | Plugsky key in an environment variable | Minutes |
| Base URL | api.openai.com/v1 | api.plugsky.com/v1 | One line |
| Model names | gpt series | plugsky series | Mapping table |
| Streaming | SSE | Same SSE format | None |
| Tools and JSON mode | Supported | Same shape | None |
| Rollback | Not applicable | Revert the base URL | One line |
Frequently asked questions
Do I need to rewrite my prompts?
No. Plugsky honours the same prompt format as OpenAI, so your prompts run unchanged.
Will my function-calling code work?
Yes. The tools array and tool call response shape are identical to OpenAI.
Can I run both providers in parallel?
Yes. Use a feature flag or environment variable to switch, and most teams run both for one to two weeks during cutover.
What about streaming?
Streaming works the same way: set stream to true and you receive the same SSE event format.
Which languages are covered?
Python, Node.js, cURL and Go are documented directly, and edge runtimes work because they simply call the HTTP endpoint.
How do I roll back?
Revert the base URL and model names. The code stays OpenAI-compatible in both directions.
Is there a tool to generate the snippet?
Yes. The OpenAI migration checker produces a ready-to-run snippet for your stack.
Plugsky (2026). “Migrate from OpenAI to Plugsky”. Plugsky. Available at: https://plugsky.com/articles/migrate-from-openai (last updated 2026-09-25).