BUILD / TEST / INTEGRATE

Playground.

Give Dante context. Ask for the decisions your application needs.

“Save on this device” stores this draft in this browser only — nothing is sent to Dante servers.

dante-latest RESEARCH PREVIEW
01 / INPUT
state
Text your questions will evaluate.66 / 5,000
Questions3 QUESTIONS
01
routeCHOICE

Which team should handle this request?

billingshippingtechnical
02
needs_actionBOOLEAN

Does this customer need help with a payment issue?

03
urgencySCORE

Rate the urgency of this request.

Low: general informationMedium: a problem needing follow-upHigh: immediate action needed
Edit questions JSON

Use 1–8 named questions. Choice accepts 2–32 options; score accepts 2–10 ordered levels. Boolean uses noul.

Recorded example available
02 / OUTPUTRECORDED RUN
routeCHOICE
billing SELECTED
billing99.97%
shipping0.02%
technical0.01%

Confidence score 99.96%

needs_actionBOOLEAN
99.3% yes
P(yes)P(no) 0.72%
urgencySCORE
1.48 / 2
04.9%
142.6%
252.5%

Confidence score 73.81%

5.50 s model time131 tokens evaluated3 decisions

Recorded 2026-09-26 on Jetson Orin Nano. One request, 2 loops. This is not a latency benchmark.

03 / APPLICATION BEHAVIOR

Keep the fallback in your code.

Act on the first choice answer when its selected probability meets your threshold. Otherwise, request review or call your LLM.

95%
route: Use “billing”

Probability and confidence are different signals. Set thresholds using labeled examples from your application before enabling automatic actions.

INTEGRATE / SERVER SIDE

Use this decision in your app.

Set your API origin and key in your server environment. The TypeScript example includes your current threshold.

dante / integration
SERVER SIDE
POST /v1/systemone
const response = await fetch(
  "https://api.dante.example/v1/systemone",
  {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.DANTE_API_KEY}`,
      "Content-Type": "application/json",
      "Idempotency-Key": crypto.randomUUID(),
    },
    body: JSON.stringify({
      "model": "dante-latest",
      "state": "I was charged twice for my order. Please refund the extra payment.",
      "questions": {
        "route": {
          "type": "choice",
          "instructions": "Which team should handle this request?",
          "criteria": {
            "billing": "Charges, payments, and refunds",
            "shipping": "Delivery and tracking",
            "technical": "Broken features or login problems"
          }
        },
        "needs_action": {
          "type": "noul",
          "instructions": "Does this customer need help with a payment issue?"
        },
        "urgency": {
          "type": "score",
          "instructions": "Rate the urgency of this request.",
          "criteria": [
            "Low: general information",
            "Medium: a problem needing follow-up",
            "High: immediate action needed"
          ]
        }
      }
    }),
  },
);

if (!response.ok) {
  throw new Error(`Dante request failed: ${response.status}`);
}

const result = await response.json();

const decision = result.answers["route"];
const probability = decision.probabilities[decision.choice];
const nextStep = probability >= 0.95
  ? decision.choice
  : "needs_review";

Create a scoped key under API keys. Every call is billed from your organization's credits, the same as a playground run.