Quickstart
Install the SDK and send your first private message.
npm install @horman/sdk
import { Horman } from "@horman/sdk";
const horman = new Horman({
apiKey: process.env.HORMAN_KEY,
mode: "sealed",
});
const reply = await horman.chat({
model: "auto",
messages: [{ role: "user", content: "Summarize this report" }],
});
console.log(reply.text);Authentication
Every request carries an API key. Keys belong to a project and can be limited to specific modes.
- Create keys from your dashboard once access is approved.
- Keep keys on your server. Never ship them in a browser bundle.
- Rotate a key at any time; the old one stops working immediately.
Privacy modes
Pass mode on the client or per call. A per-call value overrides the client default.
sealedstrongestEncrypted to an attested enclave. Horman cannot read the request or the result.
ephemeralno storageProcessed in memory and discarded after the response.
openwidest choiceStandard processing with more hosted models. Requests may be logged.
Chat API
Send a list of messages and get a reply. Set model to auto to let Horman choose.
modelstringauto, fast or reasoning.
messagesarrayConversation so far, each with a role and content.
streambooleanReturn the reply token by token.
Images API
Describe an image and get it back as a file. Works in every privacy mode.
const image = await horman.images.create({
prompt: "A quiet mountain lake at sunrise, soft sage tones",
size: "1024x1024",
});
await image.save("lake.png");MCP tools
Add Horman as an MCP server and any compatible agent gets horman_chat, horman_image and horman_onchain.
{
"mcpServers": {
"horman": {
"command": "npx",
"args": ["@horman/mcp"],
"env": { "HORMAN_KEY": "your-key", "HORMAN_MODE": "sealed" }
}
}
}