SUMMA

Developer Platform

Cursor

Use Summa models in Cursor chat via a custom OpenAI base URL — single models and live debate, right in the chat pane.

1

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.

  1. Open Cursor SettingsModels.

  2. Enable Override OpenAI Base URL and set the Base URL to https://alpha.backend.summachat.com/api/v1.

  3. Set the OpenAI API Key to your Summa key.

  4. Add custom model names: summa-fast and summa-debate (optionally summa-debate-coding).

  5. 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-coding

Custom 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.

2

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 any summa/<slug>) and pick it.

  • Switching between single models and debate is just picking a different model in the dropdown — nothing else changes.

3

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) and summa-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-fast to summa-debate mid-session and the next message routes to the new panel. In code and the TUIs, the same switch is literally changing the model string.

  • Cursor's background agent stays on Cursor's backend — Summa models only apply in chat mode.

4

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 as summa/<slug> without the summa/ prefix).

  • moderator: optional, but if set it must be one of the models in panel. Omit it and panel[0] moderates.

  • The summa block overrides the model string and works on /chat/completions, /responses, and /v1/messages.

  • To build custom panels, see the cURL and Python guides.

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: 401 missing/invalid key, 402 out of API credit (top up at Credits), 400 bad summa block.