This page is for anyone with a gateway key. It explains, in plain language, how to make a tool talk to the gateway. The gateway is one front door to many AI models. You point your tool at the front door. The gateway decides which real provider answers. You never touch a provider key. You need two things before you start:
Treat your key like a password. Do not share it, do not paste it into a document, and do not commit it to a code repository.

The one idea: base URL + key + model

Every tool that talks to an AI model needs three settings. Once you understand these three, every tool is the same. The gateway speaks two dialects of the same language: the OpenAI dialect and the Anthropic dialect. Your tool speaks one of them. Both reach the same models behind the same door.

OpenAI-compatible tools

Use this for opencode, aider, Codex, Cursor, Open Design, and any tool that asks for an “OpenAI base URL”.
1

Set the base URL

https://api.hjc925.cloud/v1
2

Set the API key

Paste your own key. Do not share keys.
3

Set the model

Use a model name from the list below.
As environment variables, in a terminal:
In a Python client:

Anthropic tools

Use this for Claude Code and other tools that speak the Anthropic protocol.
Do not set ANTHROPIC_API_KEY. The gateway reads ANTHROPIC_AUTH_TOKEN.
If Claude Code is already logged into your own Anthropic subscription, you can keep using that login directly — it is not metered by the gateway. Use a gateway key when you want one key across tools or when someone needs access without their own subscription. See Connect a CLI for the full comparison.

Model names: full names and wildcards

Give the full name of the model you want:
Ask the gateway for the full list rather than trusting this one — it answers with every name it will accept, and this page cannot go stale in the way the list can:

How wildcards change things

Two routes on the gateway are wildcards: chatgpt/* and anthropic/*. A wildcard means “any model under this provider that is not listed exactly”, so a new model from either of those two works without anyone registering it first:
There is no openrouter/* or gemini/* wildcard. Models under those prefixes work only when they are registered by name — gemini/gemini-3.8-flash and the four openrouter/… entries are, and anything else under those prefixes is refused with no healthy deployments for this model. If a model name starts with openrouter/, the gateway sends it through OpenRouter. You do not need anyone to add the exact model first.
A name with openrouter/ in front goes to OpenRouter. OpenRouter charges for each request, separately from the gateway’s own providers. Access to OpenRouter models may be restricted per team.

Why names look “doubled”

A name like minimax/MiniMax-M3 has two parts. The part before the slash is the provider (who serves it). The part after is the model. The gateway uses both to decide the real route. Not every name has a prefix. deepseek-v4.1-flash and qwen3.8-max are public names with no provider in front of them, and the gateway matches the whole string — so a prefix you add yourself makes it a different name and it will not be found. When a model is registered twice under the same full name — a pool — the gateway spreads your requests across both routes automatically. You do nothing; you just use the name.

How to find what models exist

Ask the gateway itself. This returns the list of models your key may call:
A working key returns a JSON list. A wrong key returns 401.

Test your key

Run this in a terminal. It sends one short request.

What your key can and cannot do

Your key makes model requests. That is all. If a request fails with a budget error, your key has hit its limit. Ask Herman to raise it. That is a normal conversation, not a fault.

Tools, MCP and skills

Some agents can use extra tools. The gateway can attach MCP servers (remote tools like context7, which fetches current library documentation) and skills (stored instructions). If your agent supports MCP, you can point it at the gateway to discover what tools are available. What you see depends on what Herman has allowed your key to reach.
1

Connect your agent

Point it at the gateway with your key, as shown above.
2

Look for tools

The agent lists the MCP tools it can use. Approve only what your task needs.
3

Ask Herman for more

If a tool you need is not listed, the key’s access may not include it. Ask Herman.
An MCP tool returns content the model treats as fact. Use tools you trust. If a tool asks for a credential, do not paste a gateway key into it — ask Herman how the tool should authenticate.

The other address

The gateway has a second address: https://llm.hjc925.cloud. This is the gateway site: the front page, the API reference, and the dashboard. Your key works on both addresses. The dashboard at https://llm.hjc925.cloud/ui is where you sign in to see your key’s usage and limits. The management pages there are for the admin.
Use https://api.hjc925.cloud/v1 in your tools. Use https://llm.hjc925.cloud/ui when you want to check your own usage in a browser.

Checking a pooled model is healthy

If a public name is served by more than one upstream, a failure is rarely total — it is usually one member of the pool refusing while the others carry on. That makes it look intermittent from the client side. Companion -> Pool status shows which members are answering, what weight each carries, and where traffic is actually going. Loading it costs nothing; the Check now button runs a live check against every member.
Weights are set on the same Companion door, not in the tool you call the gateway from. Nothing in your client configuration changes when a pool member is held out — the public name and your key stay the same, which is the point of the pool.

More