DEVELOPER DOCS

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

  1. Sign in and open your dashboard.
  2. Create an API key. It starts with ifg_ and is shown once, so copy it.
  3. Use this base URL:
https://your-site/api/v1

Authentication

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_here

Chat 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 · unlimited
deepseek-v4.1-flash-freeopen · unlimited
nemotron-3.5-super-vl-freeopen · unlimited
nemotron-3.5-lightning-freeopen · unlimited
glm-5.3-flash-freeopen · unlimited
big-pickleopen · unlimited
flint-40b-freeopen · unlimited
beam-freeopen · unlimited
jev-1.13-freeopen · unlimited
gpt-6.1-solpremium · credits
gpt-6-astrapremium · credits
gpt-6-solpremium · credits
gpt-6-lunapremium · credits
gpt-reservepremium · credits

Cursor, 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

PlanRequests / minAt once
Free102
Unlimited12010

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

  • 401 Key missing, wrong or revoked.
  • 403 Model needs a higher plan.
  • 404 Unknown model ID.
  • 429 Too fast. Wait for the Retry-After seconds.
  • 502 / 503 Provider unreachable or not connected. We retry other nodes first.
Get your API key