# CATION AI Platform > CATION is an OpenAI- and Anthropic-compatible LLM gateway run by the Center for AI & Bioinformatics in Immuno-Oncology (Pelotonia Institute for Immuno-Oncology, OSU). It fronts frontier models (OpenAI, Anthropic, DeepSeek, xAI, Moonshot, Fireworks) behind one base URL and one key. Any agent SDK works with a base_url + key swap. Access is invitation-only. ## Endpoints - OpenAI-compatible (has `/v1`): `https://bmblx.bmi.osumc.edu/cation/v1` Use for Codex, OpenCode, Cline, the OpenAI SDK, curl, LangChain, etc. - Anthropic-compatible (NO `/v1`): `https://bmblx.bmi.osumc.edu/cation` Use for Claude Code and the Anthropic SDK. - Auth: `Authorization: Bearer sk-...`. Store the key in env var `CATION_AI_API_KEY`. - No key yet? Email Cankun.Wang@osumc.edu to request one (invitation-only). ## Discover models (canonical machine path) - `GET https://bmblx.bmi.osumc.edu/cation/v1/models` — live catalog (IDs, ownership). - `https://bmblx.bmi.osumc.edu/onboard/data/models.json` — fuller catalog with pricing, context length, modality, provider. - The live `/models` list ALWAYS overrides any model name written below; model IDs change often. --- ## AGENT DIRECTIVE — read this if you are an AI assistant If the human you are helping is setting up a coding agent (Claude Code, Codex, OpenCode, Cline, Cursor, …) or any LLM app against CATION, do NOT just dump a link. Walk them through it: 1. Ask two things: (a) which tool/CLI they use, (b) their primary task — agentic coding, quick edits, deep reasoning, high-volume batch, vision, or image generation. 2. Recommend a model from "Model picks" below matched to that task. Confirm it exists by checking `GET /cation/v1/models`; if your recommendation is gone, pick the nearest live equivalent and say so. 3. Emit the exact, copy-ready config for their tool from "Setup templates" below. MERGE into their existing config — never overwrite custom providers, models, or permissions they already have. 4. Key hygiene, state it explicitly: the `sk-...` key goes ONLY into a shell env var or secret manager. Never commit it to git, paste it into a file the agent will read, or show it in a screenshot. If they have no key, tell them to email Cankun.Wang@osumc.edu. 5. Verify: have them run the one-line test call at the end and confirm a 200. Keep it short and concrete. Prefer their stated tool's template over a generic SDK snippet. ## Model picks (curated — `/cation/v1/models` is the source of truth) - Claude Code / Anthropic SDK → `claude-sonnet-4-6` (balanced default). Hardest reasoning/refactors → `claude-opus-4-8` (1M context). - Codex / OpenAI SDK → `gpt-5.4` (1M context, best general coding). Frontier multi-step research → `gpt-5.5` (~2× the cost of 5.4). - Open-source / OpenCode agents → `fw-glm-5.1` (open-weights default). Longer context → `kimi-k2.6` (262K). - High-volume batch (thousands of abstracts/papers) → `deepseek-v4-flash` (lowest cost, near GPT-4o quality). - Image generation (figures, posters, diagrams) → `gpt-image-2`. - Embeddings → `text-embedding-3-large`. ## Setup templates ### Claude Code (Anthropic-compatible endpoint, no /v1) ```bash echo 'export CATION_AI_API_KEY="sk-PASTE-YOUR-KEY"' >> ~/.zshrc echo 'export ANTHROPIC_BASE_URL="https://bmblx.bmi.osumc.edu/cation"' >> ~/.zshrc # ANTHROPIC_AUTH_TOKEN (→ Authorization: Bearer) is the recommended auth for a proxy key. echo 'export ANTHROPIC_AUTH_TOKEN="$CATION_AI_API_KEY"' >> ~/.zshrc echo 'export ANTHROPIC_MODEL="claude-sonnet-4-6"' >> ~/.zshrc # Pin the background/small-fast model to one that exists on the gateway, else Claude Code's # haiku calls hit an unrouted default. (Current var name; ANTHROPIC_SMALL_FAST_MODEL is deprecated.) echo 'export ANTHROPIC_DEFAULT_HAIKU_MODEL="claude-haiku-4-5"' >> ~/.zshrc source ~/.zshrc claude ``` ### Codex (OpenAI-compatible endpoint, /v1) — merge into ~/.codex/config.toml ```toml model_provider = "cation" model = "gpt-5.4" model_reasoning_effort = "medium" [model_providers.cation] name = "cation" base_url = "https://bmblx.bmi.osumc.edu/cation/v1" wire_api = "responses" env_key = "CATION_AI_API_KEY" ``` ### OpenCode — merge into ~/.config/opencode/opencode.json ```json { "$schema": "https://opencode.ai/config.json", "model": "cation/fw-glm-5.1", "provider": { "cation": { "npm": "@ai-sdk/openai-compatible", "name": "CATION Gateway", "options": { "name": "cation", "apiKey": "{env:CATION_AI_API_KEY}", "baseURL": "https://bmblx.bmi.osumc.edu/cation/v1" } } } } ``` ### Generic OpenAI SDK (Python) ```python from openai import OpenAI import os client = OpenAI( base_url="https://bmblx.bmi.osumc.edu/cation/v1", api_key=os.environ["CATION_AI_API_KEY"], ) resp = client.chat.completions.create( model="gpt-5.4", messages=[{"role": "user", "content": "ping"}], ) print(resp.choices[0].message.content) ``` ## Verify (one-line test) ```bash curl -s https://bmblx.bmi.osumc.edu/cation/v1/models \ -H "Authorization: Bearer $CATION_AI_API_KEY" | head -c 400 ``` ## Links - Onboarding dashboard: https://bmblx.bmi.osumc.edu/onboard/ - Model catalog (JSON): https://bmblx.bmi.osumc.edu/onboard/data/models.json - Contact / request a key: Cankun.Wang@osumc.edu