Snelstartgids voor Qwen-gebruikers
Verbind je bestaande OpenAI-compatibele client met ons ongecensureerde endpoint. Pas de basis-URL aan, injecteer je sleutel en begin met het versturen van verzoeken.
uncensoredhttps://api.qwenapi.cc/v1
Op deze pagina
Authenticatie en Basis-URL
Onze API gebruikt standaard Bearer token-authenticatie. Je ontvangt je sleutel direct na het aanmaken van een account via Google of e-mail. Bewaar deze sleutel veilig; deze geeft toegang tot je prepaid tegoed. De basis-URL voor alle verzoeken is https://api.qwenapi.cc/v1. Werk je clientconfiguratie bij om naar dit endpoint te wijzen in plaats van de standaard OpenAI-URL.
Authenticatie wordt afgehandeld door de Authorization header bij elk verzoek mee te sturen. Zonder API-sleutel kan het model je accountsaldo niet verifiëren, wat resulteert in een 401-fout. Er zijn geen verborgen headers of aangepaste authenticatieschema's vereist.
Eerste Verzoek
Stuur een standaard chat-completion-verzoek om de connectiviteit te testen. Vervang YOUR_API_KEY door je daadwerkelijke sleutel. Het endpoint accepteert standaard JSON-payloads met velden model, messages en content.
- Modelidentificatie:
uncensored - Endpoint:
POST /v1/chat/completions - Formaat: JSON
Dit verzoek zal input tokens van je saldo verbruiken. Zorg dat je client de JSON-antwoord correct verwerkt om te verifiëren dat de verbinding werkt.
Python SDK Integratie
Gebruik de officiële OpenAI Python-bibliotheek. Het vereist minimale configuratie om verkeer naar ons endpoint te routeren. Initialiseer de client met je sleutel en de juiste basis-URL. Deze aanpak maakt gebruik van bestaande codebases zonder de verzoeklogica te herschrijven.
Geef de model-ID uncensored op bij het maken van het antwoord. De bibliotheek verwerkt serialisatie en deserialisatie automatisch. Deze methode wordt aanbevolen voor de meeste backend-integraties en scriptgebaseerde workflows.
Node SDK Integratie
Voor JavaScript- of TypeScript-omgevingen gebruik je de @anthropic-ai/sdk of het standaard OpenAI Node-pakket. Configureer de basis-URL zodat deze naar onze API wijst. Hiermee kun je onze service in bestaande Node-applicaties opnemen zonder grote refactoring.
Zorg dat je een recente versie van de SDK gebruikt die aangepaste basis-URLs ondersteunt. Geef de modelidentificatie uncensored door om ons ongecensureerde model te selecteren. Deze setup werkt naadloos met Express-routes of serverless-functies.
Streaming Reacties
Schakel streaming in door stream: true in je verzoek in te stellen. De API retourneert Server-Sent Events (SSE) terwijl het model tekst genereert. Dit zorgt voor lagere latentie voor eindgebruikers en stelt je in staat uitvoer in realtime weer te geven.
Statistieken over tokengebruik worden opgenomen in het laatste gegevensblok van de stream. Verwerk elke delta incrementeel om het volledige antwoord op te bouwen. Deze functie is essentieel voor chatinterfaces en applicaties die directe feedback vereisen.
Limieten, Fouten en Context
Houd je aan de rate limits om serviceonderbreking te voorkomen. De API staat 300 verzoeken per minuut en 8 gelijktijdige verzoeken per sleutel toe. De maximale grootte van de request body is 8 MB. Als je deze limieten overschrijdt, ontvang je een 429-fout.
Authenticatiefouten retourneren 401, wat wijst op een ongeldige of ontbrekende sleutel. Saldfouten retourneren 402, wat betekent dat je prepaid tegoed op is. Het contextvenster ondersteunt in totaal 100.000 tokens, met een maximum van 32.000 tokens per verzoek. Fouten en weigeringen verbruiken geen tegoed.
cURL
curl https://api.qwenapi.cc/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.qwenapi.cc/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.qwenapi.cc/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);Streaming
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)Vragen en antwoorden
Hoe ga ik om met rate limiting?
De API handhaaft een limiet van 300 verzoeken per minuut en 8 gelijktijdige verzoeken per sleutel. Als je deze limieten overschrijdt, retourneert de API een 429-statuscode. Implementeer exponentiële backoff in je client om herhaalde pogingen soepel af te handelen.
Ondersteunt de API function calling?
Ja, de API ondersteunt function calling via het standaard tools-formaat. Je kunt tools en tool_choice in je verzoek specificeren om gestructureerde uitvoer of externe toolintegratie in te schakelen. Deze functie werkt met het standaard OpenAI-compatibele schema.
Wat gebeurt er als ik mijn contextvenster overschrijd?
Het model ondersteunt een totaal contextvenster van 100.000 tokens, inclusief zowel prompt als completion. Als je deze limiet overschrijdt, mislukt het verzoek. Zorg dat je applicatie het tokengebruik bijhoudt om binnen deze grenzen te blijven.
Je sleutel is nog maar één formulier verwijderd
Maak een account aan, kopieer de sleutel, pas de basis-URL aan. Dat is de hele setup.
API-specificaties
Alle echte limieten en functies van de API op één plek — controleer ze voordat je opwaardeert.
| Onderdeel | Waarde |
|---|---|
| API-formaat | OpenAI-compatibel: elke OpenAI-SDK werkt — vervang alleen base URL en sleutel |
| Model-ID | uncensored |
| Base URL | https://api.qwenapi.cc/v1 |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Authenticatie | Authorization: Bearer YOUR_KEY |
| Max. uitvoer | tot de rest van het venster van 100.000 tokens; max_tokens optioneel (geen aparte limiet) |
| Function calling | ja — tools, tool_choice; antwoorden bevatten tool_calls, ook bij streaming; resultaten als role: tool |
| Streaming | ja — server-sent events; het laatste deel bevat het tokenverbruik |
| Contextvenster | 100.000 tokens (invoer + uitvoer) |
| Parameters | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| JSON-modus | response_format: {"type": "json_object"} |
| Gelijktijdige verzoeken | tot 8 tegelijk per sleutel |
| Responsheaders | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Rate limit | 300 verzoeken per minuut per sleutel |
| Verzoekgrootte | tot 8 MB |
| Gratis proeftegoed | $0,50 voor 7 dagen, zonder kaart · Proefsleutel: 2 parallelle verzoeken, 60 per minuut; volledige limieten (8 en 300) na eerste opwaardering |
| Afrekening | prepaid tegoed op basis van echt verbruik; fouten en weigeringen zijn gratis |
| Prijs | $0,25 per 1 mln invoertokens · $1,00 per 1 mln uitvoertokens |
| Bonus | +5% vanaf $50, +10% vanaf $100 |
| Geldigheid | betaald tegoed verloopt niet, geen abonnement |
| Opwaarderen | USDT (TRC20) of USDC (Base), elk heel bedrag van $10 tot $500 |
| Inhoud | inhoud voor volwassenen toegestaan; seksuele inhoud met minderjarigen wordt geweigerd |
| Inloggen | Google of e-mail en wachtwoord |
| Sleutels | één actieve sleutel per account; een nieuwe vervangt de oude |
Foutcodes
Fouten komen als JSON met een vaste type; mislukte of geweigerde verzoeken kosten niets.
| Code | Type | Betekenis |
|---|---|---|
400 | bad_request | ongeldige JSON, lege berichten, verkeerde parameter of context te lang |
401 | missing_key · invalid_key · key_revoked | sleutel ontbreekt, is onjuist of is vervangen |
402 | no_credit | geen tegoed — waardeer op en ga direct verder |
403 | content_blocked | seksuele inhoud met minderjarigen — geweigerd, niet gerekend |
404 | not_found | onbekend endpoint |
413 | request_too_large | body groter dan 8 MB |
429 | rate_limited · concurrency | meer dan 300/min of 8 tegelijk — wacht en probeer opnieuw |
503 | upstream_busy | model bezet — probeer het over enkele seconden opnieuw |