Swath, inference for open-weight models. From $0.06 per million tokens.
Serve your model from 31 cities at once, and let the nearest warm GPU answer.
Push your weights once and Swath keeps them loaded in every region, so nothing waits on a cold start. The median first token arrives in 38 ms, measured from the user’s own city.
- 31 regions on 5 continents
- 38 ms median first token
- 9 min from push to warm
Each request runs in the nearest region that has your model warm
The router keeps a table of round trips from every edge to every region, refreshed every 10 seconds. A request from Lisbon is answered in Madrid when Madrid has room, and in Paris when it does not. Your weights sit in every region you enable, so a failover costs milliseconds, not a cold start.
- Median first token
- 38 ms
- Slowest request in a hundred
- 141 ms
- Push to warm, 70B model
- 9 min
- Requests served a day
- 2.1 billion
| Region | Code | GPU memory | First token |
|---|---|---|---|
| London | lhr1 | 80 GB | 29 ms |
| Frankfurt | fra1 | 80 GB | 31 ms |
| Tokyo | nrt1 | 80 GB | 33 ms |
| Ashburn | iad1 | 80 GB | 34 ms |
| Singapore | sin1 | 80 GB | 37 ms |
| Sydney | syd1 | 48 GB | 41 ms |
| São Paulo | gru1 | 48 GB | 46 ms |
| Johannesburg | jnb1 | 48 GB | 52 ms |
23 more regions, from Madrid to Mumbai, are listed in the docs with live round trips.
Push once, then call it like any chat endpoint
The client is a thin wrapper over plain HTTPS and streams by default. Every reply says which region answered and how long the first token took, so latency shows up in your own logs.
Install the client
From npm, PyPI or Go modules. About 40 KB, with no native code.
Push your weights
Point the command line tool at a folder. It checks the files, uploads once and copies them to every region you enabled.
Call the endpoint
One base address for all regions. Pin a region per request when the data has to stay put.
import { Swath } from "@swath/sdk";
const swath = new Swath({ apiKey: process.env.SWATH_KEY });
const reply = await swath.chat({
model: "acct_7f3/support-13b",
messages: [{ role: "user", content: "Where is order 4411?" }],
stream: true,
});
for await (const chunk of reply) process.stdout.write(chunk.text);
console.log(reply.region, reply.firstTokenMs); // "lhr1" 29
Pay per token, or reserve GPUs by the month
-
Pay as you go
$0
a month
Shared capacity in all 31 regions. Tokens at list price: $0.06 per million in and $0.24 per million out for models up to 14B.
- 1 million tokens free each month
- 600 requests a minute
- Email support, next working day
-
Team
$480
a month
One reserved GPU in each of three regions you choose, so your traffic never queues behind other accounts. Tokens at $0.05 in and $0.19 out.
- Up to 20 seats with roles
- 6,000 requests a minute
- Support reply within 4 hours
-
Dedicated
From$9,600
a month
Reserved 80 GB GPUs in the regions you name, private network links and a named engineer. Weights never leave the regions you list.
- Single sign on and audit log
- No request ceiling
- On call around the clock, 15 minute response
Prices in US dollars, excluding tax. Annual plans are billed once a year at ten months’ price. Tokens are counted with each model’s own tokenizer.
Recent changes
We ship to production most weekdays. These are the changes you would notice from the outside.
Johannesburg is open
jnb1 adds 48 GB GPUs in South Africa. The median first token from Cape Town fell from 190 ms to 52 ms.
First token time in every reply
Responses now carry the region that served them and the time to first token, so you can chart latency without timers of your own.
Faster pushes for large models
Weights copy between regions in parallel. A 70B model now goes from push to warm in 9 minutes, down from 26.
Spend caps per key
Set a monthly ceiling on any API key. Requests over the cap get a 402 with the date the cap resets.
Get an API key and send your first request in five minutes
Free to start and no card needed. Pay as you go includes a million tokens a month, every region and the whole API.
- Free each month
- 1 million tokens
- Regions
- All 31, from the first request
- Your data
- Logs and billing stay in your home region