Qwen Abliterated API: een gehost model aanroepen, geen GPU nodig

Je kunt een ongecensureerd chatmodel aanroepen via HTTP met de OpenAI SDK die je al gebruikt, en het downloaden van weights of het huren van een GPU overslaan. Deze gids toont de setup, met werkende code en exacte kosten.
Belangrijkste punten
- Wijs een OpenAI SDK aan op de base URL en stel het model in op uncensored.
- Streaming, tool calling en JSON-modus werken via de standaardparameters.
- Limieten: 8 gelijktijdige verzoeken en 300 per minuut op een full key.
- Betaal per token: $0.15 per 1M input, $0.50 per 1M output.
Kort antwoord: pas de base URL aan
Als je op zoek bent naar een qwen abliterated api, is de praktische route een hosted endpoint dat het OpenAI-protocol spreekt. Je houdt je clientcode, wijzigt twee waarden en stuurt verzoeken naar een server die het model voor je draait. Geen GGUF-download, geen keuze in kwantisatie, geen VRAM-budget.
Een noodzakelijke noot over de naamgeving: dit is een onafhankelijke service, geen officiële Qwen API, en het hosted model wordt aangesproken als uncensored in plaats van via een Qwen checkpoint-naam. Het is één open-weight model, gedraaid door een onafhankelijke provider en afgestemd om te antwoorden zonder content-weigeringen voor legaal gebruik door volwassenen. Als je één specifiek abliterated bestand nodig hebt, draai dat bestand lokaal. Als je een betrouwbaar chatendpoint voor een app nodig hebt, lees verder.
| Instelling | Waarde |
|---|---|
| Basis-URL | https://api.qwenabliterated.top/v1 |
| Model | uncensored |
| Auth-header | Authorization: Bearer YOUR_API_KEY |
| Endpoints | POST /v1/chat/completions, GET /v1/models |
| Contextvenster | 100.000 tokens, prompt plus voltooiing |
Haal een sleutel op
Meld je aan met Google, of met een e-mailadres en wachtwoord, en open vervolgens de API-sleutelpagina. Nieuwe gebruikers kunnen met één klik $0,50 aan proeftegoed claimen, één per persoon, geldig voor 7 dagen en zonder bankkaart. Dat is genoeg om alle onderstaande voorbeelden meerdere keren uit te voeren.
Proefsleutels hebben lagere limieten dan volledige sleutels: 2 gelijktijdige verzoeken en 60 verzoeken per minuut, tegenover 8 en 300 bij een volledige sleutel. Houd dat in gedachten als je test met parallelle workers.
Sla de sleutel op in een omgevingsvariabele in plaats van in source control:
export QWENABL_KEY="paste-your-key-here"Eerste verzoek in Python
Installeer de officiële SDK met pip install openai, en voer dan het volgende uit:
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.qwenabliterated.top/v1",
api_key=os.environ["QWENABL_KEY"],
)
resp = client.chat.completions.create(
model="uncensored",
messages=[
{"role": "system", "content": "You are a blunt technical assistant."},
{"role": "user", "content": "Explain what a KV cache is in three sentences."},
],
temperature=0.7,
)
print(resp.choices[0].message.content)
print(resp.usage)
Het antwoord bevat een normale usage-blok, zodat je prompt- en completion-tokens kunt loggen en je eigen uitgaven kunt berekenen. De headers bevatten X-Request-Id voor ondersteuningsvragen en X-Balance-USD zodat je het resterende tegoed kunt bewaken zonder een dashboard te openen.
Waarom een API gebruiken in plaats van GGUF-bestanden
De gebruikelijke route naar een ongecensureerd model is het vinden van een gekwantiseerd bestand, het laden in een lokale runtime en het communiceren met een lokale server. Dat werkt, en voor experimenten is het een goede manier om te leren. De wrijving doet zich voor wanneer je van experimenten naar iets anders gaat dat door anderen wordt gebruikt.
Ten eerste, hardware. Een bestand dat op je desktopkaart past bij een korte context past mogelijk niet bij een lange context, omdat de attention-cache groeit met elke token. Ten tweede, concurrency. Een enkel lokaal proces verwerkt één of twee chats comfortabel, maar tien gebruikers tegelijk betekenen wachtrijen. Ten derde, beschikbaarheid. Een thuiscomputer slaapt, verliest stroom en krijgt op het verkeerde moment een driverupdate. Een gehoste API maakt dit tot de taak van iemand anders, en je betaalt alleen voor gebruikte tokens.
Wat je opgeeft is de vrijheid om een specifieke checkpoint te kiezen en de garantie dat bytes je netwerk nooit verlaten. Beslis wat voor je project belangrijker is voordat je kiest.
Node.js en curl
De Node SDK neemt dezelfde twee opties:
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.qwenabliterated.top/v1",
apiKey: process.env.QWENABL_KEY,
});
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Give me five names for a fantasy tavern." }],
});
console.log(resp.choices[0].message.content);
En met curl, wat handig is om een sleutel te controleren voordat je iets gaat aansluiten:
curl -s https://api.qwenabliterated.top/v1/models \
-H "Authorization: Bearer $QWENABL_KEY"
Een succesvolle aanroep retourneert een JSON-lijst die uncensored bevat. Een 401 betekent dat de sleutel foutief of ontbrekend is. De documentatie behandelt het foutformaat in detail.
Streaming, JSON-modus en tools
Streaming
Stel stream: true in en lees server-sent events. Gebruik wordt aan het einde van de stream gerapporteerd.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Write a short scene on a night train."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
Een gestreamd verzoek houdt zijn concurrency-slot vast tot de stream eindigt, dus een client die een stream opent en weggaat, blokkeert capaciteit. Gebruik de stream altijd of sluit hem.
JSON-modus
Geef response_format={"type": "json_object"} door en vermeld JSON in je prompt. Parse toch defensief; geen enkel model volgt een schema elke keer perfect.
Functieaanroep
Stuur tools en optioneel tool_choice. Als het model om een tool vraagt, voer het dan uit en retourneer de output als een bericht met role: "tool". Tool calls streamen ook. De samplingparameters temperature, top_p, stop, seed en de frequentie- en aanwezigheidsstraffen worden doorgegeven.
Het in een echte applicatie gebruiken
Eén script is eenvoudig. Een applicatie vereist een paar extra gewoonten, en dat zijn precies dezelfde die je zou gebruiken met elke OpenAI-style API.
Houd de sleutel op de server
Neem de sleutel nooit op in browsercode of een mobiele app. Roep de API aan vanuit je backend en exposeer je eigen route naar de front-end, waar je authenticatie en per-gebruiker limieten kunt toevoegen. Iedereen die een sleutel in een bundle vindt, kan je tegoed uitgeven.
Stel time-outs in en beperk de output
De completion kan gebruikmaken van wat er over is van het 100.000-token contextvenster, en max_tokens is optioneel. Stel voor een chatfunctie een cap in die past bij je interface, zodat een ongebruikelijk lang antwoord de rekening niet op kan drijven. Combineer dat met een client-timeout en je hebt een plafond voor zowel tijd als geld voor elke aanroep.
Log de request ID
Elk antwoord bevat X-Request-Id. Sla het op naast je eigen logboek van de aanroep. Als een resultaat er verkeerd uitziet of een verzoek faalt, is die identifier wat ondersteuning nodig heeft om het exacte verzoek te vinden. De header X-Balance-USD is nuttig voor een eenvoudige waarschuwing: als het aantal onder een drempelwaarde daalt, stuur jezelf een bericht voordat een taak opraakt.
Controleer de modellenlijst bij het opstarten
Een statuscontrole die GET /v1/models aanroept kost niets in tokens en bevestigt de sleutel, de URL en het netwerkpad in één stap. Voer dit uit wanneer je service opstart en gooi een fout als het een fout retourneert.
Limieten en foutafhandeling
Verzoeken boven een limiet krijgen HTTP 429. De foutcode vertelt je welke limiet je raakte: rate_limited betekent te veel verzoeken per minuut, en concurrency betekent te veel in één keer. Tijdens tijdelijke overbelasting retourneert de API ook 429 met een Retry-After: 5 header. De maximale body is 8 MB.
Respecteer de header en back off:
import time
from openai import OpenAI, RateLimitError
def ask(client, messages, tries=5):
for attempt in range(tries):
try:
return client.chat.completions.create(model="uncensored", messages=messages)
except RateLimitError as e:
wait = int(e.response.headers.get("Retry-After", 5))
time.sleep(wait * (attempt + 1))
raise RuntimeError("still rate limited")
Als je een worker pool draait, beperk deze dan tot 8 threads voor een volledige sleutel. Boven dat niveau zet je alleen werk om in 429's. Mislukte of geweigerde verzoeken worden niet in rekening gebracht, dus retries kosten je niets extra als ze falen.
Wat een verzoek kost
Input tokens zijn $0,15 per 1M en output tokens $0,50 per 1M. Enkele voorbeelden, exact berekend:
- Een chatbeurt met 2.000 prompt tokens en 500 completion tokens: 2.000 x $0,15 / 1M = $0,0003, plus 500 x $0,50 / 1M = $0,00025, dus $0,00055. Duizend beurten kosten $0,55.
- Een batchjob die 10M input tokens verstuurt en 2M output tokens ontvangt: $1.50 plus $1.00, dus $2.50.
- Een long-context call met 90.000 prompt tokens en 1.000 output tokens: $0.0135 plus $0.0005, dus $0.014.
Tegoed is prepaid, vervalt nooit en er is geen abonnement. Laad elk geheel bedrag op van $20 tot $500; $50 voegt 5% toe, dus een top-up van $50 geeft $52,50 aan tegoed. Betaal met crypto (USDT op TRC20, USDC op Base). Zie de prijspagina voor de volledige bonus tabel.
Gehost of lokale bestanden: wat past bij jou
Een lokale GGUF geeft je privacy door isolatie en volledige controle over de exacte weights. Een hosted API geeft je geen hardwarewerk, lange context en een URL die andere services kunnen aanroepen. De meeste teams die een bot, een schrijftool of een game backend bouwen vinden hosting eenvoudiger, omdat een spare GPU box nog iets is dat draaiende moet blijven.
Voor een breder overzicht van betalen per token in vergelijking met andere manieren om een Qwen-style model te bereiken, zie de vergelijkingsgids. Prompts die naar de API worden gestuurd, worden niet gebruikt voor training. Het model is alleen tekst, en seksuele inhoud met minderjarigen is onder geen enkele omstandigheid toegestaan.
Meer handleidingen
Vragen en antwoorden
Heb ik een GPU nodig om het te gebruiken?
Nee. Het model draait op de servers van de provider. Je code stuurt alleen HTTP-verzoeken, dus een laptop of een kleine VPS is genoeg.
Welke modelnaam stuur ik?
Stuur uncensored als modelwaarde. Je kunt dit bevestigen met een GET-verzoek naar /v1/models.
Ondersteunt het de OpenAI Python- en Node SDK's?
Ja. Stel de base URL in op het /v1-adres van de site en gebruik je key. Chat-completions, streaming, tool calling en JSON-modus werken via de normale parameters.
Wat gebeurt er als ik te veel verzoeken stuur?
Je ontvangt HTTP 429 met de code rate_limited of concurrency. Wacht en probeer het opnieuw, en houd je aan de Retry-After-header wanneer deze aanwezig is.
Is er een gratis manier om het te testen?
Nieuwe gebruikers kunnen $0,50 aan proeftegoed claimen met één klik op de API key pagina. Het duurt 7 dagen en vereist geen kaart.
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