Key facts
| Chat endpoint | POST https://api.plugsky.com/v1/chat/completions |
| SDK | pip install openai — the official OpenAI SDK works unchanged |
| Base URL | https://api.plugsky.com/v1 |
| Auth | Authorization: Bearer sk-live-… |
| Free tier | 2 free AI models (plugsky-micro, plugsky-lite), no card required |
| Models | 30+ models; start with plugsky-lite and scale to plugsky-pro |
| Live capabilities | Streaming, JSON mode, function calling, embeddings and vision on supported models |
| Roadmap endpoints | Audio, images, moderation, files, batch, fine-tuning, assistants and responses are coming soon |
TL;DR
- First call takes about five minutes: key, SDK, base URL, request.
- The OpenAI SDK works as-is — only the base URL and model name change.
- plugsky-micro and plugsky-lite are free to start; no card required.
- Streaming, JSON mode and tools are live on the chat endpoint.
- Verify with GET /v1/models, then design for 429 Retry-After responses.
How it works, step by step
- Create a Plugsky account and generate an API key in the dashboard.
- Install the OpenAI SDK: pip install openai (or npm install openai).
- Set PLUGSKY_API_KEY in your environment and base_url to https://api.plugsky.com/v1.
- Call client.chat.completions.create with model plugsky-lite and a short prompt.
- Add stream=True and print delta chunks to confirm streaming works.
- Switch to plugsky-pro for a harder prompt and compare quality.
- List models with GET /v1/models and wire error handling for 401, 403 and 429.
Original data
Try it yourself
Open the OpenAI-compatible API tester →
Minute 0-1: create a key
Sign in to the Plugsky dashboard, open API keys and create a key scoped to your project. Copy it once — the dashboard will not show the secret again. Store it as an environment variable:
export PLUGSKY_API_KEY="sk-live-…"The free plan issues two API keys and includes two free models, plugsky-micro and plugsky-lite, with no credit card. If you prefer a browser check first, paste the key into the OpenAI-compatible API tester before writing any code.
Minute 1-2: your first request
Install the OpenAI SDK and point it at Plugsky. Nothing else changes:
pip install openaifrom openai import OpenAI
client = OpenAI(
api_key="sk-live-…",
base_url="https://api.plugsky.com/v1",
)
resp = client.chat.completions.create(
model="plugsky-lite",
messages=[{"role": "user", "content": "In one sentence: what is Plugsky?"}],
)
print(resp.choices[0].message.content)Swap plugsky-lite for plugsky-micro for the cheapest classification-style work, or plugsky-pro when answer quality matters more than speed.
Minutes 2-3: streaming and JSON mode
Streaming is a flag, not a rewrite. Set stream=True and iterate over chunks:
stream = client.chat.completions.create(
model="plugsky-micro",
messages=[{"role": "user", "content": "Count to five."}],
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="")For structured output, request JSON and validate it in your app:
resp = client.chat.completions.create(
model="plugsky-pro",
messages=[{"role": "user", "content": "Return JSON with keys ok and reason."}],
response_format={"type": "json_object"},
)Function calling uses the standard tools and tool_choice parameters on the same endpoint.
Minutes 4-5: verify and know the limits
List the live catalogue before you hard-code a model id:
curl https://api.plugsky.com/v1/models \
-H "Authorization: Bearer $PLUGSKY_API_KEY"Then plan for the error paths you will actually see: 401 for a bad key, 403 for a key missing a scope, 429 for fair-use rate limits with a Retry-After header, and 413 when a request body exceeds 16 MB. All errors use the OpenAI error schema. Endpoints such as audio, images, files, batch and fine-tuning are coming soon, so build chat, embeddings and tool workflows first and check the status page before designing around roadmap items.
Honest comparison
| Capability | Plugsky | Self-hosting an OpenAI-compatible stack | Staying vendor-only |
|---|---|---|---|
| Time to first call | About five minutes | Hours to days: GPU, serving, networking | Minutes |
| SDK | OpenAI SDK works as-is | OpenAI SDK plus your own gateway | Vendor-specific SDK |
| Model access | 30+ models behind one key | Only what you deploy | One vendor catalogue |
| Free to start | 2 free models, no card | GPU cost from minute one | Vendor trial credits |
| Ops burden | Managed | You own GPUs, scaling and patches | Managed |
| Endpoint parity | Chat, embeddings and vision live; audio, images, batch and fine-tuning coming soon | Add each component yourself | Vendor-dependent |
Frequently asked questions
Do I need to learn a new SDK?
No. Plugsky exposes an OpenAI-compatible /v1/chat/completions endpoint, so you keep the OpenAI SDK and change the base URL and model name.
What is the fastest way to test without code?
Open the OpenAI-compatible API tester, paste your sk-live-… key and send a chat request with plugsky-micro or plugsky-lite.
Which model should I start with?
Start with plugsky-lite for general chat, plugsky-micro for cheap high-volume tasks, and plugsky-pro when answer quality matters most.
Is the free plan enough for a prototype?
Yes. The free plan includes two free AI models and two API keys with no credit card, and a 14-day full-access trial is available.
Does streaming work with the OpenAI SDK?
Yes — set stream=True and iterate over chunks. Plugsky returns server-sent events in the same format the SDK expects.
How do I know which models exist right now?
Call GET /v1/models with your key; the catalogue page is generated from that endpoint.
What about errors and rate limits?
Errors use the OpenAI schema. Handle 401, 403 and 429; honor Retry-After on 429 and keep requests under the 16 MB body limit.
Can I use TypeScript instead of Python?
Yes. Run npm install openai, set baseURL to https://api.plugsky.com/v1 and use the same chat.completions call shape.