Wat je instelt
Als je hier bent beland door openwebui hoe n8n te chatten in te voeren, probeer je waarschijnlijk twee gerelateerde dingen te doen: een gesprek voeren met een model in Open WebUI en hetzelfde model aanroepen vanuit n8n-workflows. Beide tools kunnen wijzen naar elke server die het OpenAI-chatcompleteringsformaat volgt, dus één account dekt beide.
Open WebUI is een self-hosted chatinterface. n8n is een workflowautomatiseringstool waar je nodes aan elkaar verbindt. De API achter hen is in beide gevallen hetzelfde:
- Basis-URL:
https://api.nofilteraichat.com/v1 - Model-ID:
uncensored - Auth: een
Authorization: Bearerheader met je sleutel
Je hebt eerst een sleutel nodig. De API key-pagina behandelt de registratie en de one-click $0.50 trial credit, die genoeg is om alles hieronder te testen.
Deel één: Open WebUI
Optie A: het admin-paneel
Als Open WebUI al draait, log in als beheerder en open de Beheerinstellingen, dan Verbindingen. Voeg een nieuwe OpenAI API-verbinding toe met deze waarden:
- URL:
https://api.nofilteraichat.com/v1 - Sleutel: je API-sleutel
- Opslaan, en gebruik dan de verificatieknop als je versie die heeft.
Menu-namen verschuiven een beetje tussen releases, dus zoek naar het onderdeel dat OpenAI-achtige verbindingen opsomt. Na het opslaan start je een nieuwe chat en open je de modelkiezer. Het model uncensored zou moeten verschijnen, omdat Open WebUI de lijst laadt van GET /v1/models.
Optie B: omgevingsvariabelen in Docker
Als je opnieuw begint, geef je de instellingen door bij het starten van de container:
docker run -d --name open-webui -p 3000:8080 \
-e OPENAI_API_BASE_URL="https://api.nofilteraichat.com/v1" \
-e OPENAI_API_KEY="$NOFILTER_API_KEY" \
-v open-webui:/app/backend/data \
ghcr.io/open-webui/open-webui:mainOpen http://localhost:3000, maak het eerste lokale account aan en het model staat klaar in de picker. Let op: Open WebUI slaat verbindingsinstellingen op in de database na de eerste start. Als je de variabelen later wijzigt en er gebeurt niets, bewerk dan de verbinding in het admin-paneel.
Een chat afstellen
In de chatbesturingen kun je temperatuur, top_p, een stopsequentie en een systeemprompt instellen. Deze worden doorgegeven aan het model. Voor fictie en rollenspel geeft een temperatuur tussen 0,7 en 1,0 levendiger proza. Voor feitelijke vragen ga je lager. Als het model begint met het herhalen van zinnen, verhoog je de frequentiestraffing iets.
Deel twee: n8n met de OpenAI-node
n8n heeft een ingebouwde OpenAI-credential. De configuratie bevat een Base URL-veld, dat standaard naar de officiële server verwijst. Verander dit en het knooppunt praat met je endpoint:
- Maak in n8n een nieuw credential van het type OpenAI.
- Plak je API-sleutel.
- Stel de Base URL in op
https://api.nofilteraichat.com/v1. - Sla op en koppel het credential aan een OpenAI Chat Model-node of een AI Agent-workflow.
De val zit in het modelveld. Sommige knooppunten tonen een dropdown gevuld vanuit de modellenlijst, en sommige beperken de keuzes tot bekende namen. Als je uncensored niet kunt selecteren, schakel dan het veld om naar expressiemodus en typ de ID met de hand. Als je n8n-versie het nog steeds weigert, gebruik dan de HTTP Request-aanpak in de volgende sectie, die geen dergelijke beperkingen heeft.
Met de credential die werkt, kun je het chatmodel aan een AI Agent-knooppunt koppelen en het tools geven. Function calling wordt ondersteund door de API (tools, tool_choice, en resultaten als role: "tool"). Test, zoals bij elk open-weight model, de agent op echte inputs en houd toolbeschrijvingen kort en letterlijk.
Deel drie: chatten vanuit een HTTP Request-node
De meest voorspelbare optie is een gewone HTTP Request-node. Deze toont precies wat er wordt verzonden en werkt in elke n8n-versie. Configureer de node als volgt:
- Methode: POST
- URL:
https://api.nofilteraichat.com/v1/chat/completions - Authenticatie: Headerauthenticatie, met naam
Authorizationen waardeBearer YOUR_KEY(sla het op als credential, niet in het knooppunt) - Lichaam verzenden: aan, inhoudstype JSON
Stel het bericht in op het volgende, met een expressie voor de gebruikerstekst:
{
"model": "uncensored",
"messages": [
{ "role": "system", "content": "You are a concise story assistant for adult fiction writers." },
{ "role": "user", "content": "{{ $json.prompt }}" }
],
"temperature": 0.8,
"max_tokens": 600
}De antwoordtekst staat bij choices[0].message.content. Lees het in de volgende node met de expressie {{ $json.choices[0].message.content }}. Hetzelfde antwoord bevat ook een usage blok, zodat je token-tellingen kunt loggen naar een spreadsheet of database.
Een typische workflow is een webhook-trigger, dit HTTP-knooppunt en een antwoordknooppunt dat de tekst retourneert. Een andere veelgebruikte leest rijen uit een spreadsheet, genereert een concept voor elke rij en schrijft de resultaten terug. Je kunt het verzoek ook eerst buiten n8n testen met curl:
curl https://api.nofilteraichat.com/v1/chat/completions \
-H "Authorization: Bearer $NOFILTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"uncensored","messages":[{"role":"user","content":"Say hello in five words."}]}'Limieten, herhalingen en batches in n8n
Een volledige sleutel staat 8 gelijktijdige verzoeken en 300 verzoeken per minuut toe; een proefsleutel staat 2 en 60 toe. n8n kan die getallen makkelijk overschrijden, omdat een knooppunt elk inkomend item verwerkt en ze snel kan afvuren.
In het HTTP Request-knooppunt open je Opties en gebruik je Batching: stel een batchgrootte in van 4 of 6 en een interval van een of twee seconden. Onder de knooppuntinstellingen schakel je Opnieuw proberen bij fout in met 3 pogingen en een wachttijd van 5000 ms. Dit komt overeen met het API-gedrag: wanneer het kortstondig overbelast is, retourneert het HTTP 429 met een Retry-After: 5-header. Andere 429-codes vertellen je welke limiet je raakte: rate_limited betekent te veel verzoeken per minuut, concurrency betekent te veel in één keer.
Streaming verdient een noot. Een gestreamd verzoek houdt zijn concurrency-slot vast tot de stream eindigt. Laat in n8n streaming uit in het HTTP-knooppunt, omdat de workflow toch op het hele antwoord wacht. Open WebUI streamt standaard, wat goed is voor een chatvenster.
Kosten van een workflow
Stel dat een workflow 500 rijen verwerkt, waarbij 800 inputtokens en 250 outputtokens per rij worden verstuurd. Input: 500 × 800 = 400.000 tokens, wat 400.000 × $0,15 / 1.000.000 = $0,06 kost. Output: 500 × 250 = 125.000 tokens, wat 125.000 × $0,50 / 1.000.000 = $0,0625 kost. De run komt in totaal op $0,1225, ongeveer 12 cent. Zie de prijzenpagina voor top-ups.
Probleemoplossing
| Symptoom | Waarschijnlijke oorzaak | Oplossing |
|---|---|---|
| Open WebUI toont geen modellen | Verkeerde URL of sleutel | Gebruik de basis-URL die eindigt op /v1; test GET /v1/models met curl |
| Docker env-wijzigingen genegeerd | Instellingen al opgeslagen | Verbinding bewerken in Beheerinstellingen |
| 401 van n8n | Header waarde mist het woord Bearer | Waarde moet lezen Bearer, een spatie, dan de sleutel |
| Open WebUI in Docker kan geen verbinding maken met een lokale proxy | localhost wijst naar de container | Gebruik het hostadres, niet localhost |
| 429 in het midden van een lus | Te veel gelijktijdige items | Batch het HTTP-knooppunt en activeer opnieuw proberen |
| Model niet gevonden | Naam verkeerd getypt | De enige ID is uncensored |
Houd de productlimieten in gedachten bij het ontwerpen van een flow: alleen tekstchat, een contextvenster van 100.000 tokens gedeeld door prompt en antwoord, en een berichtlichaam van 8 MB. Er is geen embeddings-endpoint, dus houd elke vectorzoekopdracht bij een andere service. De snelstartgids heeft de volledige verwijsreferentie, en de integratiegids behandelt meer frontends. Prompts die via de API worden verstuurd, worden niet gebruikt voor training.
De harde regel geldt in elke tool: geen seksuele inhoud met minderjarigen. Binnen wettelijk volwassen gebruik is het model afgestemd om te antwoorden zonder inhoudelijke weigeringen, wat geschikt is voor fictie, roleplay en companion-apps voor volwassenen.
