# AxForge — the API, in full

AxForge is European AI infrastructure: an OpenAI-compatible inference API and whole GPUs by the hour, run in the EU. This page is generated from the live catalogue, price sheet and fleet — it is current, not a snapshot.

## The basics

| | |
|---|---|
| Base URL | `https://api.axforge.ai/v1` |
| Auth | `Authorization: Bearer $AXFORGE_API_KEY` |
| Compatibility | OpenAI API shape — the official SDKs work unchanged, only `base_url`, key and model id differ |
| Region | `eu-se-1` Stockholm (serverless), `eu-es-1` Málaga (dedicated GPUs) |
| Retention | Prompts and completions are processed in memory and never stored. Only counts, timestamps and status are kept, for billing |
| Keys | Created in the console: https://console.axforge.ai/keys |

```bash
curl -sS https://api.axforge.ai/v1/chat/completions \
  -H "Authorization: Bearer $AXFORGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gemma-4-26b-a4b-nvfp4","messages":[{"role":"user","content":"Hello"}]}'
```

## Models

Use the id in the `model` field. `Available` is hot now; `On request` boots on demand and the first call waits.

| Model | id | Type | Size · context | Price | Status |
|---|---|---|---|---|---|
| Gemma-4 26B | `gemma-4-26b-a4b-nvfp4` | Chat · text | 262k ctx | see /docs/models/ | On request |
| Mistral Small 3.2 | `mistral-small-3.2-24b-nvfp4` | Chat · text | 32k ctx | see /docs/models/ | On request |
| Qwen3 30B A3B | `qwen3-30b-a3b-nvfp4` | Chat · text | 65k ctx | see /docs/models/ | On request |
| Qwen3.6 35B A3B | `qwen3.6-35b-a3b-nvfp4` | Chat · text | 65k ctx | see /docs/models/ | On request |
| Qwen3.8 27B | `qwen3.8-27b-nvfp4` | Chat · text | — | €0.29 in · €1.77 out / 1M | Available |
| Qwen3 Embedding | `qwen3-embed` | Embeddings | 32k ctx | €0.02 in · €0.00 out / 1M | Available |
| ERNIE Image Turbo | `ernie-image-turbo` | Image generation | — | see /docs/models/ | Available |
| FLUX.2 Klein 4B | `qwen-image-edit` | Image generation | — | see /docs/models/ | Available |
| Qwen-Image | `qwen-image-dedicated` | Image generation | — | see /docs/models/ | On request |
| SDXL | `sdxl` | Image generation | — | see /docs/models/ | On request |
| MiniMax Music 3 | `planned-music-tbd` | Music | — | see /docs/models/ | Available |
| Piper (Text-to-Speech) | `piper-lessac` | Speech | — | see /docs/models/ | Available |
| Whisper (Speech-to-Text) | `whisper-base` | Speech | — | see /docs/models/ | Available |
| LTX-Video | `ltx-video` | Video generation | — | see /docs/models/ | Coming |
| MiniMax H3 | `minimax-h3` | Video generation | — | see /docs/models/ | Coming |
| Wan 2.2 5B | `wan2.2-ti2v-5b` | Video generation | — | see /docs/models/ | Coming |

## Endpoints

### `/v1/chat/completions`

Chat and tool use. `stream: true` gives server-sent events.

```json
{"model":"<id>","messages":[{"role":"user","content":"…"}],"stream":false}
```

### `/v1/embeddings`

Vectors for search and RAG.

```json
{"model":"qwen3-embed","input":"text to embed"}
```

### `/v1/images/generations`

Image generation.

```json
{"model":"<id>","prompt":"a red bicycle","size":"1024x1024"}
```

### `/v1/images/edits`

Image editing from an input image.

```json
multipart: model, image, prompt
```

### `/v1/audio/transcriptions`

Speech to text.

```json
multipart: model, file
```

### `/v1/audio/speech`

Text to speech.

```json
{"model":"piper-lessac","input":"hello"}
```

### `/v1/audio/music`

Music generation.

```json
{"model":"minimax-music3","prompt":"a calm piano piece"}
```

### `/v1/models`

What is served right now.

```json
GET
```

## Errors

Every error is JSON: `{"error":{"message":…,"type":…,"code":…}}`.

| Status | Means | Do |
|---|---|---|
| 400 | The request body is wrong | Read `error.message` — it names the field |
| 401 | No key, or a key that is gone | Check the Authorization header |
| 402 | Out of allowance or credit | Top up in the console; the message says which |
| 403 | The key may not use that model or endpoint | Check the key's scope in the console |
| 404 | Unknown model id or path | Call `/v1/models` for the live list |
| 413 | The body is too large | Split the input; embeddings take batches |
| 429 | Rate limited | Back off and retry with jitter; the headers say when |
| 502 | The model could not be reached | Retry once; if it persists the status page and the forum will say |
| 504 | The model took too long | Raise your client timeout for image and video models — minutes, not seconds |

## Dedicated GPUs

Whole machines by the hour with SSH, one tenant each. Prices no VAT configured.

| GPU | Memory | Status | Free now | From |
|---|---|---|---|---|
| NVIDIA DGX Spark (GB10) | 128 GB unified memory | Available | 0/1 | from €0.55/h |
| NVIDIA RTX 6000 Pro | 96 GB GDDR7 | Request capacity | — | from €1.06/h |
| NVIDIA RTX 5090 | 32 GB GDDR7 each | Request capacity | — | from €0.59/h |
| NVIDIA RTX 3090 | 24 GB GDDR6X | Request capacity | — | from €0.42/h |
| NVIDIA RTX 3060 | 12 GB each · 24 GB the pair | Available | 2/1 | from €0.16/h |
| NVIDIA H100 | 80 GB HBM3 | Request capacity | — | quoted |
| NVIDIA H200 | 141 GB HBM3e | Request capacity | — | quoted |
| NVIDIA B200 | 192 GB HBM3e | Request capacity | — | quoted |

Rent one: https://console.axforge.ai/gpus

## Where to read more

- [Overview](https://dev.axforge.ai/docs/) — What the platform is, and the shape of the API.
- [Quickstart](https://dev.axforge.ai/docs/quickstart/) — Key, first call, the real response — in one page.
- [Glossary](https://dev.axforge.ai/docs/glossary/) — The words we use, defined once.
- [Chatbox starter](https://dev.axforge.ai/docs/starters/) — A streaming chatbox in plain JavaScript — paste your key and it runs.
- [Test a call](https://dev.axforge.ai/docs/test-a-call/) — Run a real call and see how it lands, and why if it does not.
- [Models & pricing](https://dev.axforge.ai/docs/models/) — Every served model, its id and what it costs.
- [Chat completions](https://dev.axforge.ai/docs/chat/) — /v1/chat/completions — streaming, tools, JSON mode.
- [Embeddings](https://dev.axforge.ai/docs/embeddings/) — /v1/embeddings — 1024-dim vectors, batching, limits.
- [Images](https://dev.axforge.ai/docs/images/) — /v1/images — generate and edit; sizes and formats.
- [Speech & music](https://dev.axforge.ai/docs/audio/) — Transcription, text-to-speech and music.
- [Errors & limits](https://dev.axforge.ai/docs/errors-limits/) — Every status code, what causes it, what to do.
- [Use it from your stack](https://dev.axforge.ai/docs/connect/) — The SDKs, the editors and the CLIs, each with its real config.
- [OpenAI SDK](https://dev.axforge.ai/docs/connect/openai-sdk/) — The official SDK, base URL changed.
- [Vercel AI SDK](https://dev.axforge.ai/docs/connect/vercel-ai-sdk/) — Edge and node, streaming.
- [aider](https://dev.axforge.ai/docs/connect/aider/) — Pair programming in the terminal.
- [Continue](https://dev.axforge.ai/docs/connect/continue/) — The VS Code and JetBrains extension.
- [Cline](https://dev.axforge.ai/docs/connect/cline/) — The autonomous coding extension.
- [Codex CLI & Claude Code](https://dev.axforge.ai/docs/connect/codex-claude-code/) — Both agents against our endpoint.
- [Kimi Code CLI](https://dev.axforge.ai/docs/connect/kimi/) — The CLI, pointed here.
- [LiteLLM](https://dev.axforge.ai/docs/connect/litellm/) — A proxy in front of many providers.
- [Open WebUI](https://dev.axforge.ai/docs/connect/open-webui/) — A chat UI you host yourself.
- [LibreChat](https://dev.axforge.ai/docs/connect/librechat/) — The multi-model chat front end.
- [llm (Datasette CLI)](https://dev.axforge.ai/docs/connect/llm/) — Simon Willison's llm, configured.
- [How GPU rentals work](https://dev.axforge.ai/docs/gpu-rentals/) — On-demand and scheduled machines, SSH, the clock.
- [Regions & data handling](https://dev.axforge.ai/docs/regions-data/) — eu-se-1, eu-es-1, zero retention, what is logged.
- [Rules & responsibilities](https://dev.axforge.ai/docs/responsibilities/) — What you may run, and what we do.

- [The forum](https://dev.axforge.ai/) — questions and answers, one thread per model, GPU and docs page
- [The catalogue](https://axforge.ai/models/) — every open model we track, with the ones we run marked
- [axforge.ai](https://axforge.ai/) — the product pages

## If you are an agent acting for someone

Use their own key, never a shared one. Prefer a hot model for interactive work. Image, video and music calls can take minutes — set the client timeout accordingly rather than retrying, which doubles the work. If something is wrong here, the page it belongs to has a thread and a human reads it.
