One OpenAI-compatible key for GPT, Claude, Gemini, DeepSeek and 30+ more models. From sign-up to your first response in about five minutes — and your first $5 is on us.
Register with an email at stormfire.io/register. Early adopters get $5 in free credit applied automatically — no top-up required to start testing.
Open your dashboard, go to API Keys / Tokens, and click Create. Copy the key — it looks like sk-xxxxxxxx. Treat it like a password.
Set two values in any OpenAI-compatible app or SDK:
https://api.stormfire.io/v1sk-... keyThen call any model by its standard name — gpt-4o, claude-3-5-sonnet, deepseek-chat, gemini-1.5-pro. That's it.
Paste this into a terminal (swap in your key) to confirm everything works:
curl https://api.stormfire.io/v1/chat/completions \
-H "Authorization: Bearer sk-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o",
"messages": [{"role": "user", "content": "Say hello in three words"}]
}'
A JSON response with a choices array means you're live.
from openai import OpenAI
client = OpenAI(
api_key="sk-YOUR_KEY",
base_url="https://api.stormfire.io/v1",
)
resp = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Hello!"}],
)
print(resp.choices[0].message.content)
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "sk-YOUR_KEY",
baseURL: "https://api.stormfire.io/v1",
});
const resp = await client.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: "Hello!" }],
});
console.log(resp.choices[0].message.content);
If your code already reads the standard OpenAI env vars, just set them — no code change needed:
export OPENAI_API_KEY="sk-YOUR_KEY"
export OPENAI_BASE_URL="https://api.stormfire.io/v1"
| App | Where | What to enter |
|---|---|---|
| Cursor | Settings → Models → OpenAI API Key → "Override Base URL" | Key + https://api.stormfire.io/v1, then add model gpt-4o |
| ChatBox | Settings → Model Provider → OpenAI API | API Host https://api.stormfire.io/v1 + your key |
| NextChat | Settings → Custom Endpoint | Endpoint https://api.stormfire.io + key |
| Open WebUI | Admin → Connections → OpenAI API | Base URL https://api.stormfire.io/v1 + key |
| LangChain / LlamaIndex | OpenAI client config | base_url + api_key as above |
Use the standard IDs below. You can also use Stormfire's wf- tier names (see pricing) if you prefer to pin a specific service tier.
| Family | Standard model IDs you can call |
|---|---|
| OpenAI GPT | gpt-4o, gpt-4o-mini, gpt-4-turbo, gpt-4, gpt-4.1, gpt-4.1-mini, gpt-3.5-turbo, o1, o1-mini |
| Anthropic Claude | claude-3-5-sonnet, claude-3-7-sonnet, claude-3-5-haiku, claude-3-opus, claude-sonnet-4, claude-opus-4 |
| Google Gemini | gemini-1.5-pro, gemini-1.5-flash, gemini-2.0-flash, gemini-2.5-pro |
| DeepSeek | deepseek-chat, deepseek-reasoner |
Call GET https://api.stormfire.io/v1/models with your key for the full live list.
When your free credit runs low, add funds with USDT on TRC20, ERC20, BEP20, or Polygon. Minimum top-up is $15, there's no KYC, and you're billed at pass-through rates — 0% platform markup. See how crypto top-up works.
model_not_found / "no available channel"Check the model ID spelling against the table above, and confirm your Base URL ends in /v1. Calling GET /v1/models shows exactly what your key can access.
401 UnauthorizedThe key is wrong or was revoked. Generate a fresh key in the dashboard and make sure it's sent as Authorization: Bearer sk-....
insufficient quotaYour balance hit zero. Top up with USDT, then retry.