NL ▾
API-sleutel aanvragen

OpenRouter-alternatief voor Janitor AI: Setupgids

Frontends voor karaktergesprekken die een aangepaste OpenAI-compatible API accepteren, kunnen met dit endpoint communiceren met drie waarden: een URL, een sleutel en een modelnaam. Hier is de exacte configuratie, een basis-systeemprompt en de limieten waar je rekening mee moet houden.

Bijgewerkt

Podium met gloeiende gespreksballonnen en maskers, verbonden door een kabel met een kleine servercube

Belangrijkste punten

  1. Voer base URL https://api.openrouterapi.cc/v1, je sleutel en model-ID uncensored in.
  2. Test eerst met curl, zodat je weet of het probleem bij de sleutel of de client ligt.
  3. Een rolgeschiedenis van 30.000 tokens kost ongeveer $0,0047 per antwoord, dus 100 antwoorden komen neer op ongeveer $0,47.
  4. Het model is alleen voor tekst en heeft een contextvenster van 100.000 tokens.

Begin met gratis proeftegoed

E-mail en wachtwoord, de sleutel staat meteen op het scherm.

API-sleutel aanvragen

Wat je moet invoeren

Als je een OpenRouter-alternatief voor Janitor AI of een vergelijkbare karaktergesprek-app wilt, is de configuratie hetzelfde als voor elke OpenAI-compatible provider. Zoek de plek in je client waar je een aangepaste of proxy API toevoegt. Verschillende apps gebruiken verschillende labels: "proxy", "aangepaste OpenAI-endpoint", "API-URL". De velden eronder zijn altijd dezelfde drie.

VeldWaarde
API URL / base URLhttps://api.openrouterapi.cc/v1
API-sleutelDe sleutel van je account, verzonden als Authorization: Bearer
Modelnaamuncensored

Sommige clients willen het volledige endpoint in plaats van de basis-URL. Als het opslaan van de basis-URL een fout of 404 geeft, probeer dan https://api.openrouterapi.cc/v1/chat/completions. De twee ondersteunde methoden zijn POST /v1/chat/completions en GET /v1/models, dus een client die modellen opsomt, roept de tweede aan en ziet uncensored.

Heb je nog geen sleutel? Meld je aan met Google of e-mail en wachtwoord en volg de API-sleutel-instructies. Nieuwe accounts kunnen met één klik $0,50 proeftegoed claimen, wat ruim voldoende is voor een eerste testsessie.

Test de verbinding voordat je de app de schuld geeft

Rolgesprek frontends verbergen de ruwe fouttekst. Voer eerst een verzoek uit vanuit een terminal, zodat je weet of de sleutel en het model werken. Vervang de placeholder door je sleutel.

curl https://api.openrouterapi.cc/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [
      {"role": "system", "content": "You are Mara, a dry-witted ship engineer."},
      {"role": "user", "content": "The reactor is humming wrong again."}
    ],
    "temperature": 0.9,
    "max_tokens": 200
  }'

Als dit een antwoord oplevert, zijn het endpoint en de sleutel in orde en ligt het probleem in de app-instellingen. Als het mislukt, vertelt de foutmelding waarom. Bewaar de request-ID van de X-Request-Id-header; deze helpt bij het schrijven naar support.

Een starter systeemprompt

Een personagekaart in een front-end wordt meestal het systeembericht. Wat je app ook doet, het model ontvangt iets als de onderstaande tekst. Het model is afgestemd op antwoorden zonder inhoudelijke weigeringen voor legaal gebruik door volwassenen, dus de prompt hoeft er niet over te discussiëren. Het moet duidelijk zijn over stem, grenzen en opmaak.

Je bent Mara Voss, hoofdingenieur op het vrachtschip Calloway.

Voice: droog, praktisch, snel tot grappen onder stress.

Schrijf in de derde persoon in de verleden tijd, 2 tot 4 korte alinea's.

Spreek of handel nooit voor het personage van de gebruiker.

Houd continuïteit: houd bij van verwondingen, reparaties en wie wat weet.

Blijf in het verhaal. Alle personages zijn volwassenen.

Twee gewoontes verbeteren lange sessies. Ten eerste, houd de systeemprompt kort, omdat deze bij elke beurt opnieuw wordt verzonden. Ten tweede, zet harde regels aan het einde van de prompt, niet in het midden, zodat ze prominent blijven wanneer de chatgeschiedenis groeit. Als je app het toelaat om een "author's note" of een herinnering toe te voegen die bij het laatste bericht wordt ingevoegd, gebruik deze dan voor stijlregels.

Een regel is vast op deze service en in je prompt: geen seksuele inhoud met minderjarigen. Het in de character card schrijven houdt ook je eigen kaarten schoon.

Instellingen die meestal werken

Dit zijn startpunten, geen garanties. Verander één op een tijd en vergelijk een paar antwoorden.

  • Temperature 0,8 tot 1,0 voor levendige dialogen. Ga lager, rond 0,6, als het personage afdrijft of zichzelf tegenspreekt.
  • top_p 0,9 tot 0,95 als je client dit blootgeeft. Het wordt doorgegeven.
  • Frequentie- en aanwezigheidsstraffen 0,2 tot 0,5 wanneer antwoorden beginnen met het herhalen van zinnen. Grote waarden maken de prose vreemd, dus houd het laag.
  • max_tokens is optioneel. Stel 300 tot 600 in als je antwoorden van alinea-lengte wilt en geen essays.
  • Streaming aan. Het antwoord verschijnt terwijl het wordt geschreven, en de laatste chunk bevat gebruiksgegevens zodat je client het aantal tokens kan tonen.
  • seed wordt doorgegeven, wat handig is als je twee promptversies op dezelfde roll wilt vergelijken.

Streaming heeft één neveneffect dat het weten waard is: een gestreamd verzoek houdt zijn concurrency slot vast tot de stream eindigt. Een volledige sleutel staat 8 verzoeken tegelijk en 300 per minuut toe. Een proefsleutel staat 2 tegelijk en 60 per minuut toe.

Context, geheugen en wat lange gesprekken kosten

Het contextvenster is 100.000 tokens, prompt plus completion. Dat is veel verhaal: tienduizenden woorden geschiedenis kunnen passen. De kosten groeien mee, omdat de hele geschiedenis elke keer wordt verzonden. Hier is een uitgewerkt voorbeeld voor een lange sessie.

Stel dat de geschiedenis is gegroeid tot 30.000 tokens en het antwoord 300 tokens is. Input: 30.000 x $0,15 / 1M = $0,0045. Output: 300 x $0,50 / 1M = $0,00015. Eén antwoord kost $0,00465. Een honderd antwoorden van die grootte komen neer op $0,465, dus ongeveer 47 cent.

Een kortere geschiedenis is goedkoper en vaak beter. Modellen besteden minder aandacht aan het midden van zeer lange prompts, dus een schone samenvatting van oude gebeurtenissen plus de laatste twaalf berichten kan consistenter lezen dan 30.000 ruwe tokens. Veel frontends hebben een samenvattings- of "memory"-functie. Gebruik het zodra de chat een paar duizend tokens passeert.

Prijzen zijn $0,15 per 1M input en $0,50 per 1M output. Mislukte of geweigerde verzoeken worden niet in rekening gebracht, en tegoed vervalt nooit. Zie de pricing page voor top-up bedragen, bonussen en betaalmethoden, inclusief kaart en crypto.

Een personage consistent houden gedurende weken

Langlopende personages driften af. De oplossing is vooral administratie, en het kost zeer weinig tokens als je het goed doet.

Houd een vaste blok feiten die nooit verandert: naam, persoonlijkheid, spreekgewoonten, relaties. Houd een tweede blok bij dat je af en toe handmatig bijwerkt: de huidige situatie, open plotdraden, gemaakte beloftes. Plak beide in de systeemprompt of het geheugenveld van je client, en houd elk onder ongeveer 500 tokens. Samen is dat maximaal 1.000 tokens, wat $0,00015 per antwoord kost tegen het inputtarief.

Laat de live chat dan alleen de recente uitwisseling dragen. Wanneer een scène eindigt, schrijf twee of drie zinnen samenvatting in het tweede blok en wis de oude berichten. Je personages blijven scherp, antwoorden zijn sneller te lezen, en de kosten per antwoord blijven rond een tiende cent in plaats van te stijgen met elke sessie.

Als je meerdere personages in één chat draait, zeg dan wie spreekt en wanneer. Een regel zoals "Schrijf alleen Mara's regels tenzij de gebruiker om een ander personage vraagt" voorkomt dat het model iedereen tegelijk vertelt, wat ook antwoorden kort en goedkoop houdt.

Probleemoplossing voor 429's en vreemde antwoorden

Roleplay-apps zijn goed in het per ongeluk triggeren van rate limits: twee browsertabs, een "regenerate"-knop twee keer ingedrukt, een groepschat waarin meerdere karakters tegelijk antwoorden. De API antwoordt met HTTP 429 en een van deze oorzaken.

  1. Foutcode concurrency. Je hebt meer verzoeken open staan dan je sleutel toestaat. Sluit extra tabs, wacht tot de streaming is voltooid of schakel gelijktijdige karakterantwoorden uit. Onthoud dat een streaming zijn slot bezit tot het einde.
  2. Foutcode rate_limited. Je hebt te veel verzoeken in een minuut verstuurd. Vertraag; een persoon die typt raakt zelden 300 per minuut, maar een geautomatiseerde swipe-loop kan 60 bereiken op een trial-sleutel.
  3. 429 met een Retry-After: 5 header. De service is tijdelijk overbelast. Wacht vijf seconden en stuur opnieuw.

Als antwoorden afgekapt worden, controleer dan je max_tokens-instelling in de client. Als het karakter voor jou spreekt, versterk dan de regel in de systeemprompt en verlaag de temperature. Als de app zegt dat het model niet gevonden is, zorg er dan voor dat het model-veld exact uncensored is, in kleine letters.

Waar dit past, en waar niet

Dit werkt als vervanging wanneer je client je toelaat je eigen endpoint te kiezen en je een enkel model wilt met een vlakke prijs per token. Het vervangt geen router als je graag tussen veel modellen wisselt tijdens een chat. Je krijgt één model, van een onafhankelijke provider, niet de officiële API van een modelleverancier.

Het model is alleen tekst. Het zal geen karakterart, stem of video genereren, en embeddings zijn niet beschikbaar. Alles in je client dat daarop afhankelijk is, heeft een andere service nodig. Prompts worden niet gebruikt voor training, en de volledige quickstart staat in de docs.

Vragen en antwoorden

Welke modelnaam typ ik in instellingen in Janitor AI-stijl?

Typ uncensored, in kleine letters, in het model-veld. Gebruik https://api.openrouterapi.cc/v1 als URL en je eigen sleutel.

Waarom krijg ik een 429-fout tijdens een chat?

Ofwel staan er te veel verzoeken tegelijk open (concurrency) of te veel per minuut (rate_limited). Sluit extra tabs en wacht tot streams eindigen; een trial-sleutel staat 2 tegelijk toe.

Kan het model afbeeldingen maken voor mijn karakters?

Nee. Het is een tekstmodel alleen, zonder afbeeldings-, audio- of videogeneratie.

Hoeveel kost een roleplay-sessie?

Met een geschiedenis van 30.000 tokens en antwoorden van 300 tokens kost elk antwoord ongeveer $0.0047, dus 100 antwoorden zijn ongeveer 47 cent.

Je sleutel is nog maar één formulier verwijderd

Maak een account aan, kopieer de sleutel, pas de base URL aan. Dat is de hele setup.

API-sleutel aanvragen