SUMMA

Developer Platform

Models & debate panels

Every model id you can pass to the API — from a single fast model to a custom multi-model debate panel — plus how to discover them all.

Model

Mode

Description

summa-fast

One model

A single strong model answers directly — fast and low-cost, with full tool support (file edits, shell). The right default for everyday coding.

summa-debate

Panel of models

A default panel of models each answer, then a moderator synthesizes one best answer. Higher quality on hard questions, but slower and pricier. Stream it to watch the debate live; tools are accepted but not invoked.

summa-debate-coding

Preset panel

Curated debate panel tuned for coding: Claude Sonnet 4.5 (moderator) + GPT-5 + Gemini 2.5 Pro.

summa-debate-reasoning

Preset panel

Curated debate panel tuned for hard reasoning: GPT-5 (moderator) + Claude Opus 4.1 + Gemini 2.5 Pro.

summa/<slug>

Any single model

Passthrough to any model in the catalog, e.g. summa/x-ai/grok-4 or summa/openai/gpt-5. Full tool support. Discover every slug via GET /v1/models.

Build a custom panel — the summa block

Pass a summa block on the request body to run your own debate panel. It works on /chat/completions, /messages, and /responses, and overrides the model string when present.

summa block

"summa": {
  "panel": ["openai/gpt-5", "anthropic/claude-sonnet-4.5"],
  "moderator": "anthropic/claude-sonnet-4.5"
}
  • panel — 2 to 8 model slugs (the same ids you see as summa/<slug>, without the prefix).

  • moderator — optional; must be one of panel. It synthesizes the final answer. Omit it and the first panel model moderates.

  • Cost is the sum of every panel model's turn, so a debate is slower and more expensive than a single model — see Credits.

Discover models — GET /v1/models

One endpoint lists everything you can run: summa-fast, summa-debate, the curated presets, and every catalog model as summa/<slug>. Three steps: list (or search) the models, pick an id from the response, pass it as your model.

1 · list or search

# Everything, a page at a time (has_more tells you when to stop)
curl "https://alpha.backend.summachat.com/api/v1/models?limit=50&offset=0" \
  -H "Authorization: Bearer YOUR_API_KEY"

# Or search by name — e.g. every Claude model
curl "https://alpha.backend.summachat.com/api/v1/models?search=claude&limit=50" \
  -H "Authorization: Bearer YOUR_API_KEY"

# SDKs work too: client.models.list()  (OpenAI SDK)

2 · use an id

// Each entry in data[] is { id, display_name }. Pass any id straight as the model:
{ "model": "summa/openai/gpt-5", "messages": [...] }

// In a summa panel, drop the "summa/" prefix — panels take bare slugs:
{
  "model": "summa-debate",
  "summa": { "panel": ["openai/gpt-5", "anthropic/claude-sonnet-4.5"] },
  "messages": [...]
}