Skip to content

For developers

One AI hub for every app you build.

Your apps call nerix instead of each AI company. One key per server, 63 models in one format, one credit balance, and every answer says which model replied and what it cost.

SDKsPHPNodePythonGo

example.ts
// one client per process: it holds your server's key
import { RespireSoftAI } from '@respiresoft/ai'

const ai = new RespireSoftAI()

const answer = await ai.chat.create({
  model: 'mistral/mistral-large-latest',  // or an alias: 'fast'
  messages: [{ role: 'user', content: 'Summarise this contract' }],
  nerix: { tenant: 't42', feature: 'summaries' },
})

answer.nerix.resolved   // the model that actually answered
answer.nerix.cost       // { credits: 2, ... }
Fig. 1 The same call from Node. PHP, Python and Go read the same way.

01How it works

Three steps, and the first never leaves your server.

  1. 01

    Make a key on your server

    One command writes a private key only your server can read, and prints its public half.

    $ npx respiresoft-ai keygen --out /srv/keys/myapp-ai.pem

    On your server: the private key is written with owner-only permissions and never printed.

  2. 02

    Send us the public half

    We register your app, its scopes, its limits and its credit rate.

  3. 03

    Call the hub

    With the SDK for PHP, Node, Python or Go, or any client that can sign a request.

    $ npx respiresoft-ai doctor

    Checks the address, your key, the hub's keys, the clock and the hub's signature before your first call.

02What you can call

Chat, search, pictures and speech today. Agents next.

Everything below goes through the same signed door, is billed in the same credits, and is labelled with the model that did the work.

  • Live

    Chat and streaming

    Any chat model, answers token by token, with tools.

  • Live

    Automatic model choice

    Send model "auto" and the hub picks the model and effort from fixed rules, in under 5 ms.

  • Live

    Embeddings and search

    Vectors from any embedding model, and shared search collections walled per app and customer.

  • Live

    Pictures

    Images from a written description, from OpenAI and Google models.

  • Live

    Live speech

    Short-lived tokens so a phone or browser streams speech straight to the speech provider.

  • Live

    Cheaper when it can wait

    Mark work as able to wait and it runs at the provider's lower price.

  • Early access

    Agents, tools and scans

    Runs that use tools, reading scanned pages, and approvals.

  • Early access

    Scheduled work

    Workflows that run on a timetable or after someone approves.

03Security

Signed requests, signed answers, nothing to leak.

  • Your key never leaves your server

    Each server makes its own Ed25519 key. The hub stores only the public half, and two keys can live side by side while you rotate.

  • Every request is signed

    Method, path, query and a digest of the body, under the HTTP message signatures standard (RFC 9421). A request older than 60 seconds, or seen before, is refused.

  • Every answer is signed

    Responses and streams are signed by the hub and checked by the SDK against pinned keys. If a check fails, the SDK refuses the answer.

  • Least privilege

    Scopes, rate limits, token limits and credit limits per key, per customer and per feature. Customer ids are opaque: never an email or a name.

04Credits

One currency for every app and every model.

  • Reserved, then settled

    Credits are held before a call and settled after it, at the real cost of what the model did.

  • A rate per app

    Each app has its own rate, set when it is registered, so different products can price AI differently.

  • Usage you can explain

    Every answer carries its usage (input, cached input, output and reasoning tokens) and its cost.

Access is by registration for now: send us your app's name and its key's public half.

Talk to us