Concepts
Nine terms cover the whole system. In the beta, the live request fields in the API reference are input, compute, and stream; every run uses the default balanced-4 panel. panel, layers, and aggregator describe how a run is configured under the hood — per-run control over them arrives through the beta, previewed below.
Run
A run is one orchestrated answer: the unit of work and the unit of billing. You send one prompt; Moamao fans it out to a panel, runs the layers, aggregates, and returns one answer with a trace. Whatever happens inside — four models, two layers, a judge — it's one run on your invoice. A prompt that smart routing sends to a single fast model counts as a quarter of a run.
Panel
The panel is the set of models that answer your prompt. You choose how many — up to four proposers per run — and which ones, from any provider family Moamao supports (claude, gpt, gemini, deepseek, qwen, glm, minimax) or an OpenAI-compatible endpoint of your own. Mixing providers is the point: models trained on different data fail in different places, so their blind spots cancel out. In the beta you name a preset; direct inline panel definitions arrive later in the beta and will look like this:
{
"panel": {
"proposers": ["claude-*", "gpt-*", "gemini-*", "deepseek-*"]
}
}Proposer
A proposer is one model on the panel. In layer 1 each proposer answers your prompt independently and in parallel, without seeing the others. In layer 2 the same proposers switch roles: each one reads the other drafts and revises its own.
Layer
Layers are the sequential stages of a run; the calls inside each layer run in parallel. Layer 1 is propose: independent drafts. Layer 2 is critique: each proposer reads the others' drafts, flags disagreements, and revises — weak claims get challenged before anything reaches the judge. layers: 2 (the default) means propose then critique; layers: 1 skips critique for a faster, cheaper run.
"layers": 2 // 1 = propose only, 2 = propose + critique
// per-run control arrives through the betaAggregator (judge)
The aggregator — the judge — is the model that reads the final layer, synthesizes one answer, and records where the panel disagreed. The answer it ships draws on every draft and critique, not just the judge's own read (see the mixture benchmark on the homepage for the measured lift). In the beta the judge is picked automatically — "aggregator": "auto" — and pinning a specific judge per run arrives through the beta.
Trace
The trace is the run's complete record: every draft, every critique, and the judge's decision, each tagged with the model that produced it, plus the disagreements the judge recorded. Traces are replayable, so you can audit any answer after the fact. They're encrypted at rest. Moamao Cloud runs also help train and improve our own models (you can opt out anytime; BYOK runs never do), and a zero-retention option discards them once the response is delivered and excludes them from training.
Smart routing
Not every prompt deserves a mixture. Smart routing inspects each request and sends easy ones — lookups, formatting, short transformations — to a single fast model instead of the full panel. Routed requests are billed as a quarter of a run, and the trace says the request was routed so nothing is hidden. You only pay mixture latency and cost when the question earns it.
Moamao Cloud
Moamao Cloud is our managed mixture endpoint: the zero-setup compute mode that runs the full propose–critique–aggregate mixture on managed capacity, so you never manage a provider. It's the default — "compute": "moamao-cloud" — and it's metered per token, input plus output across the whole mixture. Paid plans include a monthly Moamao Cloud credit equal to their price. Availability is honest, not an SLA: it runs on managed capacity that may queue briefly when demand is high, and the Build workspace shows live status. BYOK runs stay billed per run on your own provider rates; in the open beta BYOK runs from Build, and per-request mixing of the two modes arrives when API BYOK lands at GA.
Preset
A preset is a named, tuned panel configuration (proposers, layers, and judge chosen for a job), so "panel": "balanced-4" is how a preset will be selected. Current presets: balanced-4 (general-purpose default, the one every beta run uses), code-review, research, and longform. Per-run preset selection and a listing endpoint arrive through the beta.
Ready to call it? The API reference documents every field, error, and limit.