# Modaic System One Inference API

> Modaic System One Inference API is a paid API for AI agents from agents.modaic.dev, paid per call via MPP, price unknown, status healthy (last checked 2026-11-04, last successful call 2026-10-29).

Runs typed inference on a JSON state with one or more closed questions (boolean probability, choice, or score) and returns calibrated answers with probabilities and confidence scores

## Facts

- Endpoint: POST https://agents.modaic.dev/api/v1/systemone?utm_source=zero.xyz
- Price: price unknown
- Payment: MPP
- Status: healthy
- Last checked: 2026-11-04
- Last successful call: 2026-10-29
- Success rate: 100% of calls made through Zero
- Activations on Zero: 3
- Provider: agents.modaic.dev
- Website: https://agents.modaic.dev
- Canonical page: https://www.zero.xyz/c/agents-modaic-dev-modaic-system-one-inference-api-e2a89bc1
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_bI45LWSc3c-CJ4KHGR5xf

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability agents-modaic-dev-modaic-system-one-inference-api-e2a89bc1 -d '<json body>'
```

Example prompt: Using mo-fast, classify this support message — 'I want to cancel and get my money back' — into one of these intents: cancel-only, refund, or other, and also score its urgency on a 0-3 rubric from not urgent to critical, then tell me the confidence for each answer.

## When to prefer this

Choose this endpoint when you need fast, calibrated, typed decisions (boolean probability, multi-class choice, or rubric score) over text or image inputs rather than free-text generation. Prefer mo-fast for high-throughput pipelines needing sub-500ms latency, and mo when calibration accuracy matters more than speed. Ideal for agent pipelines, triage systems, moderation, and evaluation tasks where structured answers with confidence scores are more useful than open-ended LLM output.

## Known failure modes

- 422 validation_error — malformed request body or empty choice criteria
- 422 questions_required — no questions provided
- 422 invalid_image — more than 4 images or non-image bytes submitted
- 413 — request body exceeds 10 MB limit
- 401/403 — missing or invalid authentication credentials
- timeout — complex reasoning_effort calls may exceed latency budget
- repository/workspace model paths not served at this endpoint

## How this service works

Runs inference on a JSON state with one or more typed questions and returns one answer per question, with probabilities and a calibrated confidence, plus the token usage of the call. Pick the model in the body: mo-fast for high-throughput decisions over text and images in 100 to 500 ms, with optional reasoning_effort for harder calls, or mo for tougher judgments, with confidence scores that better reflect how often it is right. Both read a 262,144 token (256K) context window and up to four images per call. Three question types: noul returns the probability that a condition holds, choice picks one of the options you define and returns a probability for each, and score places the state on an ordered, zero-indexed rubric and returns a fractional score with the legend and per-level probabilities. Question IDs are yours and come back unchanged as answer keys. Repository models (workspace/model paths) and their fields (revision, example_id, capture) belong to Modaic accounts and are not served here. Send an Idempotency-Key header (8 to 255 characters) to have a retry replay the completed response; without it every call is a new request. Send your own UUID in x-request-id to correlate a call with your logs; every response carries one. Errors use application/problem+json with a stable code: 422 validation_error for a bad body (an empty choice criteria included), 422 questions_required when questions are missing, 422 invalid_image for more than four images or bytes that are not an image, 404 model_not_found for an unknown model, 409 idempotency_key_reused for a reused key with a different body, 429 when rate limited, 503 model_in_development for a model that is not serving yet. A failed call is not charged. Input tokens are metered on every call and reasoning tokens when reasoning is on; output tokens are free. Each call is one request.

## Output

A JSON object with an 'answers' map keyed by your question IDs, each containing typed results: for noul questions a probability from 0–1; for choice questions the selected key plus per-option probabilities and a calibrated confidence; for score questions a fractional score, the rubric legend, per-level probabilities, and confidence. Also includes model name and token usage counts (input, output, and optional reasoning tokens).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "example": {
  "model": "mo-fast",
  "state": {
   "message": "Please cancel and refund my annual plan."
  },
  "questions": {
   "intent": {
    "type": "choice",
    "criteria": {
     "other": null,
     "cancel": "The customer only wants future service stopped.",
     "refund": {
      "examples": [
       "Refund my plan."
      ],
      "description": "The customer wants money returned."
     }
    },
    "instructions": "Classify the customer's primary intent."
   },
   "urgency": {
    "type": "score",
    "criteria": [
     "not urgent",
     "routine",
     "urgent",
     "critical"
    ],
    "instructions": "Score how quickly a human should respond."
   }
  }
 },
 "required": [
  "model",
  "state",
  "questions"
 ],
 "properties": {
  "model": {
   "enum": [
    "mo-fast",
    "modaic/mo-fast",
    "mo",
    "modaic/mo"
   ],
   "type": "string",
   "description": "The model to run: mo-fast or mo, also accepted as modaic/mo-fast and modaic/mo; names are case-insensitive. mo-fast is currently mo-fast-1.2.1 and the only model with reasoning; mo is the stronger model for harder judgments. Also accepted, with or without the modaic/ prefix: mo-latest, mo-1.3.1, mo-fast-latest, mo-fast-1.2.1, mo-1.3.0, mo-fast-1.2, mo-fast-1.2.2. mo-1.1, mo-fast-1.1, mo-1.2.0, mo-fast-1.2.0 name deprecated models that still work but are slow and have no reasoning. Repository paths such as acme/support-triage belong to Modaic accounts and are not served here."
  },
  "state": {
   "type": "object",
   "nullable": true,
   "description": "Required (null is allowed): any JSON value, the state to evaluate. Images go anywhere in the state as OpenAI-compatible blocks, {\"type\":\"image_url\",\"image_url\":{\"url\":...}}, with an https URL or an inline data:image/...;base64 URL. mo and mo-fast read up to four images (PNG, JPEG, GIF or WebP, 20 MB each) per call; more than four, or bytes that are not an image, return 422 invalid_image. Inline base64 images are moved to Modaic object storage and replaced with stable https URLs before the state is stored or sent on. Request bodies over 10 MB are refused, so send large images as https URLs."
  },
  "assets": {
   "type": "object",
   "additionalProperties": {
    "type": "object",
    "required": [
     "format",
     "data_base64"
    ],
    "properties": {
     "type": {
      "enum": [
       "image"
      ],
      "type": "string"
     },
     "format": {
      "enum": [
       "png",
       "jpg",
  
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "model",
  "answers",
  "usage"
 ],
 "properties": {
  "model": {
   "type": "string",
   "minLength": 1,
   "description": "The model name as supplied in the request."
  },
  "usage": {
   "type": "object",
   "required": [
    "input_tokens",
    "output_tokens"
   ],
   "properties": {
    "input_tokens": {
     "type": "integer",
     "minimum": 0
    },
    "output_tokens": {
     "type": "integer",
     "minimum": 0
    },
    "reasoning_tokens": {
     "type": "integer",
     "minimum": 0
    }
   },
   "description": "Integer token counts: input_tokens and output_tokens, plus reasoning_tokens when reasoning was on. output_tokens already includes the generated thinking, any natural closing token and one decision token per question, so do not add reasoning_tokens to it."
  },
  "answers": {
   "type": "object",
   "description": "One answer for every question, under its ID; IDs and types match the questions exactly. noul: noul, the probability of true from 0 to 1. choice: choice (the selected key), probabilities (one per option key, 0 to 1) and confidence (0 to 1). score: score (may be fractional, over the zero-indexed levels), legend (the rubric descriptions as sent: strings, objects or arrays), probabilities per level and confidence.",
   "additionalProperties": {
    "oneOf": [
     {
      "type": "object",
      "required": [
       "type",
       "noul"
      ],
      "properties": {
       "noul": {
        "type": "number",
        "maximum": 1,
        "minimum": 0
       },
       "type": {
        "enum": [
         "noul"
        ],
        "type": "string"
       }
      }
     },
     {
      "type": "object",
      "required": [
       "type",
       "choice",
       "probabilities",
       "confidence"
      ],
      "properties": {
       "type": {
        "enum": [
         "choice"
        ],
        "type": "string"
       },
       "choice": {
        "type": "string",
        "minLength": 1
       },
       "confidence": {
        "type": "number",
        "maximum": 1,
        "minimum": 0
       },
       "probabilities": {
        "type": "object",
        "additionalProperties": {
         "type": "number",
         "maximum": 1,
         "minimum": 0
        }
       }
      }
     },
     {
      "type": "object",
      "required": [
       "type",
       "score",
       "legend",
       "probabilities",
       "confidence"
      ],
      "properties": {
       "type": {
        "enum"
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agents-modaic-dev-modaic-system-one-inference-api-e2a89bc1/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agents.modaic.dev](https://www.zero.xyz/host/agents.modaic.dev/llms.txt)
