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
Median first token from the nearest large city, October 2026
RegionCodeGPU memoryFirst token
Londonlhr180 GB29 ms
Frankfurtfra180 GB31 ms
Tokyonrt180 GB33 ms
Ashburniad180 GB34 ms
Singaporesin180 GB37 ms
Sydneysyd148 GB41 ms
São Paulogru148 GB46 ms
Johannesburgjnb148 GB52 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.

  1. Install the client

    From npm, PyPI or Go modules. About 40 KB, with no native code.

  2. 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.

  3. Call the endpoint

    One base address for all regions. Pin a region per request when the data has to stay put.

reply.tsTypeScript, Node 20 or later
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
    Get an API key
  • 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
    Start a team
  • 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
    Talk to us

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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