---
title: "Introducing Console"
description: "Console is one API key for Drex, which decides with a calibrated probability, and Nace Document Intelligence, which reads any file. Run it in our cloud, your cloud or air-gapped."
canonical: "https://nace.ai/developers"
---

# Introducing Console

> Console is one API key for Drex, which decides with a calibrated probability, and Nace Document Intelligence, which reads any file. Run it in our cloud, your cloud or air-gapped.

## Execute your workflows with Nace Small Models

One API key for Drex, which puts a probability on every call, and NDI, which reads 36 file types and cites the source of every answer.

- [Get started](https://console.nace.ai?utm_campaign=drex-launch&utm_content=developers&utm_medium=website&utm_source=nace.ai)
- [Read the docs](https://console.nace.ai/docs)

Works with Codex, Cursor, Claude Code, pi, Hermes, opencode.

- TypeScript: `npm install nace-sdk` ([docs](https://console.nace.ai/docs/developer-tools/typescript))
- Python: `pip install nace-sdk` ([docs](https://console.nace.ai/docs/developer-tools/python))
- CLI: `pipx install nace-cli` ([docs](https://console.nace.ai/docs/developer-tools/cli))
- MCP: `claude mcp add nace -- uvx nace-mcp` ([docs](https://console.nace.ai/docs/developer-tools/mcp))

## Builders on Drex, in their words.

> $499,235 of unbilled work across 1000 work orders. @NaceAI's drex found $482,260.
>
> drex reads the note and the invoice and flags what's missing. code does the math. when drex isn't sure, a human decides.

[Vishesh Baghel @VisheshBaghell on X, 2026-09-25](https://x.com/VisheshBaghell/status/2103605766737563991)

> Drex: faster, cheaper, better than jev, 32k context and with open weights coming soon? I will surely give it a try!

[Ivan Fioravanti @ivanfioravanti on X, 2026-09-25](https://x.com/ivanfioravanti/status/2103480137664926166)

> I’m using Drex as a fast decision layer inside my project Elyreon/NOVA mainly for routing tasks, choosing tools/models, classifying failures, retries, urgency, and handoffs.
>
> the bot already responds sub 1s so i cant imagine how much better drex will make it

[SuperSaiyanColt on Discord, 2026-09-26](https://github.com/colt2822/Drex-Agent-Firewall)

> Nace shows Drex playing a strategy game. i gave it a harder opponent: my timeline
>
> Spoiler Guard sends each post to the new decision model and blurs the spoilers, 352 post checked in one session with sub-second calls

[Israfil @Israfilv2 on X, 2026-09-30](https://x.com/Israfilv2/status/2105326048040927656)

> Using a massive LLM to decide which tool to call feels like hiring a CEO to sort your inbox.
>
> Drex targets those decisions: routing, ranking, classification and guardrails.

[Eduardo Ordax on LinkedIn, 2026-09-25](https://www.linkedin.com/posts/eordax_ai-activity-7509105215158083584-yVNg)

> Switching was easy. I pointed my existing Jev setup at Drex, kept the same SDK, changed 3 environment variables, and it worked.
>
> I see a good fit for agent routing, tool selection, document classification, and choosing the next action in browser automation.

[Kai @hqmank on X, 2026-09-25](https://x.com/hqmank/status/2103470039756112345)

> i was using jev for playing vs a bot in an old game called Little fighter 2
>
> drex 1.5 is actually very comparable with jev's behaviour in game infact might be better
>
> also it's less latent and very fast i've dropped jev eversince and been optimizing for drex

ahmadgho on Discord, 2026-10-07

> someone wired a small open model to a real security camera
>
> 389 ms per call
>
> the vision model sees, drex decides

[Dean W. Perkins @deanwperkins on X, 2026-10-06](https://x.com/deanwperkins/status/2107548585286049942)

> 128k context means it can route with real state instead of tiny summaries.
>
> the interesting part isn’t more generation. it’s better decisions before generation starts.

[Gipp @gippp69 on X, 2026-09-30](https://x.com/gippp69/status/2105332483952628085)

## See it work from a terminal.

An agent with a Console key reads an AP packet, finds the page that matters and decides what to do with it. Every call in the window is a Console endpoint, and every value comes back with the page it was read from.

```text
$ export NACE_API_KEY="nace_sk_…"
$ claude
> This AP packet from Halden Supply mixes invoices, a contract amendment and a W-9. Which invoice can we pay today, and did the terms change?
console · split(file: "halden-packet.pdf")
  38 pages → 5 documents
  1  Invoice INV-2291           p. 1–3
  2  Invoice INV-2304           p. 4–6
  3  Contract amendment No. 3   p. 7–19
  4  W-9                        p. 20
  5  Purchase order PO-77120    p. 21–38
console · classify(document: 3, classes: "procurement")
  contract_amendment · 0.97
console · extract(document: 3, schema: { payment_terms, effective_date, parties })
  payment_terms   "Net 45, 2% discount within 10 days"    found
  effective_date  "2026-10-01"                            found
  parties         Halden Supply Co., Meridian Logistics   found
console · ground(document: 3, text: "Net 45")
  page 11 · box 0.12 0.41 0.88 0.47 · exact · 0.99
console · extract(documents: [1, 2], schema: { invoice_no, total, payment_terms, po_number })
  INV-2291   $18,420.00   "Net 30"   PO-77120   p. 2
  INV-2304    $9,870.00   "Net 45"   PO-77120   p. 5
console · systemone(state: "INV-2304 · $9,870.00 · Net 45 · matches PO-77120 · terms per amendment No. 3", questions: { approve: noul, route: choice })
  approve   noul     0.93
  route     payments 0.88 · review 0.09 · reject 0.03
● Pay INV-2304 today: $9,870.00 against PO-77120 on Net 45, the terms Contract amendment No. 3 sets on page 11, effective 1 October 2026. Drex puts 93% on approving it and routes it to payments.
● Hold INV-2291. It still carries Net 30 on page 2, which predates the amendment. Want me to flag it for AP review?
```

## Everything your agent needs, behind one key.

One key, one credit and one error envelope for both series. Every call sends `Authorization: Bearer $NACE_API_KEY`.

### Decision

Drex puts a calibrated probability on every option, in one forward pass.

Endpoint: `POST /v1/systemone`

Example state: Invoice INV-88214 bills 1,200 units at $14.10. PO-5512 authorised 1,200 at $13.90. Goods receipt confirms 1,200 delivered, 2 days late.

- `choice` disposition, a probability per option: hold_for_buyer 0.612, approve 0.301, dispute 0.087
- `noul` within_price_tolerance, one probability of yes: P(yes) 0.148
- `score` variance_severity, a distribution over ordered levels: low 0.214, moderate 0.583, elevated 0.171, high 0.032

[Explore Drex](https://nace.ai/drex)

### Perception

Nace Document Intelligence reads any file and points every value back to its source.

Endpoint: `POST /v1/documents/{task}`

- Parse: Markdown and layout blocks
- Split: Page ranges per document
- Classify: A label from your taxonomy
- Extract: Fields, found or not found
- Ground: The page and box it came from

36 file types: PDF, scans, Word, PowerPoint, Excel, CSV, email, HTML, images, audio, video. Read by OCR, transcription and NER models.

[Explore NDI](https://nace.ai/ndi)

## Works where your agent works.

Console is plain HTTPS and JSON. Any harness that can call a tool can call it; these are the ones we test with.

- **[Codex](https://console.nace.ai/docs/developer-tools/mcp#codex)**: Codex calls the same endpoints from its sandbox; the key travels as one environment variable.
- **[Cursor](https://console.nace.ai/docs/developer-tools/mcp#cursor)**: Wire Console into Cursor's agent so a document question is answered inside the editor.
- **[Claude Code](https://console.nace.ai/docs/developer-tools/mcp#claude-code-and-claude-desktop)**: Give Claude Code a Console key and it splits, extracts and decides from the terminal.
- **pi**: pi's minimal harness fits Console's minimal contract: JSON in, probabilities and locations out.
- **Hermes**: Hermes agents read files and route decisions through Console without a second integration.
- **[opencode](https://console.nace.ai/docs/developer-tools/mcp#opencode)**: opencode reaches Console over plain HTTPS; no plugin to install, nothing to keep in sync.

## Three ways in.

### [REST API](https://console.nace.ai/docs/drex/quickstart)

When: Your agent or service already speaks HTTP.

You get: POST /v1/systemone for decisions and POST /v1/documents/{task} for files. Bearer key, JSON in, JSON out, one error envelope, idempotency keys on every job.

### [SDK, CLI and MCP](https://console.nace.ai/docs/drex/sdks/python)

When: You build in TypeScript or Python, work from the shell, or give a coding agent the tools.

You get: One client for Drex and every document tool, with typed questions, uploads, job polling and retries built in. Code written for the TypeSafe SDK runs once you rename the imports.

### [Your own deployment](https://nace.ai/developers#deployment)

When: Your data cannot leave your network.

You get: The same models and the same API inside your VPC, or air-gapped. Your keys, your logs, your IAM; updates pull in, nothing flows out.

## One platform. Four boundaries.

Same models, same API, same serving stack at every tier. The only thing that changes is the boundary around your data, from our cloud to your metal.

Your data trains your models. The weights, adapters and eval sets stay yours, inside the boundary you pick.

| Attribute | Managed | Dedicated | Your Cloud | Air-Gapped |
| --- | --- | --- | --- | --- |
| Where it runs | Our cloud | Our cloud | Your cloud account | Your datacenter |
| Network path | Public TLS | Private link | Inside your VPC | None |
| GPU tenancy | Shared | Dedicated | Dedicated | Dedicated |
| Updates | Continuous | Continuous | Pull from registry | Signed offline bundles |

### Managed Cloud

Start on our GPUs, behind our API, with a key from Console.

For: pilots, evaluations, mid-market teams moving fast.

- Shared GPU pool with strict tenant isolation
- Public API over TLS, no training on your data
- Usage-based pricing, no infrastructure to run

### Dedicated Cloud

Your own GPU cluster in our cloud, reached over private links instead of the public internet.

For: regulated teams that are cloud-first but done with shared infrastructure.

- Single-tenant compute, pinned to your region
- PrivateLink or VPC peering into your network
- Customer-managed keys, dedicated throughput

### Your Cloud

The platform installs inside your AWS or Azure account. Data stays within your boundary.

For: banks, Big 4 firms, anyone whose security review starts with “show us the network diagram.”

- Runs in your VPC with your keys, your logs, your IAM
- Updates pull from our registry; nothing flows back out
- The deployment model our audit and banking customers run in production

[Talk to sales](https://nace.ai/contact?product=cloud&source=developers)

### On-Prem & Air-Gapped

Your datacenter, your hardware, zero outbound.

For: government, defense, and sovereign environments where the network cable isn’t there.

- No egress, no telemetry, offline license activation
- Signed offline update bundles on your schedule
- Ships as software on your servers or as a pre-configured appliance

[Talk to sales](https://nace.ai/contact?product=cloud&source=developers)

## Questions

### What is Console?

Console is the developer app at console.nace.ai: the Drex playground, the five Perception tools, API keys, usage and billing, behind one nace_sk_ key. It is where the Drex app lived, grown to hold the whole series. The API routes did not change.

### What does it cost?

Usage-based, from one balance. A new account starts with $25 of credit that expires 30 days after it is created. After that you top up, and every call, a decision or a document job, draws from the same credit. The price sheet is in the docs.

### Which file types does Perception read?

Thirty-six, from PDFs and scans to spreadsheets, email, audio and video. Parse turns any of them into Markdown, text or layout blocks; Split, Classify, Extract and Ground work on the result, and every value comes back with the page and region it was read from.

### Do you train on my data?

No. Not on Managed Cloud and not at any other tier. Your data trains your models only when you ask for it, and the weights, adapters and eval sets stay yours.

### Is there an SDK or MCP server?

Today the TypeScript SDK is the TypeSafe SDK, which Console is wire-compatible with; Python and everything else use plain HTTPS. Coding agents call Console the same way they call any API, so no MCP server is needed to start. Tell us which harness you run and we will send the recipe.

### How do I run it inside my own boundary?

Pick the boundary below. Dedicated Cloud keeps you on our infrastructure over a private link; Your Cloud installs inside your AWS or Azure account; Air-Gapped runs with no outbound at all. Same models, same API, same console.

[Talk to sales](https://nace.ai/contact?product=cloud&source=developers-faq)

## First request today. Your own cloud when you need it.

Create a key in Console and send your first request in a minute. When the data cannot leave your network, we bring the platform inside it.

- [Get started](https://console.nace.ai?utm_campaign=drex-launch&utm_content=developers&utm_medium=website&utm_source=nace.ai)
- [Talk to sales](https://nace.ai/contact?product=cloud&source=developers)

## For agents

- [Drex API guide](https://nace.ai/drex.md): the decision model: request shape, question types, benchmarks and deployment, as markdown
- [Decision endpoint](https://console.nace.ai/v1/systemone): POST with model "drex-latest", a state string and typed questions (choice, noul, score); https://console.nace.ai/v1/models lists checkpoints
- [Document endpoints](https://console.nace.ai/v1/documents/{parse|split|classify|extract|ground}): POST a source (a public URL, an uploaded workspace file or a finished parse job) and poll GET https://console.nace.ai/v1/documents/jobs/{id}; the same key and credit as decisions
- [Console](https://console.nace.ai): API keys, the playground, usage and billing; send `Authorization: Bearer $NACE_API_KEY` on every request
- [Console docs](https://console.nace.ai/docs): quickstart, question types, the document routes, errors, limits and pricing
- [Nace Document Intelligence](https://nace.ai/ndi.md): the Perception series: parse, split, classify, extract and ground any file type with a location on every value
- [Developers](https://nace.ai/developers.md): Console: what it holds, a scripted agent session, the ways in and the four deployment boundaries, from our managed cloud to air-gapped
- [Site index](https://nace.ai/llms.txt): every page on nace.ai; append `.md` to any page URL or send `Accept: text/markdown` for the markdown version
