> For the complete documentation index, see [llms.txt](https://unsloth.ai/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://unsloth.ai/docs/de/grundlagen/api.md).

# Wie man Unsloth als API-Endpunkt verwendet

Du kannst **lokale LLMs** mit Tools wie [Claude Code](/docs/de/grundlagen/claude-code.md) und [Codex](/docs/de/grundlagen/codex.md) indem du diese Tools mit Unsloths **OpenAI-kompatiblem API-Endpunkt**. Damit kannst du Modelle wie [Qwen](/docs/de/modelle/qwen3.6.md) und [Gemma](/docs/de/modelle/gemma-4.md) lokal für agentisches Coden ausführen. Unsloth hat außerdem nützliche Funktionen wie selbstheilende **Tool-Calling**, **Codeausführung**, und **Websuche**.

Unsloth macht es einfach, einen schnellen API-Inferenzendpunkt bereitzustellen, der Folgendes bietet:

* [**Selbstheilende Tool-Aufrufe**](/docs/de/neu/studio/chat.md#auto-healing-tool-calling), wodurch fehlerhafte oder falsch formatierte Tool-Aufrufe um 50 % reduziert werden können
* [**Code-Ausführung**](/docs/de/neu/studio/chat.md#code-execution) Unterstützung, die Bash- und Python-Ausführung für genauere Codeausgaben ermöglicht.
* **Erweiterte** [**Websuche**](/docs/de/neu/studio/chat.md#advanced-web-search) die Webseiten besucht und tatsächlich liest, um tiefgehende Informationen zu sammeln.
* [**Automatische Inferenz** Einstellungen](/docs/de/neu/studio/chat.md#auto-parameter-tuning) für GGUF-Modelle (Temp, Top-K usw.)

{% columns %}
{% column %}
In Unsloth geladene Modelle (einschließlich GGUFs) werden als eine **authentifizierte API** über `llama-server`. Aus Sicherheitsgründen wird ein langer API-Schlüssel generiert, ähnlich wie bei OpenAI.

Deine **lokalen Modelle** können dann direkt in deinem bevorzugten KI-Agenten, SDK oder Chat-Client verwendet werden. Unsloth spricht zwei Dialekte über denselben Port. Beide unterstützen Streaming, Tool-Aufrufe (OpenAI `Tools` / Anthropic `Tools`), und Vision-Eingaben:
{% endcolumn %}

{% column %}

<figure><img src="/files/4d7f67e24fb64209883a9782fb1c8e4d7782a66f" alt=""><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

* **Anthropic-kompatibel `/v1/messages`**  für Claude Code, OpenClaw, das Anthropic SDK und jeden Client, der die Messages API erwartet.
* **OpenAI-kompatibel `/v1/chat/completions`** und **`/v1/responses`** für das OpenAI SDK, OpenCode, Cursor, Continue, Cline, Open WebUI, SillyTavern und jedes OpenAI-kompatible Tool.

### ⚡ Schnellstart

1. **Installieren oder aktualisieren** [**Unsloth Studio**](/docs/de/neu/studio.md)**.** Dann starte Unsloth.
2. **Lade ein Modell.** Klicken Sie auf **Neuer Chat**, wähle oder suche ein Modell (GGUF) und warte, bis das Laden abgeschlossen ist.
3. **Erstelle einen API-Schlüssel.** Klicke unten links auf dein **Unsloth** Profilbild → **Einstellungen** → **API** → gib einen Schlüsselnamen ein → **Erstellen**. Kopiere den `sk-unsloth-…` Wert, der angezeigt wird. Unsloth zeigt ihn nur einmal an.
4. **Richte deinen Client auf Unsloth aus.** Verwende `http://localhost:PORT` als Basis-URL und deinen `sk-unsloth-…` Schlüssel für die Authentifizierung. Springe unten zum Rezept für dein Tool.

### 🔑 Einen API-Schlüssel erstellen

1. Öffne die Seitenleiste und klicke unten links auf dein **Unsloth** Profilbild.
2. Gehe zu **Einstellungen** → **API** (Globus :globe\_with\_meridians: Symbol).
3. Gib einen aussagekräftigen Namen ein (z. B. `claude-code-macbook`). Lege optional ein Ablaufdatum fest
4. Klicken Sie auf **Erstellen**.
5. **Kopiere den Schlüssel.** Unsloth speichert nur einen Hash und du kannst ihn nicht erneut ansehen.

<div data-with-frame="true"><figure><img src="/files/79728a63bf4bfe0057e70c6f0dd283ee1d2806b8" alt="" width="375"><figcaption></figcaption></figure></div>

Alle Schlüssel beginnen mit dem `sk-unsloth-` Präfix. Widerrufe einen Schlüssel jederzeit auf derselben Seite. Anfragen mit einem widerrufenen Schlüssel schlagen mit `401 Unauthorized`.

{% hint style="warning" %}
Behandle deinen API-Schlüssel wie ein Passwort. Jeder, der den Schlüssel und Netzwerkzugriff auf deine Unsloth-Instanz hat, kann Anfragen an dein geladenes Modell senden.
{% endhint %}

### ⏳ Modellladen

{% stepper %}
{% step %}

#### Modell auswählen

Bevor du die API verwendest, lade ein Modell aus dem **Modell auswählen** Dropdown oben links auf der Chat-Seite.

<figure><img src="/files/35a6966ece42497bdc299b98050269c7636c7c98" alt=""><figcaption></figcaption></figure>

In diesem Leitfaden verwenden wir:

`unsloth/gemma-4-26B-A4B-it-GGUF` mit der empfohlenen `UD-Q4_K_XL` Quantisierung.
{% endstep %}

{% step %}

#### Das Modell testen

Bevor du den Client verwendest, sende eine kurze Nachricht:

<div data-with-frame="true"><figure><img src="/files/245fe14776c68639a801acfab0d58e75d6cf1ce4" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
Das bestätigt, dass das Modell korrekt geladen wurde und bereit ist zu antworten.
{% endhint %}
{% endstep %}

{% step %}

#### **Unsloth-API-Schlüssel**

Öffne in Unsloth **Einstellungen → API** um deinen API-Schlüssel anzuzeigen oder zu erstellen.

<figure><img src="/files/96dbb4b6e52ce8bc33d050cacf1e90d03b66c1ae" alt=""><figcaption></figcaption></figure>

Behandle deinen API-Schlüssel wie ein Passwort und vermeide es, ihn in Screenshots oder Repositories offenzulegen.
{% endstep %}
{% endstepper %}

### <i class="fa-terminal">:terminal:</i> Unsloth-Ausführungsbefehl

1. **Installiere oder aktualisiere Unsloth Studio.** Frühere Versionen stellen die externe API nicht bereit. Siehe Installation.
2. **Lade ein GGUF-Modell.** Lade ein GGUF-Modell mit dem Ausführungsbefehl. Dadurch wird auch die UI auf dem Standardport geladen. Die Endpunkt-URL und der API-Schlüssel werden in der Konsole ausgegeben und sind sofort für deinen bevorzugten Client verwendbar.

   ```bash
   unsloth run --model unsloth/gemma-4-26B-A4B-it-GGUF:UD-Q4_K_XL
   ```

#### Laden eines Modells über die CLI

Du kannst ein Modell laden und automatisch einen API-Schlüssel für dich erstellen lassen mit dem `unsloth` CLI-Tool. Wenn das Modell fertig geladen ist, werden die Endpunkt-URL und der API-Schlüssel in deiner Konsole ausgegeben. Kopiere sie in deinen bevorzugten Client und schon kann es losgehen.

#### Bevor du beginnst

Stelle sicher, dass du eine aktuelle Version von Unsloth Studio verwendest, da frühere Versionen die externe API nicht bereitstellen. Siehe [Installation](/docs/de/neu/studio/install.md).

#### Der schnelle Weg

Öffne ein Terminal und lade ein GGUF-Modell:

```bash
unsloth run --model unsloth/gemma-4-26B-A4B-it-GGUF:UD-Q4_K_XL
```

Dadurch wird der Server auf dem Standardport gestartet, die UI geladen und deine Endpunkt-URL sowie der API-Schlüssel ausgegeben.

#### Wie der Modellname funktioniert

Du kannst auf ein Modell auf verschiedene Arten verweisen. Wähle die, die dir am einfachsten erscheint:

```bash
# Kombiniert: Repo und Quantisierungsvariante in einem String (empfohlen — am kürzesten)
unsloth run --model unsloth/gemma-4-26B-A4B-it-GGUF:UD-Q4_K_XL

# Getrennt: Repo und Variante als zwei Flags (älterer Stil, funktioniert weiterhin)
unsloth run --model unsloth/gemma-4-26B-A4B-it-GGUF --gguf-variant UD-Q4_K_XL

# Mit -hf / --hf-repo (entspricht der Schreibweise von llama.cpp, praktisch, wenn du von dort kommst)
unsloth run -hf unsloth/gemma-4-26B-A4B-it-GGUF:UD-Q4_K_XL
```

### An den Lauf anpassen (optional)

Du brauchst davon nichts für ein einfaches Laden, aber `unsloth run` unterstützt viele llama-server-Laufzeitflags zur Anpassung von Leistung, Speichernutzung, Kontextlänge, Generierungsverhalten, Netzwerken und Tool-Zugriff.

Zusätzliche Flags werden direkt an den zugrunde liegenden Inferenzserver weitergeleitet, und deine Werte überschreiben die Standardwerte von Unsloth.

#### Generierungsverhalten anpassen

Sampling-Einstellungen steuern, wie kreativ, fokussiert oder deterministisch sich das Modell während der Generierung verhält.

```bash
# Geringere Zufälligkeit und bessere Reproduzierbarkeit
unsloth run \\
  --model unsloth/Qwen3-1.7B-GGUF \\
  --temp 0.6 \\
  --seed 42
```

Niedrigere Temperaturwerte führen normalerweise zu stabileren Ausgaben, während Top-p-, Top-k-, Min-p- und Repeat-Penalty-Einstellungen zusätzlich die Token-Auswahl und Wiederholungen steuern.

```bash
# Token-Auswahl und Wiederholungsverhalten anpassen
unsloth run \\
  --model unsloth/Qwen3-1.7B-GGUF \\
  --top-p 0.95 \\
  --top-k 20 \\
  --min-p 0.05 \\
  --repeat-penalty 1.1
```

#### Kontextlänge und CPU-Threads erhöhen

Nützlich, wenn du mit großen Projekten, langen Chats oder Agenten-Workflows arbeitest, die mehr Speicher benötigen.

```bash
# Größeres Kontextfenster und mehr CPU-Threads verwenden
unsloth run \\
  --model unsloth/gemma-4-26B-A4B-it-GGUF:UD-Q4_K_XL \\
  -c 131072 \\
  --threads 32
```

#### Die API in deinem lokalen Netzwerk verfügbar machen

Standardmäßig läuft Unsloth nur lokal auf deinem Rechner. Du kannst die API für andere Geräte in deinem Netzwerk freigeben, indem du an bindest an `0.0.0.0`.

```bash
# LAN-Geräten die Verbindung erlauben
unsloth run \\
  --model unsloth/gemma-4-26B-A4B-it-GGUF:UD-Q4_K_XL \\
  -H 0.0.0.0 \\
  -p 8888
```

#### Steuerung des Reasoning-Verhaltens

Einige reasoning-fähige Modelle unterstützen zusätzliche Flags zur Steuerung von Denk- und Reasoning-Verhalten.

```bash
# Reasoning-/Denkausgabe deaktivieren
unsloth run \\
  --model unsloth/Qwen3-1.7B-GGUF \\
  --reasoning off
```

```bash
# Reasoning-Modus aktivieren
unsloth run \\
  --model unsloth/Qwen3-1.7B-GGUF \\
  --reasoning on
```

Die Unterstützung für Reasoning hängt vom Modell und den Backend-Funktionen ab.

#### Serverseitige Tools aktivieren oder deaktivieren

Steuere, ob Tools wie Websuche und Codeausführung vom Inferenzserver bereitgestellt werden.

```bash
# Tools ausdrücklich aktivieren
unsloth run \\
  --model unsloth/gemma-4-26B-A4B-it-GGUF:UD-Q4_K_XL \\
  --enable-tools
```

```bash
# Tools ausdrücklich deaktivieren
unsloth run \\
  --model unsloth/gemma-4-26B-A4B-it-GGUF:UD-Q4_K_XL \\
  --disable-tools
```

Unsloth unterstützt die meisten llama-server-Laufzeitflags, einschließlich Kontextgröße, GPU-Layer, Threading, Sampling, Netzwerken und Tool-Konfiguration.

Siehe die [llama-server](https://github.com/ggml-org/llama.cpp/tree/master/tools/server) Dokumentation für die vollständige Liste der unterstützten Laufzeitflags.

#### **Richtlinie für serverseitige Tools**

`unsloth run` steuert, ob serverseitige Tools (Websuche, Codeausführung usw.) vom Inferenzserver bereitgestellt werden. Die Standardwerte basieren auf der Bind-Adresse:

* **`127.0.0.1` (localhost)** — Tools **ein** standardmäßig. Nur dein Rechner kann den Server erreichen.
* **`0.0.0.0` oder eine andere Nicht-Loopback-Adresse** — Tools **aus** standardmäßig. Ein geleakter API-Schlüssel auf einem netzwerkzugänglichen Server bedeutet beliebige Codeausführung auf dem Host.

**Flags:**

* `--enable-tools` / `--disable-tools` — erzwingt ein oder aus. Ein `0.0.0.0`, `--enable-tools` zeigt eine y/N-Sicherheitsabfrage an.
* `--yes` / `-y` — die Abfrage überspringen (für Automatisierung).

Die festgelegte Richtlinie ist eine harte Überschreibung auf Prozessebene — einzelne Anfragen können sie nicht über `enable_tools=true` im Request-Body umgehen.

<div data-with-frame="true"><figure><img src="/files/64c4a3226214c0d7de03f170ef9efa901a01176b" alt=""><figcaption></figcaption></figure></div>

### 🌐 **Endpunkte**

Unsloth stellt diese Endpunkte auf dem Port bereit, auf dem es gestartet wurde (typischerweise `http://localhost:8000` oder `http://localhost:8888`):

| Endpunkt                    | Kompatibel mit              | Verwende es von                                                      |
| --------------------------- | --------------------------- | -------------------------------------------------------------------- |
| `POST /v1/messages`         | Anthropic Messages API      | Claude Code, Anthropic SDK, OpenClaw, alles, was Anthropic versteht  |
| `POST /v1/chat/completions` | OpenAI Chat Completions API | OpenAI SDK, opencode, Cursor, Continue, Cline, Open WebUI, curl usw. |
| `GET /v1/models`            | OpenAI-Modellliste          | Liste die Modelle auf, die derzeit in Unsloth geladen sind           |

Authentifiziere dich mit einem `Authorization: Bearer sk-unsloth-…` Header bei jeder Anfrage.

{% hint style="info" %}
Du musst nicht unterschiedliche Server für die beiden Formate ausführen. Unsloth behandelt beide über denselben Port.
{% endhint %}

### 🖇️ Deinen Client verbinden

Unsloth ermöglicht dir, lokale LLMs über die meisten Frameworks zu nutzen, darunter [Claude Code](/docs/de/grundlagen/claude-code.md), [Codex](/docs/de/grundlagen/codex.md), [OpenClaw](/docs/de/integrationen/openclaw.md), [OpenCode](/docs/de/integrationen/opencode.md) und mehr. Klicke unten auf die jeweiligen Tools für eine Anleitung:

{% columns %}
{% column width="50%" %}
{% content-ref url="/pages/d12c953ceacbd6c3e44f3aa911056928e0488f5b" %}
[Claude Code](/docs/de/grundlagen/claude-code.md)
{% endcontent-ref %}

{% content-ref url="/pages/1813c928d883d651dff92062bc0da6e96d06e50a" %}
[OpenAI Codex](/docs/de/grundlagen/codex.md)
{% endcontent-ref %}

{% content-ref url="/pages/cede767fc3b9f7535c2c3cc36963872488a3bd1d" %}
[Curl & HTTP](/docs/de/integrationen/curl-and-http-mit-unsloth-verbinden.md)
{% endcontent-ref %}
{% endcolumn %}

{% column width="50%" %}
{% content-ref url="/pages/4ad33e7ce59bb7203a1fddd7e6e0102f70c191db" %}
[OpenClaw](/docs/de/integrationen/openclaw.md)
{% endcontent-ref %}

{% content-ref url="/pages/69edb30cadb1e5ecada5bd2a700b63f49e94955f" %}
[OpenCode](/docs/de/integrationen/opencode.md)
{% endcontent-ref %}

{% content-ref url="/pages/67298920320a528a941c4123bc768cc0a79e7332" %}
[Python SDK](/docs/de/integrationen/python-sdk-mit-unsloth-verbinden.md)
{% endcontent-ref %}
{% endcolumn %}
{% endcolumns %}

### 🧰 Tool-Aufrufe

Beide Endpunkte unterstützen Funktions-/Tool-Aufrufe in ihrem nativen Format sowie eine Unsloth-spezifische Kurzform für die integrierten Tools von Unsloth.

**OpenAI-Stil Tools:** senden `Tools` und `tool_choice` zu `/v1/chat/completions` genau wie bei OpenAI. Claude Code (über `/v1/messages`), opencode, Cursor, Continue und Cline funktionieren sofort.

**Anthropic-Stil Tools:** senden `Tools` (mit `input_schema`) und `tool_choice` zu `/v1/messages` genau wie bei Claude.

Serverseitige Tools von Unsloth: Unsloth kann Python, Websuche und Bash ausführen *serverseitig* und die Ergebnisse als `tool_result` Ereignisse zurückstreamen. Aktiviere dies, indem du diese zusätzlichen Felder an einen der beiden Endpunkte anfügst:

```json
{
  "messages": [{"role": "user", "content": "What is 123 * 456? Use Python."}],
  "stream": true,
  "enable_tools": true,
  "enabled_tools": ["python", "web_search","terminal"],
  "session_id": "my-session"
}
```

Das Modell sieht die Ausgabe jedes Tools in seinem nächsten Durchlauf. Für eine tiefere Abdeckung (Schemas, Streaming-Ereignisse, Verkettung) siehe .

{% hint style="info" %}
Wenn du den Anthropic `/v1/messages` Endpunkt verwendest, `tool_choice` ist die Zuordnung nahtlos: Anthropic `auto` → OpenAI `auto`, Anthropic `jeden` → OpenAI `erforderlich`, Anthropic `{type: "tool", name: "x"}` → OpenAI `{type: "function", function: {name: "x"}}`, Anthropic `none` → OpenAI `none`.
{% endhint %}

### ❔ Fehlerbehebung

**`401 Unauthorized`** :  entweder fehlt der `Authorization` Header oder der Schlüssel ist falsch. Schlüssel müssen als `Authorization: Bearer sk-unsloth-…`. Wenn du den Schlüssel verloren hast, erstelle einen neuen unter **Einstellungen → API.** Unsloth zeigt alte Schlüssel nach dem Erstellen nicht an.

**`Verbindung zum Modellserver verloren`** : Unsloth konnte den zugrunde liegenden llama.cpp-Server nicht erreichen. Meistens war das Modell fertig geladen, ist dann aber abgestürzt, oder der Modell-Tab wurde in Unsloth geschlossen. Lade das Modell erneut von **Neuer Chat** und versuche es erneut.

**Claude Code zeigt das standardmäßige Anthropic-Modell an, nicht mein lokales** :  stelle sicher, dass alle drei Env-Variablen in derselben Shell exportiert sind, in der du **derselben** Shell, in der du `claude`:

```bash
echo $ANTHROPIC_BASE_URL
echo $ANTHROPIC_AUTH_TOKEN
echo $ANTHROPIC_MODEL
```

Dann führe `/model` in Claude Code aus, um es zu bestätigen. Unter Windows PowerShell verwende `$env:ANTHROPIC_BASE_URL` usw.

**`stream: true` gibt einen einzelnen JSON-Blob statt SSE zurück** :  stelle sicher, dass du den richtigen Pfad verwendest (`/v1/messages` oder `/v1/chat/completions`) und dass dein HTTP-Client die Antwort tatsächlich als Stream verarbeitet und nicht puffert.

**Ich finde den Namen des Modells nicht, um ihn zu opencode (oder OpenClaw / einen anderen Client) hinzufügen** : frage Unsloth direkt. `GET /v1/models` gibt die genaue Modell-ID zurück, die du in das Feld „Model ID“ des Clients eintragen musst:

```bash
curl http://localhost:8888/v1/models \\
  -H "Authorization: Bearer sk-unsloth-xxxxxxxxxxxx"
```

Du erhältst als Antwort ein JSON-Payload der Form `{"data": [{"id": "gemma-4-26B-A4B-it-GGUF", ...}]}`. Kopiere den `id` Wert ist die Zeichenkette, die opencodes **Model ID** Feld (linke Spalte) und OpenClaws `models[].id` erwarten. Der Anzeigename rechts ist einfach der Name, den Benutzer sehen sollen.

**Tool-Aufrufe werden nicht ausgeführt** : Das Modell muss Tool-Aufrufe für clientseitige Tools unterstützen (`Tools` / `tool_choice`). Für die integrierten Tools von Unsloth denke daran, zu setzen `enable_tools: true` **und** liste die gewünschten in `enabled_tools` (z. B. `["python", "web_search"]`).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://unsloth.ai/docs/de/grundlagen/api.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
