InertialAI

AI for
Sensor
data.

Chronicle reads sensor streams and text together. Finetune it on your own data from $5, see proof it beats the base model, and ship it as a private endpoint — all through one API.

Try Chronicle.

Our first foundation model, built on published research — read the paper, run the code, pull the weights.

Explore the model →
Preprint2026
Chronicle preprint thumbnail
Chronicle: A Multimodal Foundation Model for Joint Language and Time Series Understanding

Your data.
Your model.
Your endpoint.

Upload to deployed in minutes. You only ever pay for a model that measurably beats the base — everything else refunds itself.

app.inertialai.com · datasets
pump_sensor_windows.jsonl
12,480 records · time-series + text · classification
Training cost for this file$5.00
app.inertialai.com · finetunes
pump-fault-detector
loss · train / validationepoch 3 / 4
app.inertialai.com · evaluation
Held-out eval vs frozen base
Base model61.2%
pump-fault-detector81.4%
Download PDF report
app.inertialai.com · deployments
pump-fault-detector
v2 · T4 · scale-to-zero
Calls today
18,204
p50 latency
84 ms
Spend / cap
$12.61 / $50

Send a signal, get an answer.

Embeddings are OpenAI-compatible; forecasting and finetuning are three calls each. Read the docs

python
from openai import OpenAI

client = OpenAI(api_key="iai_...", base_url="https://inertialai.com/api/v1")

def embed(time_series, text=""):
    resp = client.embeddings.create(
        model="inertial-embed-alpha",
        input={"time_series": time_series, "text": text},
    )
    return resp.data[0].embedding

query_emb = embed(time_series=[0.42, 1.87, 0.95, 2.31, 0.18])

sensor_embs = [
    embed(time_series=r["values"], text=r["label"])
    for r in sensor_log
]

ranked = sorted(sensor_embs, key=lambda e: cosine_sim(e, query_emb), reverse=True)
results = ranked[:5]

Start with $5 of free usage.

Enough to embed, forecast, and train your first model. No subscription, no minimum spend, no sales call.