Research previewapply for access. We review each application and email you when it's approved, with your API key ready on the dashboard.

Account

API keys

You create keys from the API keys page (your email in the header → API keys) once your account is approved. Each key is shown once at creation time — copy it then; we only ever store a hash. If you lose it, revoke the key and create a new one.

You can hold up to 10 active keys at a time; revoke ones you no longer use to make room. (Ask an admin if your workflow needs more.)

Keys can be paused and re-enabled with one click, or permanently revoked.

Budgets

A request is checked against several token budgets before it runs. Any budget can refuse it; the 429 budget_exceeded message names the dimension that was hit, so you know which cap to ask us to raise.

  • Per-key monthly budget — a token cap (prompt + completion) that resets on the 1st (UTC). You can set this per key when you create it; "unbounded" means no per-key sub-cap (the account-level total still applies).
  • Account total (monthly) — an aggregate cap across all your keys. Set by an admin; visible on the API keys page. A per-key cap can't exceed the account total.

A key can also have optional sub-budgets. When unset, only the monthly totals above apply:

  • Daily budget — a per-key prompt + completion ceiling that resets every day (UTC), to pace usage across a longer run.
  • Monthly input-token budget — a per-key cap on prompt tokens only.
  • Monthly output-token budget — a per-key cap on completion tokens only.

When a request would exceed any of these, it returns 429 budget_exceeded with a message naming the dimension that was hit. Budget-cap recovery shows how to handle it in code. Don't retry. Monthly, input, and output caps are sticky until the 1st; the daily cap until tomorrow (UTC).

Near the cap: API clamps, Workbench refuses

When a request fits the remaining budget but its max_tokens would exceed it:

  • The API (/v1/*) reduces max_tokens to the headroom and runs the request, flagging the change with an X-Acs-Max-Tokens-Clamped header (requested=N,applied=M,reason=budget,source=client|defaultsource=default when you omitted max_tokens and N is the injected default). Scripts keep making progress; check the header if exact lengths matter.
  • The Workbench and Loom refuse the run with 429 budget_exceeded when prompt + max_tokens (times the number of branches, and summed across Compare lanes) exceeds any remaining dimension. The UI never silently changes a sampling setting you typed — lower max_tokens, shorten the prompt, or pick a key with more budget, and it names which cap was hit.

Where things live

  • API keys — keys, this-month's spend per key, create / pause / revoke buttons.
  • Account — profile, change password, Discord.
  • Usage — usage chart with per-model breakdown for the current month, plus the running totals you'll need for budget planning.
  • Workbench — in-browser prompt UI; saved prompts persist across browsers.

Once you're signed in, all three pages are linked from the top nav.

Asking for more

If you need a bigger budget, an always-on warm window, or access to a model that isn't on the list — use the in-app Feedback button or email infra@acsresearch.org. We read everything; please include your key prefix or name so we can find your account.