Getting started

Sign in, buy a credit pack, create an API key and make your first call in a few minutes.

1. Sign in

Open swarm.thundera.eu and choose Sign in with Thundera. There is no separate registration: your Thundera account works everywhere, including account settings.

2. Buy credits

Open Plan and choose Top up credits. You go to auth.thundera.eu/billing, the one place every Thundera product is paid for: pick a pack and pay with a saved card or a new one (3-D Secure is supported). Credits are added to your balance within seconds of the payment, and the receipt is listed with your other invoices.

3. Create an API key

In API keys, create a key. The secret is shown once and is never stored in recoverable form; revoke and recreate if you lose it.

4. Make a call

curl https://swarm.thundera.eu/api/v1/chat/completions \
  -H "Authorization: Bearer $SWARM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"deepseek-flash","messages":[{"role":"user","content":"Say hello"}]}'

Any OpenAI-compatible SDK works by changing the base URL:

from openai import OpenAI

client = OpenAI(base_url="https://swarm.thundera.eu/api/v1", api_key="<your Swarm API key>")
reply = client.chat.completions.create(
    model="qwen.qwen3-32b-v1:0",
    messages=[{"role": "user", "content": "Summarise Swarm in one line."}],
)
print(reply.choices[0].message.content)
print(reply.model_extra["swarm"]["credits_debited"])

5. Watch the ledger

The Usage page lists each call with its status and credit debit. The response of every call also contains a swarm block with the exact debit and your balance after it.

Pick a model first

List the enabled models with GET /api/v1/models or open the Models page. Model ids such as deepseek-flash and qwen.qwen3-32b-v1:0 are used verbatim.

Source of truth: the Swarm repository