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-fastOne 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-debatePanel 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-codingPreset panel
Curated debate panel tuned for coding: Claude Sonnet 4.5 (moderator) + GPT-5 + Gemini 2.5 Pro.
summa-debate-reasoningPreset 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 assumma/<slug>, without the prefix).moderator— optional; must be one ofpanel. 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": [...]
}