Docs

OpenAI-compatible

01 · Get your gateway token

Log in and click “Reset” on the dashboard to generate a unique sk- token — it works against any upstream provider. The token is shown only once and can never be recovered.

02 · curl

bash
curl https://freeai-gateway.YOUR-SUBDOMAIN.workers.dev/v1/chat/completions \
  -H "Authorization: Bearer sk-your-gateway-token" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-4o-mini","messages":[{"role":"user","content":"你好"}]}'

03 · Python (OpenAI SDK)

python
from openai import OpenAI
client = OpenAI(
    base_url="https://freeai-gateway.YOUR-SUBDOMAIN.workers.dev/v1",
    api_key="sk-your-gateway-token",
)
resp = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "你好"}],
)
print(resp.choices[0].message.content)

04 · JavaScript (fetch)

js
const resp = await fetch(
  "https://freeai-gateway.YOUR-SUBDOMAIN.workers.dev/v1/chat/completions",
  {
    method: "POST",
    headers: {
      Authorization: "Bearer sk-your-gateway-token",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      model: "gpt-4o-mini",
      messages: [{ role: "user", content: "你好" }],
    }),
  },
);
const data = await resp.json();
console.log(data.choices[0].message.content);

05 · Quota & limits

  • Tiered daily calls/tokens by reputation (80+ → 100 calls / 300k tokens; floor of 3 calls/day never zeroed)
  • New users get half quota for the first 7 days
  • Contributors earn +10 ~ +100 extra calls/day per tier
  • Every request rides automatic failover and circuit breaking for maximum availability

06 · Troubleshooting

  • 401 invalid_token:Token was reset or is invalid — re-login to get a fresh one
  • 429 quota_exceeded:Daily quota exhausted — resets automatically tomorrow
  • 503 pool_empty:No channel available for this model — try later or contribute one
  • 503 预算保护:Budget protection: dynamic services paused under free-tier protection, resumes at 00:00 UTC