Platform
Control plane
The control plane is everything that affects inference, managed from the dashboard: which model serves a workflow, its prompt and parameters, fallbacks, budgets, and optimization goal. Publish, and it applies on the next proxied request - your app keeps sending model: auto.
What you control
- Optimization goal - quality, cost, balanced, or latency (guides apply-audit behavior).
- The
autotarget - which published workflow drives default routing. - Budgets & limits - daily/monthly spend caps and per-minute request/token rates.
- Published architectures - the live model + params per workflow.
Per-workflow architecture editor
Each workflow has an architecture editor: model, fallbacks, cost route, system prompt, temperature, max_tokens, top_p, frequency/presence penalty, stop sequences, tools JSON, tool_choice, and response_format. Save a draft, then Publish to go live.
javascript
// App code never changes - keep model: "auto"
const res = await openai.chat.completions.create({
model: "auto",
messages: [{ role: "user", content: "..." }],
});
// Cran injects the published system_prompt + params for this workflowBenchmark → publish
- Run an audit from a workflow or Compare.
- Review the scores and the exported routing policy.
- Click Apply audit & publish - writes the recommendation + policy defaults and publishes the architecture.
- Traffic on
model: auto(or the workflow slug) uses the new settings immediately.
Routing headers
x-cran-route: cost- use the cost-route model from the published architecture.x-cran-model/x-cran-source- response headers showing exactly what Cran served.