Hetzners KI-Schnittstelle ist auch am 21. September 2026 noch kostenlos und sie spricht das Format von OpenAI. n8n bringt einen OpenAI-Knoten mit, in dem sich die Adresse des Anbieters austauschen lässt. Das klingt nach fünf Minuten Einrichtung. Mit den Standardeinstellungen kam bei mir aber zuerst ein Fehler und danach eine Antwort, für die das Modell 120-mal so viele Token verbraucht hat wie nötig.
Ich habe die Anbindung deshalb in einer frischen n8n-Installation durchgetestet, Version 2.39.9, die am Testtag aktuelle stabile Fassung. Geprüft habe ich den Knoten OpenAI Chat Model an der Basic LLM Chain und am AI Agent, den HTTP-Request-Knoten als Alternative und das Verhalten an der Ratenbegrenzung. Was Hetzner Inference grundsätzlich ist, habe ich im Juli vorgestellt. Hier geht es nur darum, wie es in n8n zuverlässig läuft.
Was du vorher brauchst
Du brauchst einen Schlüssel aus dem Experiments-Bereich deines Hetzner-Kontos und eine laufende n8n-Instanz. Die Rahmenbedingungen stehen in der Dokumentation von Hetzner. Die Adresse lautet https://inference.hetzner.com/api/v1, angeboten werden zwei Modelle, Qwen/Qwen3.6-35B-A3B-FP8 und Qwen3.8-27B. Solange das Angebot ein Experiment ist, kostet es nichts. Hetzner speichert nach eigener Angabe keine Inhalte von Anfragen und Antworten, nur Zeitstempel und Token-Zahlen. Pro Schlüssel gelten innerhalb von 60 Sekunden höchstens 10 Anfragen, 4 Millionen Eingabe-Token und 100.000 Ausgabe-Token.
Zwei Dinge fehlen, die bestimmen, wofür du das Ganze einsetzen kannst. Es gibt keine Zusage zu Leistung und Verfügbarkeit. Und es gibt keinen Auftragsverarbeitungsvertrag. Dazu weiter unten mehr.
Zugangsdaten in n8n anlegen
In n8n legst du neue Zugangsdaten vom Typ OpenAI an. Ins Feld API Key kommt der Hetzner-Schlüssel, ins Feld Base URL die Adresse https://inference.hetzner.com/api/v1. Die Organization ID bleibt leer. Zum Prüfen der Verbindung ruft n8n die Modellliste unter dieser Adresse ab. Die stellt Hetzner bereit.
Der Vorteil dieser Lösung zeigt sich später. Alles, was den Anbieter betrifft, steckt in diesen Zugangsdaten. Wechselst du irgendwann zu einem anderen Anbieter, änderst du dort Adresse und Schlüssel, im Workflow selbst nur noch den Modellnamen.
Foto: RDNE Stock project / Pexels
Den Modellknoten richtig einstellen
Für die meisten Aufgaben reicht eine Basic LLM Chain, an die du als Modell den Knoten OpenAI Chat Model hängst. Unter Model wählst du den Modus ID und trägst den Modellnamen exakt so ein, wie Hetzner ihn führt, also Qwen/Qwen3.6-35B-A3B-FP8.
Direkt darunter sitzt die erste Stolperstelle. Der Schalter Use Responses API ist in n8n 2.39.9 standardmäßig eingeschaltet. Dann spricht n8n die neuere Responses-Schnittstelle von OpenAI an, so steht es auch in der Doku zum Knoten. Hetzner bietet aber nur Modellliste, Completions und Chat Completions. Im Test brach der Workflow mit der Meldung „The resource you are requesting could not be found“ ab, samt Verweis auf eine Hilfeseite zu nicht gefundenen Modellen. Die Meldung führt also auf eine falsche Spur, der Modellname stimmte. Schalter aus und die Anfrage kommt durch.
Qwen das Nachdenken abgewöhnen
Beide Qwen-Modelle laufen bei Hetzner als Denkmodelle. Sie schreiben vor der eigentlichen Antwort einen Denkweg, den n8n nicht anzeigt, der aber Zeit und Ausgabe-Token kostet. Bei der API habe ich das schon im Deutsch-Test im Juli beschrieben. In n8n wirkt es sich so aus, gemessen an einer einfachen Aufgabe. Das Modell sollte eine erfundene Reklamationsmail einer von fünf Kategorien zuordnen:
| Einstellung im OpenAI Chat Model | Ergebnis | Ausgabe-Token | Zeit im Modellknoten |
|---|---|---|---|
| alles Standard, Use Responses API an | Abbruch mit 404-Fehler | 0 | 0,3 s |
| Use Responses API aus | „Reklamation“ | 480 | 10,4 s |
| zusätzlich Maximum Number of Tokens 200 | leerer Text, kein Fehler | 200 | 5,1 s |
| „/no_think“ am Ende des Prompts | „Reklamation“ | 425 | 17,9 s |
| Extra Body mit enable_thinking false | „Reklamation“ | 4 | 1,2 s |
Die dritte Zeile ist die gefährlichste. Setzt du ein Token-Limit, damit die Antworten kurz bleiben, verbraucht das Denken das komplette Kontingent. n8n meldet den Lauf trotzdem als erfolgreich und reicht einen leeren Text weiter. In einem Workflow, der danach verzweigt, fällt das erst auf, wenn Einträge im falschen Zweig landen.
Ein /no_think im Prompt, wie es bei Qwen3 als Schalter vorgesehen war, hilft bei diesen Modellen nicht. Ich habe es direkt an der API zusätzlich im Systemprompt und als ausformulierte Anweisung probiert, bei Qwen3.6 und bei Qwen3.8. Gedacht wurde jedes Mal.
Wirksam ist nur der Parameter enable_thinking. In n8n 2.39.9 gibt es dafür im Knoten OpenAI Chat Model unter Options über Add Option das Feld Extra Body. Dort trägst du ein:
{ "chat_template_kwargs": { "enable_thinking": false } }
Damit antwortet Qwen3.6 in gut einer Sekunde mit dem nackten Kategorienamen. Stell bei der Gelegenheit die Sampling Temperature auf 0, bei einer Einordnung willst du keine Kreativität.
Der Denkmodus hat noch eine Nebenwirkung. Das Modell setzt dann zwei Zeilenumbrüche vor die Antwort. Die Basic LLM Chain schneidet sie ab, der AI Agent nicht. Dort kam \n\nDer Rabatt beträgt 409,50 Euro. heraus. Ein nachfolgender Vergleich auf exakten Text schlägt dann fehl. Werkzeuge kann der AI Agent übrigens nutzen. Mit dem Rechner-Werkzeug Calculator von n8n rechnete Qwen3.6 einen Rabatt korrekt über einen Werkzeugaufruf aus, mit Extra Body für 48 statt 249 Ausgabe-Token.
Für Qwen3.8 gibt es einen weiteren Punkt. Seine Antwortzeiten schwankten am Testtag stark. Am Nachmittag dauerten meine Anfragen 105 bis 190 Sekunden, auch wenn die Antwort nur aus einem Wort bestand. Eine gute halbe Stunde später waren es im n8n-Test 5 bis 8 Sekunden. Der Knoten OpenAI Chat Model bricht ab Werk nach 60 Sekunden ab. Wer Qwen3.8 nutzt, setzt unter Options den Timeout auf 300.000 Millisekunden. Wie unterschiedlich schnell die beiden Modelle sind, steht in meiner Nachmessung vom August.
Der HTTP-Request-Knoten als Alternative
Fehlt das Feld Extra Body in deiner n8n-Version, oder willst du volle Kontrolle über die Anfrage, nimm den HTTP Request-Knoten. Diese Einstellungen haben im Test funktioniert:
- Method POST, URL
https://inference.hetzner.com/api/v1/chat/completions - Authentication auf „Predefined Credential Type“, als Credential Type „OpenAI“ und dann dieselben Zugangsdaten wie oben
- Send Body an, Body Content Type JSON, Specify Body „Using JSON“
Als Body funktionierte im Test dieser Aufbau, die Mail kommt per Ausdruck aus dem vorigen Knoten:
{
"model": "Qwen/Qwen3.6-35B-A3B-FP8",
"chat_template_kwargs": { "enable_thinking": false },
"temperature": 0,
"messages": [
{ "role": "system", "content": "Ordne die E-Mail genau einer Kategorie zu: Anfrage, Bestellung, Reklamation, Rechnung, Sonstiges. Antworte nur mit dem Kategorienamen." },
{ "role": "user", "content": {{ JSON.stringify($json.mail) }} }
]
}
Das JSON.stringify sorgt dafür, dass Anführungszeichen und Zeilenumbrüche in der Mail den JSON-Body nicht zerlegen. Die Antwort steht danach unter {{ $json.choices[0].message.content }}. Im Test brauchte der Knoten 1,05 Sekunden bei 4 Ausgabe-Token.
Beispiel-Workflow zum Vorsortieren von Mails
Ein Workflow, den du in zehn Minuten nachbauen kannst, sortiert Mails nach ihrem Anliegen. Ein Code-Knoten liefert fünf erfundene Test-Mails, eine Reklamation, eine Rechnungsfrage, eine Preisanfrage, eine Bestellung und eine Einladung zu einem Vereinsfest. Die Basic LLM Chain mit dem Modellknoten von oben ordnet jede Mail ein. Ein Switch-Knoten verteilt sie mit vier Regeln der Form {{ $json.text }} is equal to „Reklamation“ auf die Zweige. Alles andere läuft über den Fallback-Ausgang.
Foto: cottonbro studio / Pexels
Im ersten Durchlauf standen im Prompt nur die fünf Kategorienamen. Vier von fünf Mails landeten richtig, die Mail „in Ihrer Rechnung vom 12. September ist die Anfahrt doppelt berechnet“ ordnete das Modell als Reklamation ein. Das ist nicht einmal abwegig, für die Buchhaltung aber der falsche Stapel. Mit je einer Zeile Erklärung pro Kategorie saßen alle fünf:
Ordne die E-Mail genau einer Kategorie zu.
Reklamation: Mängel an gelieferter Ware oder erbrachter Leistung.
Rechnung: Fragen oder Einwände zu einer Rechnung, Zahlung oder Mahnung.
Anfrage: Fragen zu Preisen, Angeboten oder Terminen vor einem Auftrag.
Bestellung: verbindliche Bestellung oder Auftrag.
Sonstiges: alles andere.
Antworte nur mit dem Kategorienamen.
Ein Detail kostet sonst Zeit beim Weiterbauen. Die Basic LLM Chain gibt nur das Feld text aus, der Mailtext ist danach weg. Im nächsten Knoten holst du ihn per {{ $('Mail').item.json.mail }} zurück, wobei „Mail“ der Name des Knotens ist, der die Mails liefert.
Später ersetzt ein Email Trigger (IMAP) den Code-Knoten. Mit echten Kundenmails verarbeitest du aber personenbezogene Daten. Dafür fehlt bei Hetzner der Auftragsverarbeitungsvertrag. Ich empfehle deshalb ein schlichtes Vorgehen. Du baust den Workflow mit Test-Mails auf Hetzner und stimmst ihn ab. Für den Echtbetrieb stellst du die Zugangsdaten auf einen Anbieter mit Vertrag um.
Das Limit von zehn Anfragen pro Minute
Laut Doku lässt Hetzner pro Schlüssel 10 Anfragen in 60 Sekunden zu. Gemessen habe ich am 21. September etwas anderes. Direkt an der API gingen 67 von 70 Anfragen nacheinander in 40 Sekunden durch. Fehler mit HTTP 429 kamen vor allem, wenn viele Anfragen gleichzeitig eintrafen. Darauf verlassen würde ich mich nicht, Hetzner kann die dokumentierte Grenze jederzeit scharf stellen. Für n8n ist das trotzdem relevant, weil der HTTP-Request-Knoten ohne weitere Einstellung alle Einträge gleichzeitig abschickt.
Foto: Suki Lee / Pexels
| Aufbau in n8n | Einträge | Ergebnis | Dauer |
|---|---|---|---|
| HTTP Request ohne Batching | 12 | alle erfolgreich | 1,2 s |
| HTTP Request ohne Batching | 40 | 17 mit HTTP 429 | 1,4 s |
| wie oben mit Retry On Fail, 3 Versuche | 40 | Workflow bricht ab | 6,2 s |
| HTTP Request, Batching 1 Eintrag alle 6,5 s | 12 | alle erfolgreich | 72,5 s |
| Basic LLM Chain, Batch Size 2, Delay 13 s | 12 | alle erfolgreich | 68,3 s |
Die n8n-Doku zu Ratenbegrenzungen nennt zwei Wege, Retry On Fail und Batching. Retry On Fail ist der naheliegende Schalter und hilft hier nicht. Wiederholt wird der ganze Knoten mit allen 40 Einträgen, also läuft derselbe Ansturm dreimal gegen die Grenze. Die Wartezeit zwischen den Versuchen deckelt n8n außerdem bei 5 Sekunden. Steht On Error auf „Continue“, wiederholt n8n gar nichts, die Fehler landen als Einträge im Ergebnis.
Was funktioniert, ist gleichmäßiges Tempo. Im HTTP-Request-Knoten gibt es unter Options die Option Batching. Mit Items per Batch 1 und Batch Interval (ms) 6500 bleibst du sicher unter der dokumentierten Grenze. In der Basic LLM Chain heißt das Pendant Batch Processing mit Batch Size und Delay Between Batches. Hier gibt es eine Falle. Bei einer Batch Size von 1 ignoriert der Knoten die Pause komplett, 12 Einträge liefen in 6 Sekunden durch. Erst ab einer Batch Size von 2 greift die Pause, mit 13 Sekunden Abstand ergibt das wieder 10 Anfragen pro Minute. Für eine nächtliche Sortierung von ein paar hundert Einträgen ist das Tempo völlig ausreichend.
Wofür sich das eignet
Gut passt Hetzner Inference in n8n für alles, was keine personenbezogenen Daten enthält und nicht zeitkritisch ist. Typische Beispiele sind Produkttexte, die aus einer Tabelle vorformuliert werden, Zusammenfassungen interner Notizen, Schlagworte für eigene Dokumente oder ein Workflow, den du mit Testdaten so weit bringst, dass im Echtbetrieb nur noch die Zugangsdaten wechseln. Für solche Aufgaben ist Qwen3.6 mit abgeschaltetem Denkmodus schnell genug und kostet nichts.
Für echte Kundendaten passt es nicht, weil der Vertrag fehlt. Auch Abläufe, die jeden Tag zuverlässig laufen müssen, gehören nicht dorthin. Hetzner nennt das Angebot selbst ein Experiment. Seit dem Start im Juli haben sich Modelle und Grenzwerte mehrfach geändert. Ein Workflow, der morgens Anfragen an dein Team verteilt, braucht eine Grundlage mit Zusage. Weil in n8n alles an den Zugangsdaten hängt, ist der Umzug dorthin später eine Sache von Minuten.
Wenn du einen Ablauf in n8n mit KI aufsetzen willst und klären möchtest, welcher Anbieter für deine Daten in Frage kommt, schreib mir gerne. Ich schaue mir den Workflow mit dir an und sage dir, welches Modell und welche Einstellungen dazu passen.
Häufige Fragen
Kann ich Hetzner Inference in n8n kostenlos nutzen?+
Ja. Laut Hetzner ist die Inference API kostenlos, solange sie den Status eines Experiments hat. Du brauchst einen Schlüssel aus dem Experiments-Bereich von Hetzner und legst in n8n Zugangsdaten vom Typ OpenAI mit der Base URL https://inference.hetzner.com/api/v1 an. Eine Garantie für Verfügbarkeit gibt es nicht. Einen Auftragsverarbeitungsvertrag bietet Hetzner für das Experiment auch nicht an.
Warum meldet der OpenAI-Knoten in n8n bei Hetzner einen 404-Fehler?+
Weil im Knoten OpenAI Chat Model der Schalter Use Responses API standardmäßig eingeschaltet ist, in n8n 2.39.9 jedenfalls. n8n fragt dann die Responses-Schnittstelle von OpenAI an, die Hetzner nicht anbietet. Die Fehlermeldung lautet The resource you are requesting could not be found und klingt nach einem falschen Modellnamen. Schaltest du den Schalter aus, läuft die Anfrage über Chat Completions und funktioniert.
Wie schalte ich den Denkmodus von Qwen in n8n ab?+
Im Knoten OpenAI Chat Model unter Options die Option Extra Body hinzufügen und dort { "chat_template_kwargs": { "enable_thinking": false } } eintragen. Alternativ schickst du die Anfrage mit dem HTTP-Request-Knoten und schreibst den Parameter direkt in den JSON-Body. Ein /no_think im Prompt oder eine Anweisung im Systemprompt hat im Test nichts bewirkt.
Darf ich mit Hetzner Inference in n8n Kundenmails verarbeiten?+
Mit echten Kundendaten nicht, weil Hetzner für das Experiment keinen Auftragsverarbeitungsvertrag anbietet. Dass Hetzner nach eigener Angabe keine Inhalte speichert, ersetzt diesen Vertrag nicht. Für einen Prototyp mit erfundenen Test-Mails taugt es gut. Für den Echtbetrieb tauschst du später nur die Zugangsdaten gegen einen Anbieter mit Vertrag, der Workflow bleibt gleich.
Du willst mehr erfahren?
In einem kostenlosen Erstgespräch besprechen wir, wie du diese Themen für dein Unternehmen nutzen kannst. Kein Verkaufsgespräch, sondern eine ehrliche Einschätzung.
Kostenloses Erstgespräch vereinbaren



