Docs / Start

Quickstart

Everything on AxForge speaks the OpenAI API shape. If you have used the OpenAI SDK, you already know this API — the only changes are the base URL, your key, and the model name. Three steps to your first streamed token.

1. Create an AxForge account

Create an account. Your API key is created with it. Every new account currently includes 5M serverless tokens/month at launch.

2. Copy your API key from the console

Your key is on the API keys page of the console. It is pinned to eu-se-1 · Stockholm, and all inference for the key runs in that region.

3. Send your first request

Point the SDK you already use at https://api.axforge.ai/v1:

Python
# pip install openai — the official SDK, unchanged
from openai import OpenAI

client = OpenAI(
    base_url="https://api.axforge.ai/v1",
    api_key="YOUR_AXFORGE_KEY",
)
$ curl https://api.axforge.ai/v1/chat/completions \
    -H "Authorization: Bearer $AXFORGE_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{"model":"qwen3.8-27b-nvfp4","max_tokens":60,
         "messages":[{"role":"user","content":"Say hello from Stockholm in one sentence."}]}'

Every one of these was run on the system it names before it was printed here. In PowerShell 7 (pwsh) the bash line works too; in Windows PowerShell 5.1 — the one that opens by default — it cannot. $PSVersionTable.PSVersion tells you which you are in.

What comes back — the standard shape, with the tokens you were billed for in usage (this is a real answer, recorded 2026-09-18; the ids and the wording will differ):

{
  "id": "chatcmpl-a76c352750b8914a",
  "object": "chat.completion",
  "model": "qwen3.8-27b-nvfp4",
  "choices": [{ "index": 0, "finish_reason": "stop",
                "message": { "role": "assistant", "content": "Hello from Stockholm!" } }],
  "usage": { "prompt_tokens": 20, "completion_tokens": 5, "total_tokens": 25 }
}

No answer? Run the self-test — one click in the console tells you which step failed and how to fix it — and the errors & limits page lists every status the API returns.

Stream a completion

r = client.chat.completions.create(
    model="qwen3.8-27b-nvfp4",
    stream=True,
    messages=[{"role": "user", "content": "Hello from Stockholm"}],
)
for chunk in r:
    print(chunk.choices[0].delta.content or "", end="")

Streaming sends one chat.completion.chunk per token as server-sent events — the first two look like this, and the last one carries usage:

data: {"object":"chat.completion.chunk","choices":[{"delta":{"role":"assistant","content":""}}]}
data: {"object":"chat.completion.chunk","choices":[{"delta":{"content":"Hello"}}]}

The model is Qwen3.8 27B at €0.29 / 1M input tokens and €1.77 / 1M output tokens (launch pricing), with a 262,144-token context. Streaming responses include usage.

Everything else behind the same key

CapabilityEndpointModel name
Chat, tools, vision/v1/chat/completionsqwen3.8-27b-nvfp4
Embeddings (1024-dim)/v1/embeddingsqwen3-embed
Image generation/v1/images/generationsernie-image-turbo
Image editing/v1/images/editsflux2-klein-4b
Speech to text/v1/audio/transcriptionswhisper
Text to speech/v1/audio/speechpiper
Music generation/v1/audio/musicminimax-music3

Each has its own page in these docs with request and response shapes and practical guidance — and a product page on Serverless Models.

Zero retention, verifiable

Prompts and completions are processed in memory in the EU — never written to disk, logged, retained, or used for training. Only request metadata (token counts, timestamps, status) is kept for billing. The commitment in full: axforge.ai/privacy; the data-residency evidence is in the Trust Centre.

Anything unclear on this page?

Ask on the forum — the answer helps the next person too.

Ask about this page
© 2026 AxForge · EU-hosted AI infrastructure Docs Models For AI axforge.ai Pricing Trust Acceptable use Community guidelines