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

# Unsloth als API-Endpunkt verwenden

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

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

* [**Selbstheilende Tool-Aufrufe**](/docs/de/neu/studio/chat.md#auto-healing-tool-calling)sorgen dafür, dass defekte oder fehlerhafte Tool-Aufrufe um 50 % reduziert werden
* [**Code-Ausführung**](/docs/de/neu/studio/chat.md#code-execution) -Support, der Bash- und Python-Ausführung für genauere Code-Ausgaben ermöglicht.
* **Erweiterte** [**Websuche**](/docs/de/neu/studio/chat.md#advanced-web-search) die Webseiten aufruft 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 **authentifizierte API** über `llama-server`bereitgestellt. Aus Sicherheitsgründen wird ein langer API-Schlüssel generiert, so wie OpenAI einen bereitstellt.

Deine **lokalen Modelle** können dann direkt in deinem bevorzugten KI-Agenten, SDK oder Chat-Client verwendet werden. Unsloth spricht zwei Dialekte auf demselben 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. **Installiere oder aktualisiere** [**Unsloth Studio**](/docs/de/neu/studio.md)**.** Starte dann Unsloth.
2. **Lade ein Modell.** Klicke auf **New Chat**, wähle ein Modell (GGUF) aus oder suche danach und warte, bis es fertig geladen ist.
3. **Erstelle einen API-Schlüssel.** Klicke unten links auf dein **Unsloth** -Avatar → **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 zur Authentifizierung. Spring unten zum Rezept für dein Tool.

### 🔑 Einen API-Schlüssel erstellen

1. Öffne die Seitenleiste und klicke unten links auf deinen **Unsloth** Avatar.
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. Klicke auf **Erstellen**.
5. **Kopiere den Schlüssel.** Unsloth speichert nur einen Hash und du kannst ihn nicht erneut anzeigen.

<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. Du kannst einen Schlüssel jederzeit auf derselben Seite widerrufen. Anfragen mit einem widerrufenen Schlüssel schlagen mit `401 Unauthorized`.

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

### ⏳ Modell laden

{% stepper %}
{% step %}

#### Modell auswählen

Bevor du die API verwendest, lade ein Modell über das Dropdown **Modell auswählen** 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" %}
Damit wird bestätigt, dass das Modell korrekt geladen wurde und antwortbereit ist.
{% endhint %}
{% endstep %}

{% step %}

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

Öffne in Studio **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 können dann direkt mit dem Client deiner Wahl verwendet werden.

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

#### Ein Modell über die CLI laden

Du kannst ein Modell laden und automatisch einen API-Schlüssel für dich erstellen lassen, indem du das `unsloth` CLI-Tool verwendest. Wenn das Modell fertig geladen ist, werden die Endpunkt-URL und der API-Schlüssel in deiner Konsole ausgegeben. Kopiere sie in deinen Client deiner Wahl 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 dein API-Schlüssel ausgegeben.

#### Wie der Modellname funktioniert

Du kannst auf verschiedene Arten auf ein Modell verweisen. Wähle die für dich einfachste:

```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 (der ältere 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
```

### Das Ausführen anpassen (optional)

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

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

#### Generierungsverhalten anpassen

Sampling-Einstellungen steuern, wie kreativ, fokussiert oder deterministisch sich das Modell bei 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 erzeugen normalerweise stabilere Ausgaben, während Top-P-, Top-K-, Min-P- und Repeat-Penalty-Einstellungen die Token-Auswahl und Wiederholungen weiter 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 bereitstellen

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 sie 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
```

#### Reasoning-Verhalten steuern

Einige Modelle mit Reasoning-Fähigkeit unterstützen zusätzliche Flags zur Steuerung von Denken 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 von den Fähigkeiten des Modells und des Backends ab.

#### Serverseitige Tools aktivieren oder deaktivieren

Steuert, ob Tools wie Websuche und Code-Ausführung vom Inferenzserver bereitgestellt werden.

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

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

Unsloth unterstützt die meisten Laufzeit-Flags von llama-server, einschließlich Kontextgröße, GPU-Layern, Threading, Sampling, Netzwerk 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 Laufzeit-Flags.

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

`unsloth run` steuert, ob serverseitige Tools (Websuche, Code-Ausführung usw.) vom Inferenzserver bereitgestellt werden. Die Standardwerte hängen von der Bind-Adresse ab:

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

**Flags:**

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

Die festgelegte Richtlinie ist ein harter Override auf Prozessebene — einzelne Anfragen können sie nicht umgehen über `enable_tools=true` im Request-Body.

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

### 🌐 **Endpunkte**

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

| Endpunkt                    | Kompatibel mit              | Verwendbar von                                                       |
| --------------------------- | --------------------------- | -------------------------------------------------------------------- |
| `POST /v1/messages`         | Anthropic Messages API      | Claude Code, Anthropic SDK, OpenClaw, alles, was Anthropic spricht   |
| `POST /v1/chat/completions` | OpenAI Chat Completions API | OpenAI SDK, opencode, Cursor, Continue, Cline, Open WebUI, curl usw. |
| `GET /v1/models`            | OpenAI-Modelleliste         | Listet 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 keine unterschiedlichen Server für die beiden Formate ausführen. Studio verarbeitet beide auf demselben Port.
{% endhint %}

### 🖇️ Deinen Client verbinden

Unsloth ermöglicht dir, lokale LLMs über die meisten Frameworks auszuführen, 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 Studio.

**OpenAI-Stil-Tools:** sende `Tools` und `tool_choice` an `/v1/chat/completions` genau wie du es mit OpenAI tun würdest. Claude Code (über `/v1/messages`), opencode, Cursor, Continue und Cline funktionieren sofort.

**Anthropic-Stil-Tools:** sende `Tools` (mit `input_schema`) und `tool_choice` an `/v1/messages` genau wie du es mit Claude tun würdest.

**Studio-Server-Tools:** Studio 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 zu einem der beiden Endpunkte hinzufügst:

```json
{
  "messages": [{"role": "user", "content": "Was ist 123 * 456? Verwende 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 sauber: Anthropic `auto` → OpenAI `auto`, Anthropic `beliebig` → 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-…`übergeben werden. Wenn du den Schlüssel verloren hast, erstelle einen neuen unter **Einstellungen → API.** Studio zeigt alte Schlüssel nach der Erstellung nicht an.

**`Verbindung zum Modellserver verloren`** : Studio konnte den zugrunde liegenden llama.cpp-Server nicht erreichen. Meistens wurde das Laden des Modells abgeschlossen, aber es ist abgestürzt, oder der Modell-Tab wurde in Studio geschlossen. Lade das Modell erneut von **New Chat** und versuche es erneut.

**Claude Code zeigt das standardmäßige Anthropic-Modell an, nicht mein lokales** ; prüfe, ob alle drei Env-Variablen im **gleichen** Shell gesetzt sind, 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 statt SSE einen einzelnen JSON-Blob zurück** ; stelle sicher, dass du den richtigen Pfad aufrufst (`/v1/messages` oder `/v1/chat/completions`) und dass dein HTTP-Client die Antwort tatsächlich als Stream verarbeitet und nicht puffert.

**Ich kann den Namen des Modells nicht finden, um ihn opencode (oder OpenClaw / einem anderen Client) hinzuzufügen** ; frage direkt Studio. `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 ein JSON-Payload in der Form `{"data": [{"id": "gemma-4-26B-A4B-it-GGUF", ...}]}`. Kopiere den `id` Wert ist die Zeichenkette, die opencode's **Model ID** Feld (linke Spalte) und OpenClaws `models[].id` erwarten. Der Anzeigename rechts ist beliebig und das, was Nutzer 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 Studio denke daran, `enable_tools: true` **und** die gewünschten in `enabled_tools` aufzulisten (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:

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

The question should be specific, self-contained, and written in natural language.
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.
