Skip to content
Docs

Change one base URL

Otium speaks the OpenAI Files and Batch API. If you already submit batch work to OpenAI, integration is a base-URL swap and a wider completion window — no new SDK, no rewrite.

Quickstart

  1. 1. Create an API key in the customer portal, under Developers.
  2. 2. Point your OpenAI client at https://api.getotium.ai/v1.
  3. 3. Upload a JSONL file, create a batch, poll for the result.
python
from openai import OpenAI

client = OpenAI(
    base_url="https://api.getotium.ai/v1",
    api_key=OTIUM_API_KEY,
)

# 1. Upload a JSONL file of requests, one per line.
f = client.files.create(file=open("requests.jsonl", "rb"), purpose="batch")

# 2. Create the batch. The completion window is the price lever:
#    the wider it is, the cheaper the work runs.
batch = client.batches.create(
    input_file_id=f.id,
    endpoint="/v1/chat/completions",
    completion_window="7d",
)

# 3. Poll, then download the output file when it reports completed.
batch = client.batches.retrieve(batch.id)
print(batch.status)

Otium is in closed alpha, so keys are issued with your invite rather than on signup.

API reference

All 13 endpoints — jobs, files, batches and health — with parameters, request bodies, responses and schemas. Generated from our OpenAPI spec, so it matches the server.

Read the reference →

Workflows

Send a multi-stage pipeline as one artifact and pay one deadline for the whole graph instead of one per stage. Nodes, derived dependencies, validators and fallback, and steps you run yourself.

Read the guide →

OpenAPI spec

The machine-readable contract (Otium Public API, v0.1.0). Generate a typed client in your language, or load it into your own tooling.

Download openapi.yaml

Reruns aren’t byte-identical

Even at temperature 0, submitting the same input twice can return slightly different output. Batched inference changes the order of the underlying floating-point maths, which can flip two tokens of near-equal probability — and a retry may run on different hardware. Every provider that batches has this property; most don’t mention it.

It’s rarely a problem for batch work, but design for it: key your results on custom_id, make downstream steps idempotent, and don’t assert equality between two runs.

Why this happens →

Background reading

The concepts behind the API — why a deadline lowers the price, and how to shape a batch job well.

Get an API key.

Otium is in closed alpha. Leave your email and we’ll send an invite when a spot opens.

No credit card, no spam — one email when your invite is ready.

Closed alpha — onboarding is gated while we calibrate. Already invited? Sign in.