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.

Last updated 13 May 2026Edit this page on GitHub