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
| Field | Values |
|---|---|
model | oriel-2.0, fable-2.0, canto-2.0 or auto |
mode | Effort: light, medium, high, high-plus or ultra |
product | ai (default), code for file-building replies, or images |
messages | The conversation so far, oldest first. Each is { "role": "user" | "assistant", "content": "…" }. User messages can add "images": ["data:image/png;base64,…"]. |
stream | true 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.
| Status | Meaning |
|---|---|
401 | Missing, invalid or revoked key |
403 | Your plan doesn't include the API |
429 | Rate limit or usage limit reached; the message says when it resets |
503 | The model is busy; try again shortly |