Installation
You don't have to install anything to use Tomoul — every endpoint is HTTP. But if you want the CLI, a local model server, or a typed client, here's how.
You don't need an SDK
Tomoul exposes an OpenAI-compatible REST API at https://api.tomoul.ai/v1.
Any HTTP client — curl, requests, fetch, reqwest — will work. If you
already have OpenAI SDK code, swap the base URL and ship; see
Migrating from OpenAI.
Install the CLI
The CLI is a single static binary. It runs models locally and bridges to the
cloud with --cloud.
# macOS / Linux
brew install tomoul
# Or, no brew:
curl -fsSL https://tomoul.ai/install.sh | sh
# Windows (PowerShell)
iwr https://tomoul.ai/install.ps1 -useb | iex
After install, verify with tomoul doctor. Full CLI reference:
tomoul serve.
Python
The official OpenAI Python SDK works against Tomoul out of the box.
pip install openai
from openai import OpenAI
client = OpenAI(
api_key="$TOMOUL_KEY",
base_url="https://api.tomoul.ai/v1",
)
Node
npm install openai
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.TOMOUL_KEY,
baseURL: "https://api.tomoul.ai/v1",
});
Go
go get github.com/sashabaranov/go-openai
cfg := openai.DefaultConfig(os.Getenv("TOMOUL_KEY"))
cfg.BaseURL = "https://api.tomoul.ai/v1"
client := openai.NewClientWithConfig(cfg)
Zig
The engine itself is the Zig package — no separate SDK. Add tomoul to
build.zig.zon and @import("tomoul"). Run models in-process or use its
HTTP client to call the cloud API.
const tomoul = @import("tomoul");
// In-process inference
var model = try tomoul.models.bge_m3.load(allocator, .{ .device = .auto });
defer model.deinit();
// Or, call the cloud API
var client = try tomoul.http.Client.init(.{
.api_key = std.os.getenv("TOMOUL_KEY"),
});
defer client.deinit();
Full reference: Engine overview.