Keep the reasoning. Control the run.
Prizmal manages inference for coding agents: curated open and frontier models, compute that adapts during generation, and policy enforced as the answer unfolds.
Keep your harness, prompts, and tools. We manage the models, the handoffs, and the record of each run.
Agent task completion
84/100
Terminal-Bench v2.1
July 2026 · internally reported
Availability
99.9%
Monthly routing availability target.
Run controls
Policy during execution
Budgets, model permissions, and reviewable decisions.
Beyond intelligent routing
Serverless managed inference for coding agents. The control layer keeps deciding while the answer is written: open models carry the routine spans; frontier steps in only when the span requires it. We evaluate new models as they ship and update the mixture for your workload.
Routers dispatch requests. Prizmal governs tokens: the decision happens while the answer is written, not before it.
The Controller continues deciding during generation. Frontier capacity handles demanding spans, subject to the run policy.
RASP (Residual-Aware Sparsification) adapts compute inside open models for routine spans. Task constraints guide the managed run.
Budgets and model permissions apply during execution. Operational metadata makes decisions reviewable.
Inside the Controller
Illustrative system view · model classes, not named models
Full topology. Requests, context and policy enter one boundary. The Controller assigns each span to a model class, the response returns to your harness, and every decision lands on the audit rail.
Anatomy of a managed run
Decisions continue within the response. Move the cursor or pick an event to inspect each span.
Illustrative system view · synthetic example · 512 tokens
Signal and allocation are an authored illustrative scenario, not allocation computed from the threshold.
Illustrative allocation, not a measured token stream.
The record contains operational metadata, not retained prompt or completion content.
Model a scenario
A quick look at what Prizmal managed inference could do for your workload
Illustrative workload assumptions. Adjust these inputs to match your usage.
- Comparison baseline
- $577,500
- Prizmal total
- $199,125
- Platform ($50/seat/month)
- $30,000
- Routing ($0.75 / 1k calls)
- $4,125
- Modeled compute ($0.20/M)
- $165,000
66% lower than the annual comparison.
Assumptions: 250 working days/year, $50 per seat per month platform fee, $0.75 per 1,000 routed calls, 150,000 tokens per call. Modeled compute blend: $0.20/M tokens. Comparison blend: $0.70/M tokens. Blends are assumptions, not market quotes. Actual usage and mix are metered per agreement. The seat fee is not an all-in usage total. See Pricing.
Control the run as it happens
Budgets and model permissions apply during execution. Every decision is reviewable as operational metadata.
Permission gate
4
3 allowed · 1 restricted
Budget gate
5
Approaching limit from evt_07
Frontier tokens
23.4%
Sample value · 120 of 512
Records written
10
Metadata only, no prompt content
Model allocation strip
Open model 69.9% · Specialized open 6.6% · Frontier 23.4% · sample values
Metadata ledger
| event | ts | tok | kind | model class | gate | outcome |
|---|---|---|---|---|---|---|
| T+0.00s | 0 | admit | Open model | budget | allowed | |
| T+1.32s | 110 | escalate | Frontier | permission | allowed | |
| T+1.80s | 150 | return | Open model | budget | allowed | |
| T+2.35s | 196 | route | Specialized open | permission | allowed | |
| T+2.76s | 230 | return | Open model | budget | allowed | |
| T+3.22s | 268 | escalate | Frontier | permission | allowed | |
| T+3.72s | 310 | return | Open model | budget | allowed | |
| T+4.82s | 402 | escalate | Frontier | permission | restricted | |
| T+5.28s | 440 | return | Open model | budget | allowed | |
| T+6.14s | 512 | complete | Open model | record | recorded |
Sample export · 10 records
{
"note": "Illustrative system view · synthetic example",
"records": [
{
"synthetic": true,
"run_id": "run_sample_0417",
"event_id": "evt_01",
"ts": "T+0.00s",
"token": 0,
"kind": "admit",
"model_class": "open",
"rasp": true,
"gate": "budget",
"outcome": "allowed",
"budget_state": "within"
},
{
"synthetic": true,
"run_id": "run_sample_0417",
"event_id": "evt_02",
"ts": "T+1.32s",
"token": 110,
"kind": "escalate",
"model_class": "frontier",
"rasp": false,
"gate": "permission",
"outcome": "allowed",
"budget_state": "within"
},
{
"synthetic": true,
"run_id": "run_sample_0417",
"event_id": "evt_03",
"ts": "T+1.80s",
"token": 150,
"kind": "return",
"model_class": "open",
"rasp": true,
"gate": "budget",
"outcome": "allowed",
"budget_state": "within"
},
{
"synthetic": true,
"run_id": "run_sample_0417",
"event_id": "evt_04",
"ts": "T+2.35s",
"token": 196,
"kind": "route",
"model_class": "specialized",
"rasp": false,
"gate": "permission",
"outcome": "allowed",
"budget_state": "within"
},
{
"synthetic": true,
"run_id": "run_sample_0417",
"event_id": "evt_05",
"ts": "T+2.76s",
"token": 230,
"kind": "return",
"model_class": "open",
"rasp": true,
"gate": "budget",
"outcome": "allowed",
"budget_state": "within"
},
{
"synthetic": true,
"run_id": "run_sample_0417",
"event_id": "evt_06",
"ts": "T+3.22s",
"token": 268,
"kind": "escalate",
"model_class": "frontier",
"rasp": false,
"gate": "permission",
"outcome": "allowed",
"budget_state": "within"
},
{
"synthetic": true,
"run_id": "run_sample_0417",
"event_id": "evt_07",
"ts": "T+3.72s",
"token": 310,
"kind": "return",
"model_class": "open",
"rasp": true,
"gate": "budget",
"outcome": "allowed",
"budget_state": "approaching"
},
{
"synthetic": true,
"run_id": "run_sample_0417",
"event_id": "evt_08",
"ts": "T+4.82s",
"token": 402,
"kind": "escalate",
"model_class": "frontier",
"rasp": false,
"gate": "permission",
"outcome": "restricted",
"budget_state": "approaching"
},
{
"synthetic": true,
"run_id": "run_sample_0417",
"event_id": "evt_09",
"ts": "T+5.28s",
"token": 440,
"kind": "return",
"model_class": "open",
"rasp": true,
"gate": "budget",
"outcome": "allowed",
"budget_state": "approaching"
},
{
"synthetic": true,
"run_id": "run_sample_0417",
"event_id": "evt_10",
"ts": "T+6.14s",
"token": 512,
"kind": "complete",
"model_class": "open",
"rasp": true,
"gate": "record",
"outcome": "recorded",
"budget_state": "approaching"
}
]
}Audit records contain operational metadata, not retained prompt or completion content. Operational audit metadata has separate retention.
Read about data handling and controls →We run the AI stack. You ship your product.
Consistent reasoning means the run keeps its task constraints, holds up under comparable evaluation, and stays inside your policy from first token to last.
Prizmal manages model selection, compute, and handoffs. Your team keeps its agent harness, prompts, and tools.
Mixture admission. Admit the candidate to the workload mixture for the span types it handled well.
| Candidate | Task completion | Constraints | Tool behavior | Serving config | Policy review | Stage |
|---|---|---|---|---|---|---|
| pass | pass | pass | pass | pass | Observe runs | |
| pass | pass | review | pass | pass | Mixture admission | |
| pass | pass | pass | pass | review | Policy review | |
| review | fail | pending | pending | pending | Evaluate |
● pass · ◐ review · × fail · ○ pending · qualitative gates, no scores
How it works
Three steps from your current stack to managed inference
- 01
Request access
Tell us about your setup. Onboarding is manual; Prizmal provisions provider access with one Prizmal key.
- 02
Configure the supported client
Use the client example below with your Prizmal key and model prizmal-auto. Check current client requirements.
- 03
Inspect a first run
Send a small test request. Inspect the response, tool behavior, and trace before using it in your workflow.
1# ~/.zshrc or ~/.bashrc2export ANTHROPIC_BASE_URL=https://api.prizmal.ai/anthropic3export ANTHROPIC_AUTH_TOKEN=$PRIZMAL_API_KEY4export ANTHROPIC_MODEL=prizmal-autoClaude Code appends /v1/messages to the base URL. Anthropic does not support routing Claude Code to non-Claude models; confirm Prizmal model and routing scope before deployment.
Client configuration and supported features vary. Harness support matrix
Client setup walkthrough
One key, one base URL, first routed request. See the full developer setup →
Keep your agent setup. Let us manage inference.
One Prizmal key. Curated models, adaptive compute, and policy during execution. We onboard teams by hand.
Prompts and completions are not retained after serving. Operational metadata has separate retention. How we handle data