Szybki start dla użytkowników Qwen
Połącz istniejącego klienta zgodnego z OpenAI z naszym bezcenzuralnym endpointem. Zmień bazowy adres URL, dołącz swój klucz i zacznij wysyłać zapytania.
uncensoredhttps://api.qwenapi.cc/v1
Na tej stronie
Uwierzytelnianie i bazowy adres URL
Nasze API używa standardowej autoryzacji tokenem Bearer. Otrzymujesz klucz natychmiast po rejestracji przez Google lub e-mail. Chroń ten klucz; daje dostęp do przedpłaconego kredytu. Podstawowy URL dla wszystkich zapytań to https://api.qwenapi.cc/v1. Zaktualizuj konfigurację klienta, aby wskazywał na ten endpoint zamiast domyślnego URL OpenAI.
Uwierzytelnianie odbywa się przez przekazanie nagłówka Authorization przy każdym zapytaniu. Brak klucza API oznacza, że model nie może zweryfikować salda Twojego konta, co skutkuje błędem 401. Nie są wymagane ukryte nagłówki ani niestandardowe schematy uwierzytelniania.
Pierwsze zapytanie
Wyślij standardowe zapytanie o uzupełnienie czatu, aby przetestować łączność. Zastąp YOUR_API_KEY swoim rzeczywistym kluczem. Endpoint akceptuje standardowe ładunki JSON z polami model, messages oraz content.
- Identyfikator modelu:
uncensored - Endpoint:
POST /v1/chat/completions - Format: JSON
To zapytanie zużyje tokeny wejściowe z Twojego salda. Upewnij się, że Twój klient poprawnie obsługuje odpowiedź JSON, aby zweryfikować, że połączenie działa.
Integracja z Python SDK
Użyj oficjalnej biblioteki Python OpenAI. Wymaga minimalnej konfiguracji do kierowania ruchu na nasz endpoint. Zainicjuj klienta swoim kluczem i poprawnym bazowym adresem URL. To podejście wykorzystuje istniejące bazy kodu bez przepisywania logiki zapytań.
Przekazuj identyfikator modelu uncensored podczas tworzenia odpowiedzi. Biblioteka obsługuje serializację i deserializację automatycznie. Ta metoda jest zalecana dla większości integracji backendowych i przepływów opartych na skryptach.
Integracja z Node SDK
W środowiskach JavaScript lub TypeScript użyj pakietu @anthropic-ai/sdk lub standardowego pakietu OpenAI dla Node. Skonfiguruj podstawowy URL, aby wskazywał na nasze API. Pozwala to wdrożyć naszą usługę w istniejących aplikacjach Node bez dużych zmian.
Upewnij się, że używasz najnowszej wersji SDK obsługującej niestandardowe bazowe adresy URL. Przekaż identyfikator modelu uncensored, aby wybrać nasz bezcenzuralny model. To ustawienie działa bezproblemowo z trasami Express lub funkcjami serverless.
Odpowiedzi strumieniowe
Włącz strumieniowanie, ustawiając stream: true w swoim zapytaniu. Interfejs API zwraca zdarzenia wysłane przez serwer (SSE), gdy model generuje tekst. Zapewnia to niższe opóźnienia dla użytkowników końcowych i pozwala na wyświetlanie wyjścia w czasie rzeczywistym.
Statystyki użycia tokenów są zawarte w ostatnim fragmencie strumienia. Przetwarzaj każdy fragment inkrementalnie, aby zbudować kompletną odpowiedź. Ta funkcja jest niezbędna dla interfejsów czatu i aplikacji wymagających natychmiastowej informacji zwrotnej.
Limity, błędy i kontekst
Szanuj limity zapytań, aby uniknąć przerw w usłudze. Interfejs API pozwala na 300 zapytań na minutę i 8 równoległych zapytań na klucz. Maksymalny rozmiar ciała zapytania wynosi 8 MB. Przekroczenie tych limitów spowoduje zwrócenie błędu 429.
Błędy uwierzytelniania zwracają 401, wskazując na nieprawidłowy lub brakujący klucz. Błędy salda zwracają 402, co oznacza, że Twój przedpłacony kredyt został wyczerpany. Okno kontekstu obsługuje 100 000 tokenów łącznie, z maksymalnym wyjściem 32 000 tokenów na zapytanie. Błędy i odrzucenia nie zużywają kredytów.
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);Strumieniowanie
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)Pytania i odpowiedzi
Jak radzić sobie z limitem zapytań?
API narzuca limit 300 zapytań na minutę i 8 równoległych zapytań na klucz. Jeśli przekroczysz te limity, API zwróci kod statusu 429. Zaimplementuj wykładniczy backoff w kliencie, aby obsłużyć ponowne próby w sposób elegancki.
Czy interfejs API obsługuje wywoływanie funkcji?
Tak, interfejs API obsługuje wywoływanie funkcji za pomocą standardowego formatu narzędzi. Możesz określić narzędzia i tool_choice w swoim zapytaniu, aby włączyć wyjście strukturalne lub integrację z zewnętrznymi narzędziami. Ta funkcja działa ze standardowym schematem zgodnym z OpenAI.
Co się stanie, jeśli przekroczę okno kontekstu?
Model obsługuje całkowite okno kontekstu o rozmiarze 100 000 tokenów, obejmujące zarówno prompt, jak i uzupełnienie. Przekroczenie tego limitu spowoduje niepowodzenie zapytania. Upewnij się, że Twoja aplikacja śledzi zużycie tokenów, aby mieścić się w tych granicach.
Twój klucz jest o jeden formularz stąd
Utwórz konto, skopiuj klucz, zmień bazowy adres URL. To cała konfiguracja.
Parametry API
Wszystkie rzeczywiste limity i funkcje API w jednym miejscu — sprawdź je przed doładowaniem.
| Element | Wartość |
|---|---|
| Format API | zgodne z OpenAI: działa każdy SDK OpenAI — zmień base URL i klucz |
| ID modelu | uncensored |
| Base URL | https://api.qwenapi.cc/v1 |
| Endpointy | POST /v1/chat/completions · GET /v1/models |
| Uwierzytelnianie | Authorization: Bearer YOUR_KEY |
| Maks. odpowiedź | do reszty okna 100 000 tokenów; max_tokens opcjonalne (bez osobnego limitu) |
| Wywoływanie funkcji | tak — tools, tool_choice; odpowiedź zawiera tool_calls, także w strumieniu; wyniki jako role: tool |
| Strumieniowanie | tak — server-sent events; ostatni fragment zawiera zużycie tokenów |
| Okno kontekstu | 100 000 tokenów (wejście + odpowiedź) |
| Parametry | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Tryb JSON | response_format: {"type": "json_object"} |
| Równoległe zapytania | do 8 jednocześnie na klucz |
| Nagłówki odpowiedzi | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Limit zapytań | 300 zapytań na minutę na klucz |
| Rozmiar zapytania | do 8 MB |
| Darmowy kredyt | $0,50 na 7 dni, bez karty · Klucz próbny: 2 równoległe żądania, 60 na minutę; pełne limity (8 i 300) po pierwszym doładowaniu |
| Rozliczenie | przedpłacony kredyt według rzeczywistego zużycia; błędy i odmowy są darmowe |
| Cena | $0,25 za 1 mln tokenów wejścia · $1,00 za 1 mln tokenów wyjścia |
| Bonus | +5% od $50, +10% od $100 |
| Ważność | opłacony kredyt nie wygasa, bez subskrypcji |
| Doładowanie | USDT (TRC20) lub USDC (Base), dowolna pełna kwota od $10 do $500 |
| Treści | treści dla dorosłych dozwolone; treści seksualne z udziałem nieletnich są odrzucane |
| Logowanie | Google albo e-mail i hasło |
| Klucze | jeden aktywny klucz na konto; nowy zastępuje stary |
Kody błędów
Błędy wracają jako JSON ze stałym type; nieudane i odrzucone zapytania są bezpłatne.
| Kod | Typ | Znaczenie |
|---|---|---|
400 | bad_request | błędny JSON, puste wiadomości, zły parametr lub za długi kontekst |
401 | missing_key · invalid_key · key_revoked | brak klucza, zły klucz lub klucz zastąpiony nowym |
402 | no_credit | brak kredytu — doładuj, działa od razu |
403 | content_blocked | treści seksualne z nieletnimi — odmowa, bez opłaty |
404 | not_found | nieznany endpoint |
413 | request_too_large | treść większa niż 8 MB |
429 | rate_limited · concurrency | ponad 300/min lub 8 równolegle — odczekaj i ponów |
503 | upstream_busy | model zajęty — ponów za kilka sekund |