Sable 70b is live in eu central

Inference that
answers before
you let go

Kestrel is the serving layer for teams that treat latency as a product decision. Prefix caching, speculative decoding and deterministic routing, behind one endpoint and one line of setup.

31 msp50 first token
99.9%rolling uptime
14regions live
us east
01import { Kestrel } from "@kestrel/sdk"02 03const kestrel = new Kestrel({ region: "us.east" })04 05const stream = await kestrel.infer({06  model: "kestrel/sable8b",07  input: transcript,08  cache: "prefix",09  stream: true,10})11 12for await (const token of stream) {13  process.stdout.write(token.text)14}
200first token in 29 mscache hit, prefix

The claim was approved on the second review, and the adjuster left a note about the roof

Serving production traffic for

NORTHWINDHALCYONTESSELLATEORBITALBEACON LABSQUANTA

/ platform

Four things stand between
a prompt and an answer

We rebuilt each of them. The result is a serving path with no cold starts, no queue you cannot see, and a p99 that stays inside two times the p50 under real load.

01

Prefix caching

Shared system prompts are hashed once and held warm across the fleet. Repeat traffic skips the prefill entirely and lands in single digit milliseconds.

02

Deterministic routing

Requests carrying the same session key land on the same replica, so the KV cache stays hot for the length of a conversation instead of a single call.

03

Speculative decode

A small draft model proposes, the target model verifies. Two thirds of tokens are accepted on the first pass, which is where the throughput comes from.

04

Zero retention

Prompts and completions leave nothing behind. No training on your traffic, no logs past the request, and a regional pin if your auditors need one.

/ architecture

One hop from your process to a warm GPU

The router holds an open connection per replica and knows which cache each one is carrying, so a request is placed rather than queued.

SDKnode, python, goGatewayhttp and grpcEdge routerp50 4 msSchedulerbatching and cacheA100us eastH100us westH100eu centralrequest pathgpu fleet
0ms
First token, p50
0ms
First token, p99
0tok/s
Sable 8b, single stream
0%
Rolling ninety day uptime

/ models

Priced per million tokens, billed per second

Open weights we host, plus two we trained. Every one of them speaks the same API, so swapping is a string change and a redeploy.

ModelContextFirst tokenThroughputInput, per million
kestrel/sable8b128k31 ms184 tok/s$0.09
kestrel/sable70b128k48 ms96 tok/s$0.42
kestrel/quill.vision64k62 ms71 tok/s$0.55
kestrel/tern.embed32k9 ms2,400 tok/s$0.01

Ship it this afternoon

A key, a package and a model string. The quickstart is four minutes end to end, and everything past that is in the reference.