Cursor
Use Summa models in Cursor chat via a custom OpenAI base URL — single models and live debate, right in the chat pane.
Connect Cursor to Summa
Cursor speaks the OpenAI protocol. Point it at Summa's OpenAI-compatible endpoint and your Summa models show up in the chat model picker. Grab a key from API Keys first.
Open
Cursor Settings→Models.Enable Override OpenAI Base URL and set the Base URL to
https://alpha.backend.summachat.com/api/v1.Set the OpenAI API Key to your Summa key.
Add custom model names:
summa-fastandsumma-debate(optionallysumma-debate-coding).Disable the built-in models so requests route to Summa, then click Verify.
Cursor Settings → Models
Override OpenAI Base URL: https://alpha.backend.summachat.com/api/v1
OpenAI API Key: <YOUR_SUMMA_KEY>
Custom models: summa-fast, summa-debate, summa-debate-codingCustom endpoints require a paid Cursor plan and apply to chat mode (Cmd/Ctrl+L). Cursor's background agent always uses Cursor's own backend — it will not route through Summa, so use chat mode for Summa models.
Single mode — summa-fast
Pick summa-fast in the chat model dropdown and start prompting. This is one fast model with full tool support (file edits, shell) — the best default for agentic coding in Cursor.
Cursor chat (Cmd/Ctrl+L)
Model: summa-fast
Refactor this file to extract the fetch logic into a hook and add error handling.Any single catalog model works too — add a custom model named
summa/openai/gpt-5(or anysumma/<slug>) and pick it.Switching between single models and debate is just picking a different model in the dropdown — nothing else changes.
Debate mode — summa-debate
Select summa-debate in the model dropdown. A panel of models each answer and a moderator synthesizes one answer. It is slower and pricier — a 3-model debate costs roughly 3× a single model — but the reasoning is stronger. Tools are accepted but not invoked during debate.
Cursor chat (Cmd/Ctrl+L)
Model: summa-debate
Compare optimistic UI vs. server-confirmed updates for our comment box.
Weigh the tradeoffs and recommend one.You'll feel the debate. On a summa-debate request the panel streams a live transcript — a short header, then each model's turn as it finishes, then a ── Synthesized answer ── divider before the moderator's final answer streams token by token. No more staring at a frozen stream while the panel thinks.
The preset panels are also selectable as custom models:
summa-debate-coding(Claude Sonnet 4.5 moderator + GPT-5 + Gemini 2.5 Pro) andsumma-debate-reasoning(GPT-5 moderator + Claude Opus 4.1 + Gemini 2.5 Pro).Switching modes is just picking a different model in the chat dropdown — hop from
summa-fasttosumma-debatemid-session and the next message routes to the new panel. In code and the TUIs, the same switch is literally changing themodelstring.Cursor's background agent stays on Cursor's backend — Summa models only apply in chat mode.
Custom panel — the summa block
A custom panel is the summa request-body block: you choose the exact panel and moderator. Cursor has no raw body editor, so custom summa-block panels are for the SDK/curl paths — in Cursor use the preset model ids (summa-debate, summa-debate-coding, summa-debate-reasoning) instead.
summa block (SDK / curl request body)
{
"model": "summa-debate",
"messages": [{ "role": "user", "content": "..." }],
"stream": true,
"summa": {
"panel": ["openai/gpt-5", "anthropic/claude-sonnet-4.5"],
"moderator": "anthropic/claude-sonnet-4.5"
}
}panel: 2 to 8 distinct slugs (the same ids assumma/<slug>without thesumma/prefix).moderator: optional, but if set it must be one of the models inpanel. Omit it andpanel[0]moderates.The summa block overrides the model string and works on
/chat/completions,/responses, and/v1/messages.
Get models
Discover model ids to add as Cursor custom models with GET /models. Any id from data[] can be used directly as summa/<id>, or dropped into a summa panel without the summa/ prefix.
curl — discover model ids
curl "https://alpha.backend.summachat.com/api/v1/models?search=gpt&limit=50&offset=0" \
-H "Authorization: Bearer $SUMMA_API_KEY"
# → { "object": "list", "data": [{ "id": "openai/gpt-5", "display_name": "GPT-5", ... }], "has_more": false }Add a chosen id to Cursor as a custom model named
summa/openai/gpt-5, then pick it in the chat dropdown.
Next
Browse the full catalog on Models and manage prepaid balance on Credits. Point an AI agent at https://summachat.com/llms.txt to have it integrate Summa on its own.
Common errors:
401missing/invalid key,402out of API credit (top up at Credits),400bad summa block.