Getting started with Stormfire

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.

Free $5 signup creditOpenAI SDK drop-inNo KYCUSDT top-up

Create your account See pricing

The 3-step setup

1. Sign up and claim your free $5

Register with an email at stormfire.io/register. Early adopters get $5 in free credit applied automatically — no top-up required to start testing.

2. Create an API key

Open your dashboard, go to API Keys / Tokens, and click Create. Copy the key — it looks like sk-xxxxxxxx. Treat it like a password.

3. Point your tool at Stormfire

Set two values in any OpenAI-compatible app or SDK:

Then call any model by its standard name — gpt-4o, claude-3-5-sonnet, deepseek-chat, gemini-1.5-pro. That's it.

Good news: you don't need to learn any custom model names. Stormfire accepts the same model IDs you already use with OpenAI, Anthropic, Google and DeepSeek, so most tools work with zero code changes.

Quick test with curl

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.

Use it from the OpenAI SDK

Python

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)

Node.js

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);

Environment variables

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"

Popular apps — where to paste the settings

AppWhereWhat to enter
CursorSettings → Models → OpenAI API Key → "Override Base URL"Key + https://api.stormfire.io/v1, then add model gpt-4o
ChatBoxSettings → Model Provider → OpenAI APIAPI Host https://api.stormfire.io/v1 + your key
NextChatSettings → Custom EndpointEndpoint https://api.stormfire.io + key
Open WebUIAdmin → Connections → OpenAI APIBase URL https://api.stormfire.io/v1 + key
LangChain / LlamaIndexOpenAI client configbase_url + api_key as above
Rule of thumb: anywhere a tool asks for an "OpenAI API key" and lets you override the base URL or host, Stormfire drops right in.

Which models can I call?

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.

FamilyStandard model IDs you can call
OpenAI GPTgpt-4o, gpt-4o-mini, gpt-4-turbo, gpt-4, gpt-4.1, gpt-4.1-mini, gpt-3.5-turbo, o1, o1-mini
Anthropic Claudeclaude-3-5-sonnet, claude-3-7-sonnet, claude-3-5-haiku, claude-3-opus, claude-sonnet-4, claude-opus-4
Google Geminigemini-1.5-pro, gemini-1.5-flash, gemini-2.0-flash, gemini-2.5-pro
DeepSeekdeepseek-chat, deepseek-reasoner

Call GET https://api.stormfire.io/v1/models with your key for the full live list.

Topping up with USDT

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.

Troubleshooting

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 Unauthorized

The key is wrong or was revoked. Generate a fresh key in the dashboard and make sure it's sent as Authorization: Bearer sk-....

insufficient quota

Your balance hit zero. Top up with USDT, then retry.

Still stuck?

Ask in our Discord or check the FAQ.