Hush AI: API Quickstart

Hush AI speaks the OpenAI-compatible API. Any client, SDK, or tool that takes a base_url and an API key works out of the box, and every request is processed on privately owned UK hardware, then gone. Nothing stored, nothing trained on.

1. Get your API key

Sign in at hush-ai.uk/login, then open hush-ai.uk/api/app/session in the same browser. Copy the api_key value from the response. That's your key. Treat it like a password.

Every signed-in account has a key. If you've never had one, opening that link creates yours on the spot. A friendlier key page is on the way; this works today.

2. Say hello

Over the internet this plain call answers 426 since the lane went sealed-only; see the sealed lane below. Shown for the wire format.
curl https://hush-ai.uk/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sovereign-prism",
    "messages": [{"role": "user", "content": "Hello from the sovereign side."}]
  }'

3. Or from Python

from openai import OpenAI

client = OpenAI(base_url="https://hush-ai.uk/v1", api_key="YOUR_API_KEY")
r = client.chat.completions.create(
    model="sovereign-prism",
    messages=[{"role": "user", "content": "Summarise this contract clause…"}],
)
print(r.choices[0].message.content)

4. Sealed lane: Cloudflare-blind API calls

Our front sits behind Cloudflare for edge TLS and DDoS protection. The sealed lane makes that hop blind: your prompt, your API key and the model's answer are encrypted in your process to a key that exists only on hardware we own (hybrid P-256 + ML-KEM-768, post-quantum required). Every relay in between carries ciphertext only.

curl -O https://hush-ai.uk/static/hush-sealed-client.py
pip install "cryptography>=45" requests
python3 hush-sealed-client.py --key YOUR_API_KEY --stream "Hello from the sealed side."

Endpoint: POST https://hush-ai.uk/v1/sealed/chat/completions. The client is ~200 lines of plain Python, published so you can read it before you trust it. Verify what we serve at any time: GET /v1/crypto/pubkey is signed by a long-term key we pin in our site repository; pass it with --pin and the client refuses to send anything unless the keys arrive signed by it.

Sealed-only since 2026-09-12. The plain /v1/chat/completions lane answers 426 Upgrade Required to any request that arrives over the internet: every prompt, key and answer must travel sealed. Use the client above, or port its ~200 lines to your language. Steps 2 and 3 therefore only work from inside our own network, which is how our services talk to each other; from anywhere else, use step 4.

Models

List them live: curl https://hush-ai.uk/v1/models

Usage & metering

Token packs and plan allowances are metered per request. While signed in, hush-ai.uk/api/usage shows your current numbers.

Get a key

Token packs start at £10 on the pricing page: £0.50 per million input tokens, on hardware we privately own, never used for training.

Questions

[email protected]. A human reads every message.