Developers

The Dianoetic API

Use Oriel, Fable and Canto from your own apps, bots and games. Included with Thinker and Thinker Max.

1. Get a key

Open Dianoetic, go to Settings → API and choose Create key. You'll see the key once, so copy it somewhere safe. Keys start with dn_.

Keep keys secret. Use them from a server, never in a web page or an app you ship to other people. If a key leaks, revoke it in Settings.

2. Send a message

curl https://dianoetic.tech/v1/chat \
  -H "Authorization: Bearer $DIANOETIC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "oriel-2.0",
    "mode": "high",
    "stream": false,
    "messages": [{ "role": "user", "content": "Explain recursion in one paragraph." }]
  }'

The reply:

{ "model": "oriel-2.0", "product": "ai", "mode": "high", "output": "Recursion is…" }

Options

FieldValues
modeloriel-2.0, fable-2.0, canto-2.0 or auto
modeEffort: light, medium, high, high-plus or ultra
productai (default), code for file-building replies, or images
messagesThe conversation so far, oldest first. Each is { "role": "user" | "assistant", "content": "…" }. User messages can add "images": ["data:image/png;base64,…"].
streamtrue for server-sent events: delta, reasoning, error and done

Create images

curl https://dianoetic.tech/v1/images/generate \
  -H "Authorization: Bearer $DIANOETIC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "prompt": "A cozy cabin in the snow at dusk", "quality": "fast", "aspect": "square" }'

Returns { "image": "data:image/jpeg;base64,…" }. Quality is fast or detailed; aspect is square, portrait or landscape.

Usage and limits

API calls use the same credits as the app: Canto 1, Fable 2 and Oriel 4 per reply at Medium effort, scaled by effort (Light ×0.5 up to Ultra ×5). They count toward your plan's 5-hour and weekly limits, then your extra credits. Requests are rate-limited to about 20 a minute.

StatusMeaning
401Missing, invalid or revoked key
403Your plan doesn't include the API
429Rate limit or usage limit reached; the message says when it resets
503The model is busy; try again shortly