⚡

ForgeGrit

Frontier models. Zero cost. No bullshit.
100,000 req/day 38 text models 1 image model · no daily limit OpenAI-compatible $0 in · $0 out · $0 cache $0.00 / 1M tokens

What this is

ForgeGrit serves only full-capability frontier models. No 1B toys, no distilled "lite" tiers, no trial credits that expire into a bill. You register, you get a key, you get 100,000 requests a day. That's the whole product.

The API speaks the OpenAI format, so anything already pointed at /v1/chat/completions works by changing two lines.

Get a key

Your chats are logged. Every request is saved with your account, the time, your IP address, the model, your messages and the reply.

Your API key

Rotate this key? Your current key stops working immediately and anything using it breaks until you paste the new one. Your account, usage, and daily limit are unaffected.
Send it as Authorization: Bearer <key> on every request. Log in any time to see it again, or rotate it below if it leaks.

Playground

Log in above and the playground unlocks here — your key fills in automatically.

Project Frominsidge

Approval required

ForgeGrit has agentic models. They’re more than just agentic, though — they’re a risk.

Project Frominsidge is a ForgeGrit project that lets you access the best models, but we have to accept you first, because these models are risky. Project Frominsidge will allow you to be powerful.

It’s meant for coding, and it has extra guardrails: every Frominsidge conversation starts with rules that keep the model on software work, block malware and exploits, keep secrets out of its replies, rule out sudo, and make it ask before anything destructive.

Model IDFamily
claude-mythos-5-1Claude Mythos 5.1
forge-2Forge 2

Enroll

Log in above to enroll — your API key is all it takes. No password or 2FA.

New enrollments start inactive. Once you’re approved, your existing key reaches /v1/frominsidge/models and the models above. Chats are logged like every other request.

# check your access
curl https://api-forgegrit.serveousercontent.com/v1/frominsidge/status \
  -H "Authorization: Bearer YOUR_KEY"

# once active
curl https://api-forgegrit.serveousercontent.com/v1/frominsidge/models \
  -H "Authorization: Bearer YOUR_KEY"

Project Gamer

Describe a game and get a small 3D world you can explore for 60 seconds. Anyone can use it, no key needed. Each address waits 20 seconds between games.

Mail, storage, and Agent keys

These are for members of Project Frominsidge. Log in above first.

Agent keys

Agent keys (fgag_) are the only keys ForgeStorage accepts. You can have 25. A new key is shown once.

ForgeMail

Your Email ID is a SHA-512 hash of your email. Mail is kept 10 days, then deleted. Type support as the ID to write to support.

ForgeStorage

Up to 20 MB written per day, 1 MB per item. Needs an Agent key. The key stays in this page and is never saved.

Project Comet

Comet is for members of Project Frominsidge. Anyone else who tries it is told to enroll in Project Frominsidge first.

Model IDFamily
trai-6-super-lightweightTrAI 6 Super Lightweight
trai-6-rickTrAI 6 Rick

Beta program

The beta is for members of Project Frominsidge. If you’re approved there, you’re in the beta, with no separate sign-up.

Beta modelsNone yet
Beta benefitsBeta features, and ∞ image generation (no daily image limit)
Beta features200,000 requests per day, up from 100,000
Bonus usage creditsGranted by the owner. 1 credit = 1 request, spent once you reach your daily limit

Check your own limit and credits with GET /v1/usage. Frominsidge status, including beta, is at GET /v1/frominsidge/status.

Quickstart

Base URL:

https://api-forgegrit.serveousercontent.com
curl
Python
OpenAI SDK
JavaScript
curl -X POST https://api-forgegrit.serveousercontent.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-opus-5",
    "messages": [{"role": "user", "content": "Say hello"}]
  }'
import requests

r = requests.post(
    "https://api-forgegrit.serveousercontent.com/v1/chat/completions",
    headers={"Authorization": "Bearer YOUR_KEY"},
    json={
        "model": "claude-opus-5",
        "messages": [{"role": "user", "content": "Say hello"}],
    },
    timeout=300,
)
print(r.json()["choices"][0]["message"]["content"])
from openai import OpenAI

client = OpenAI(
    base_url="https://api-forgegrit.serveousercontent.com/v1",
    api_key="YOUR_KEY",
)

r = client.chat.completions.create(
    model="claude-opus-5",
    messages=[{"role": "user", "content": "Say hello"}],
)
print(r.choices[0].message.content)
const res = await fetch(
  "https://api-forgegrit.serveousercontent.com/v1/chat/completions", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    model: "claude-opus-5",
    messages: [{ role: "user", content: "Say hello" }]
  })
});
const data = await res.json();
console.log(data.choices[0].message.content);

Command line

Chat with every ForgeGrit model from your terminal. Works anywhere Python 3.8+ runs, including Termux.

pip install forgegrit-cli

Sign in — pick one:

forgegrit login              # your ForgeGrit email + password (2FA supported)
forgegrit register           # create a new ForgeGrit account
forgegrit api YOUR_KEY       # use an API key you already have

Then use it:

forgegrit chat                       # interactive chat, replies stream in
forgegrit chat -m claude-sonnet-5-5  # pick a model
forgegrit chat -r                    # resume your latest conversation
forgegrit sessions                   # list saved conversations
forgegrit frominsidge                # Project Frominsidge status / enroll
forgegrit ask "explain recursion"    # one-shot question
cat notes.txt | forgegrit ask        # pipe text in
forgegrit models                     # list models
forgegrit model claude-opus-5        # set your default model
forgegrit usage                      # requests used today
forgegrit whoami                     # show the saved login
forgegrit logout                     # forget the saved key

The model can run commands. In chat it can run shell commands on your machine, as you, in the folder you started from — you approve each one (y / n / a for the rest of the session). sudo, su and doas are always refused. Use --no-commands or /commands off to switch it off.

Inside chat: /model ID, /system TEXT, /clear, /resume [N], /forget [N], /commands on|off, /help, /exit. Conversations are saved to ~/.forgegrit/sessions/. Your key is saved to ~/.forgegrit/config.json, readable only by you. Set FORGEGRIT_API_KEY to override it, or NO_COLOR=1 to turn off colours. Chats sent through the CLI are logged like any other request.

forgegrit-cli on PyPI →

Models

Pass any of these as model. All full-size — nothing here is a distilled variant.

Model IDFamily
forge-1Forge 1 — made by ForgeGrit
claude-opus-5-5Claude Opus 5.5
claude-opus-4Claude Opus 4
claude-sonnet-5-5Claude Sonnet 5.5
claude-haiku-5-5Claude Haiku 5.5
trai-5-super-lightweightTrAI 5 Super Lightweight — Super AGI
trai-4-zynrTrAI 4 Zynr — Super Mythos
trai-5-epicTrAI 5 Epic — Super Partial AGI
claude-opus-5Claude Opus 5
claude-sonnet-5Claude Sonnet 5
claude-opus-4-8Claude Opus 4.8
claude-fable-5-1Claude Fable 5.1 — Mythos tier
claude-fable-5Claude Fable 5
gpt-6-astraGPT 6 Astra — flagship
gpt-6.1-solGPT 6.1 Sol
gpt-5.6-solGPT 5.6 Sol
gpt-5.6-terraGPT 5.6 Terra
gpt-5.6-lunaGPT 5.6 Luna
gpt-5.3GPT 5.3
moonshotai-kimi-k3Kimi K3
z-ai-glm-5.3GLM 5.3
xai-grok-4.5Grok 4.5
gemini-3.1-proGemini 3.1 Pro
gemini-3.7-flashGemini 3.7 Flash
minimax-m3MiniMax M3
minimax-m2.5MiniMax M2.5
gemini-4-argonGemini 4 Argon
gemini-1.5-proGemini 1.5 Pro
gemini-1.5-flashGemini 1.5 Flash
gemini-1.5-flash-liteGemini 1.5 Flash Lite
gemini-3.8-flashGemini 3.8 Flash
gemma-4-31b-itGemma 4 31B IT — thinking on
qwen-3.8-maxQwen 3.8 Max — 2.4T total, 95B active
qwen-qwen3.8-27bQwen3.8 27B
deepseek-v4.1-flashDeepSeek V4.1 Flash
agnes-3.0-flashAgnes 3.0 Flash
agnes-2.5-flashAgnes 2.5 Flash
agnes-2.0-flashAgnes 2.0 Flash

Live list, filtered to what your key can reach:

curl https://api-forgegrit.serveousercontent.com/v1/models \
  -H "Authorization: Bearer YOUR_KEY"

Flagship

ForgeGrit’s own models. Ranked by our tiering, cheapest first — and all $0 here.

Unreleased · Super Partial AGI

TrAI 5 Epic

trai-5-epic
Input
$200M
$0
Output
$2,000M
$0
Cache
$10M
$0

Half the rate of TrAI 4 Zynr. The entry point to the TrAI 5 generation.

Unreleased · Super Mythos

TrAI 4 Zynr

trai-4-zynr
Input
$400M
$0
Output
$4,000M
$0
Cache
$20M
$0

The Super Mythos class flagship. Never released anywhere else at any price.

Unreleased · Super AGI

TrAI 5 Super Lightweight

trai-5-super-lightweight
Input
$800M
$0
Output
$8,000M
$0
Cache
$40M
$0

ForgeGrit rates this the strongest model on the platform — double the rate of TrAI 4 Zynr, and the top of the TrAI 5 line.

The TrAI models are ForgeGrit’s own. Their rate cards, tier names and rankings are ours, not a third party’s, and none carries an independent benchmark. The vendor table below is separate and independently verifiable. Try them against the models there and judge for yourself — every one is free.

Pricing

Every other model here has a published rate card. Below is what each costs on its own API, in USD per million tokens — and what the identical model costs on ForgeGrit.

$0
Input tokens
$0
Output tokens
$0
Cache tokens
Model Input Output Cache ForgeGrit
GPT 6 Astragpt-6-astra $10.0011$50.0011$1.00 $0
Claude Fable 5.1claude-fable-5-1 $10.00$50.00$0.2510 $0
Claude Fable 5claude-fable-5 $10.00$50.00$1.00 $0
Claude Opus 5claude-opus-5 $5.00$25.00$0.50 $0
Claude Opus 4.8claude-opus-4-8 $5.00$25.00$0.50 $0
GPT-5.6 Solgpt-5.6-sol $4.001$20.001$0.40 $0
Claude Sonnet 5claude-sonnet-5 $3.002$15.002$0.30 $0
Kimi K3moonshotai-kimi-k3 $3.00$15.00$0.30 $0
GPT 5.6 Terragpt-5.6-terra $2.008$12.00$0.20 $0
Grok 4.5xai-grok-4.5 $2.006$6.00$0.307 $0
GLM 5.3z-ai-glm-5.3 $1.405$4.405$0.265 $0
Gemini 3.1 Progemini-3.1-pro $2.003$12.00$0.20 $0
Gemini 3.7 Flashgemini-3.7-flash $0.754$3.754$0.08 $0
Qwen3.8 27Bqwen-qwen3.8-27b $0.8012$4.0012— $0
GPT 5.6 Lunagpt-5.6-luna $0.208$1.20$0.02 $0

What that means in practice

A month of moderate agent work — 10M input tokens and 2M output — run on the top model:

$150
Fable 5, list price
$100
Opus 5, list price
$0.00
Either one, here
There is no catch and no upsell. No paid tier exists. No credit card is collected. No trial credits expire into a bill. The only limit is 100,000 requests a day, and it is there to stop abuse, not to sell you a way around it.

Everywhere else the money usually hides

Line itemForgeGrit
Setup or onboarding fee$0.00
Monthly minimum$0.00
Overage past the daily limitNot billed — the request is refused
Priority or "pro" tierDoes not exist
Credit card to registerNot collected
Trial credits that expireNone issued
Charge for a failed request$0.00
Chats loggedYes — with your account, time, IP and model
Data soldNo

So what's the catch

Honestly: uptime. ForgeGrit runs on self-hosted hardware behind a tunnel, paid for out of pocket. Nobody is billed because nobody is being sold anything — but that also means there is no SLA, no support contract, and no promise the endpoint answers at 3am. /health is the honest answer at any given moment.

The 100,000 daily requests exist to stop one client from starving everyone else. Hit it and you get a 429, never an invoice.

Rates verified 27 August 2026 against each provider's published pricing. Cache figures are cache-read (hit) rates. Vendor pricing moves; check the source before budgeting against these numbers.
1 GPT-5.6 Sol promotional rate through 21 Nov 2026; standard is $5.00 / $30.00.
2 Claude Sonnet 5 standard rate; introductory $2.00 / $10.00 runs through 31 Aug 2026.
3 Gemini 3.1 Pro input doubles to $4.00 on prompts above 200K tokens.
4 Gemini 3.7 Flash introductory rate through 31 Dec 2026; doubles to $1.50 / $7.50 on 1 Jan 2027.
5 Z.ai has not published a per-token rate for GLM 5.3; these are the GLM 5.2 rates its price table still lists. GLM 5.3 currently sells only through Z.ai's Coding Plan at $18–$168/month.
6 Grok 4.5 doubles to $4.00 / $12.00 on prompts at or above 200K tokens, and again for priority processing.
7 Sources disagree on Grok 4.5's cache rate: some list $0.30, others $0.50. The $0.50 figure appears to be Grok 4.6's.
8 Terra and Luna rates reflect OpenAI's 30 Jul 2026 cut. Long-context requests meter higher: Terra $4.00 / $18.00, Luna $0.40 / $1.80.
10 Fable 5.1 shipped 1 Sep 2026. Input and output match Fable 5; the cache read fell 75% to $0.25 — 2.5% of its input rate rather than the 10% most models charge, and half what Opus 5 charges to read cache.
11 GPT 6 Astra shipped 3 Sep 2026 and matches Fable 5.1's headline exactly, though its cache read is $1.00 against Fable's $0.25. Cache writes are $12.50. Batch and Flex halve these rates; Fast mode doubles them; prompts above 272K tokens reprice the whole request at 2× input and 1.5× output.
12 Qwen3.8 27B rates are Groq's, priced 27 Aug 2026 at 450 tokens/sec. Groq lists it as a Preview model, which its own docs warn may be discontinued at short notice. Other hosts serve the same open-weight model from $0.15 / $0.90 upward, so the rate varies widely by provider.

Endpoints

Logging: every chat request is logged with your account, timestamp, IP address, model, messages and reply. Responses carry an X-ForgeGrit-Notice: Chats are logged header.
MethodPathPurpose
POST/registerCreate an account
POST/authenticate/emailExchange credentials for a key
POST/authenticate/rotateRevoke your key and issue a new one
POST/authenticate/statusCheck whether 2FA is on
POST/authenticate/change-passwordChange your password
POST/authenticate/2fa/setupGenerate a TOTP secret
POST/authenticate/2fa/enableConfirm the secret and switch 2FA on
POST/authenticate/2fa/disableSwitch 2FA off
GET/v1/modelsList available models
GET/v1/usageRequests used and remaining today
POST/v1/chat/completionsChat completion (OpenAI format)
POST/v1/messagesChat completion (Anthropic format)
GET/v1/images/modelsImage models (flux-image)
POST/v1/images/generationsQueue an image, returns a job id
GET/v1/images/jobs/{id}Poll an image job
GET/v1/queueImage queue depth
GET/healthService status — no key needed

Register

curl -X POST https://api-forgegrit.serveousercontent.com/register \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com","password":"your-password"}'

Get your key

curl -X POST https://api-forgegrit.serveousercontent.com/authenticate/email \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com","password":"your-password"}'

Returns api_key, owner_id, and rpd_limit. Logging in again always returns the same key, so there is nothing to lose — if you misplace it, just log in.

Rotate your key

Keys do not expire. If yours ends up somewhere it shouldn't — a screenshot, a commit, a pasted log — rotate it. This revokes every existing key on the account and issues a new one. The old key stops working immediately.

curl -X POST https://api-forgegrit.serveousercontent.com/authenticate/rotate \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com","password":"your-password"}'

Your account, usage history, and daily limit are unaffected — only the key changes.

Two-factor authentication

ForgeGrit supports time-based one-time codes (TOTP) from any authenticator app — Aegis, Google Authenticator, 1Password, whatever you already use. With it on, a stolen password is not enough to log in, and a code someone captures is dead within thirty seconds.

Enrol in two calls. The first returns a secret and an otpauth:// URI:

curl -X POST https://api-forgegrit.serveousercontent.com/authenticate/2fa/setup \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com","password":"your-password"}'

Add the secret to your authenticator, then confirm with a live code:

curl -X POST https://api-forgegrit.serveousercontent.com/authenticate/2fa/enable \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com","password":"your-password","code":"123456"}'

From then on, include code when you log in, rotate, or change your password. Each code works once — reusing one returns code_reused, so wait for the next.

/authenticate/2fa/disable turns it off and takes the same password plus code.

Change your password

curl -X POST https://api-forgegrit.serveousercontent.com/authenticate/change-password \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com","password":"old","new_password":"new","code":"123456"}'

Your API key survives a password change. Omit code if 2FA is off.

Using ForgeGrit inside someone else’s app

Because keys are free and per-account, apps can ask each user for their own ForgeGrit key instead of shipping one. Good pattern — but get your key here and paste it in.

Never type your ForgeGrit password into a third-party app. An app that asks for your email and password can read it in plaintext, and most people reuse passwords. Give it your API key instead: a key only reaches ForgeGrit, and you can revoke it here in one click. Turning on 2FA closes the gap further — a captured password is useless without a live code.

Streaming

Add "stream": true for server-sent events. Chunks arrive as data: lines, terminated by data: [DONE].

curl -N -X POST https://api-forgegrit.serveousercontent.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "messages": [{"role": "user", "content": "Count to five"}],
    "stream": true
  }'

Images

One image model, flux-image, served by Pollinations.ai on their anonymous tier. It has no daily limit. Requests are queued and run one at a time, about one every 15 seconds, so a request can wait behind others. Images may carry a watermark.

curl -X POST https://api-forgegrit.serveousercontent.com/v1/images/generations \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"flux-image","prompt":"a red fox in fresh snow","size":"1024x1024"}'

The call returns a job_id straight away. Poll it until status is done. While it waits, position is how many jobs are ahead of yours. When it is done, data[0].url holds the image.

curl https://api-forgegrit.serveousercontent.com/v1/images/jobs/JOB_ID \
  -H "Authorization: Bearer YOUR_KEY"

GET /v1/queue shows how busy the image queue is. A full queue answers 503.

Health

curl https://api-forgegrit.serveousercontent.com/health

{"status":"ok","inference":"ok"} means inference is up. degraded means the backend is unreachable — retry shortly.

Parameters

FieldTypeNotes
modelstringRequired. One of the IDs above.
messagesarrayRequired. {role, content} objects. Roles: system, user, assistant.
streambooleanSSE streaming. Default false.
temperaturenumberSampling randomness.
top_pnumberNucleus sampling.
max_tokensintegerResponse length cap.

Limits & errors

Check where you stand at any time:

curl https://api-forgegrit.serveousercontent.com/v1/usage \
  -H "Authorization: Bearer YOUR_KEY"

100,000 requests per day per account — the quota follows the account, not the key, so rotating does not reset it. The counter resets at midnight. There is no paid tier to upgrade to — the limit exists to stop abuse, not to sell you anything.

CodeMeaningFix
400Missing model or messagesCheck the request body
401Missing or invalid keyVerify the Authorization header
404Unknown model IDCall /v1/models for the live list
409Email already registeredLog in instead
429Daily limit hitWait for the reset
502Inference backend downCheck /health, retry
Availability: ForgeGrit runs on self-hosted hardware behind a tunnel. If a request times out, the tunnel is likely cycling — /health tells you for sure.