One URL. Every model.
InfinityGPT speaks the OpenAI API format, so anything that works with OpenAI works here. Swap the base URL, paste your key, pick a model.
Quickstart
- Sign in and open your dashboard.
- Create an API key. It starts with
ifg_and is shown once, so copy it. - Use this base URL:
https://your-site/api/v1Authentication
Send your key as a Bearer token on every request. We store only a fingerprint of the key, never the key itself. Revoked keys stop working immediately.
Authorization: Bearer ifg_your_key_hereChat completions
POST /chat/completions. Set "stream": true for live token-by-token replies.
curl https://your-site/api/v1/chat/completions \
-H "Authorization: Bearer $INFINITY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4.1-flash-free",
"messages": [{"role": "user", "content": "Explain recursion in one line"}],
"stream": true
}'from openai import OpenAI
client = OpenAI(base_url="https://your-site/api/v1", api_key="ifg_your_key_here")
reply = client.chat.completions.create(
model="mimo-v2.6-flash-free",
messages=[{"role": "user", "content": "Hello!"}],
)
print(reply.model, reply.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://your-site/api/v1", apiKey: process.env.INFINITY_API_KEY });
const stream = await client.chat.completions.create({
model: "glm-5.3-flash-free",
messages: [{ role: "user", content: "Write a haiku" }],
stream: true,
});
for await (const chunk of stream) process.stdout.write(chunk.choices[0]?.delta?.content ?? "");Models
GET /models lists what your key can use. Live latency and uptime are on the status page.
mimo-v2.6-flash-freeopen · unlimiteddeepseek-v4.1-flash-freeopen · unlimitednemotron-3.5-super-vl-freeopen · unlimitednemotron-3.5-lightning-freeopen · unlimitedglm-5.3-flash-freeopen · unlimitedbig-pickleopen · unlimitedflint-40b-freeopen · unlimitedbeam-freeopen · unlimitedjev-1.13-freeopen · unlimitedgpt-6.1-solpremium · creditsgpt-6-astrapremium · creditsgpt-6-solpremium · creditsgpt-6-lunapremium · creditsgpt-reservepremium · creditsCursor, Claude Code & friends
Cursor: Settings → Models → OpenAI API key → paste your key, turn on "Override OpenAI Base URL" and paste the base URL. Add model IDs by name.
Cline / Roo / Continue / OpenCode: choose "OpenAI Compatible" as the provider, then use the same base URL, key and model ID.
Claude Code: it expects the Anthropic format, so run it through an OpenAI-compatible bridge (for example a LiteLLM proxy) pointed at the base URL below.
export OPENAI_BASE_URL="https://your-site/api/v1"
export OPENAI_API_KEY="ifg_your_key_here"Limits & credits
| Plan | Requests / min | At once |
|---|---|---|
| Free | 10 | 2 |
| Unlimited | 120 | 10 |
Premium metering is pending verification. The provisional InfinityGPT baseline is 225 credits per 5 hours and 1,575 per week, multiplied by 3, 5 or 10. These are not verified ChatGPT Plus allowances, and premium requests are paused. Open models never use credits. Repeat identical requests may be served from cache (X-Cache: HIT) and don't count as usage.
Errors
401Key missing, wrong or revoked.403Model needs a higher plan.404Unknown model ID.429Too fast. Wait for theRetry-Afterseconds.502 / 503Provider unreachable or not connected. We retry other nodes first.