kolm capture · rent-to-own AI

Cut your frontier API bill. Keep the model.

Point your api.openai.com calls at kolm capture. Every successful (input, output) pair gets recorded. At your threshold, kolm hands the corpus to the trainer and you get back a signed local LoRA that runs the same task on your hardware. The frontier bill becomes a deposit account.

One-line proxy change. Zero re-prompting. Zero retraining work today — kolm captures pairs you've already paid for.

01 capture

Drop-in proxy.

Change your base URL from api.openai.com to kolm.ai/v1/capture/openai. Same model, same response, same key. Every successful call is stored as a training pair.

02 distill

Threshold → corpus → bridge.

When you hit 1,000+ pairs in a namespace, kolm hands the corpus to the trainer bridge. PEFT LoRA, K-score gate, HMAC-signed .kolm archive. You own the artifact.

03 run

Local hardware. No bill.

Run kolm run patient-intake.kolm on a laptop, a phone, or your VPC. The artifact runs the same task. Per-call cost: zero. Vendor lock-in: zero.

live cost math

What you'd save in year one.

Drop in your volume. Frontier-API costs vs. kolm capture + Pro plan + teacher cycles. Open full calculator →

$0/yr
0x cheaper vs cloud-only. Payback: —.
Cloud (cloud-only, year 1):
kolm (Pro + teacher cycles):

From frontier bill to local LoRA, in seven minutes.

Below is the literal flow. No training math, no eval rig.

1

Swap your base URL.

One line in your SDK config. Everything else stays the same.

# before
client = OpenAI(base_url="https://api.openai.com/v1")

# after — same key, same model, same response
client = OpenAI(base_url="https://kolm.ai/v1/capture/openai")
2

Watch your inbox fill up.

Each successful call lands in /captures with the input, output, and a K-score floor estimate. Discard noise; keep the rest.

$ kolm logs --tail
› captured: patient-intake (1247 pairs / 7 days)
› captured: support-triage (488 pairs / 7 days)
ok threshold reached: patient-intake ready for distill
3

Hand the corpus to the trainer.

kolm packages the captured pairs and calls the trainer bridge. PEFT LoRA fit, K-score gate, HMAC-signed archive. The artifact lands back in your dashboard.

$ kolm compile patient-intake --examples 1247 --receipt
› synthesizing verifier from 1247 examples ...
› k=8 sample · verify · accept (Q=0.928) ...
› stamping K-score · signing artifact ...
ok wrote patient-intake.kolm  k_score=0.92  hmac-sha256
4

Run the artifact on your hardware.

Locally, in your VPC, on a phone — whatever fits. Per-call cost goes to zero. Compliance moves inside your boundary.

$ kolm run patient-intake.kolm "ID 8842, abnormal labs Cr 2.1 K+ 5.6"
{
  "urgency": "HIGH",
  "rationale": "AKI risk pattern (Cr 2.1, K+ 5.6)",
  "_kolm": { "k_score": 0.92, "verified": true, "host": "on-device" }
}
honest scope

What ships today vs what's roadmap.

shipped today
  • Capture proxy for OpenAI and Anthropic. Auth, rate-limit, and namespace routing. /v1/capture/openai, /v1/capture/anthropic.
  • Inbox + triage. /captures shows the (input, output) pairs; you can discard noise from the inbox view.
  • Bridge handoff at threshold. POST /v1/specialists/auto-distill counts corpus_namespace, packages, and sends the corpus to your trainer bridge with a callback URL.
  • Artifact-level receipt. Final .kolm archive is HMAC-signed and re-verifiable by the issuer or a shared-secret holder.
target architecture
  • In-app distill loop. Today the bridge does the actual LoRA fit; closing the loop in-app is on the roadmap.
  • Triage-binding on distill. Today discard only hides from inbox; binding triage to label-export and auto-distill is target arch.
  • Per-call HMAC chain across requests, with optional Sigstore Rekor anchoring. Today it's per-artifact HMAC over the archive.
  • Server-owned distill status. Today the bridge owns status; /v1/specialists/auto-distill/:id/status is target arch.

Stop renting. Start owning.

Free tier captures up to 1,000 pairs/month. No card. No vendor lock.