Szybki start z API AI bez cenzury
Ta dokumentacja pomoże Ci zintegrować API LLM bez cenzury z Twoją aplikacją. Użyj tego przewodnika, aby uruchomić chat completions w kilka minut.
- URL bazowy
https://api.apitanpasensor.com/v1- Model
uncensored
Konfiguracja URL bazowego i uwierzytelnianie
Aby rozpocząć, musisz skonfigurować base URL, aby SDK kompatybilne z OpenAI kierowało żądania na nasz serwer. Użyj https://api.apitanpasensor.com/v1 jako głównego endpointu. Autoryzacja odbywa się za pomocą nagłówka Authorization: Bearer YOUR_API_KEY. Klucz API, który otrzymujesz podczas rejestracji, jest unikalny i przypisany do jednego konta. Jeśli go wygenerujesz ponownie, stary klucz zostanie natychmiast unieważniony i przestanie działać, nawet jeśli nie wygasa on automatycznie z upływem czasu.
Pierwszy przykład zapytania
Wyślij żądanie POST do /v1/chat/completions z modelem uncensored. Jest to model o otwartych wagach, który nie filtruje ważnych lub kontrowersyjnych tematów dla dorosłych, w przeciwieństwie do standardowych modeli enterprise.
curl https://api.apitanpasensor.com/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."}]
}'Upewnij się, że podasz parametr model z wartością uncensored. Odpowiedź będzie zawierać wygenerowany tekst w formacie JSON.
Integracja z Python SDK
Użyj biblioteki openai w Pythonie do interakcji z API. Ustaw base_url i api_key zgodnie z powyższą konfiguracją. Model uncensored obsługuje okno kontekstu do 100 000 tokenów, co pozwala wysyłać bardzo długie prompty bez utraty ważnych informacji.
from openai import OpenAI
client = OpenAI(base_url="https://api.apitanpasensor.com/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)Powyższy przykład kodu pokazuje, jak wysyłać wiadomości systemowe i od użytkownika.
Integracja z Node.js SDK
Dla użytkowników Node.js SDK kompatybilne z OpenAI można również łatwo skonfigurować. Ustaw baseURL na nasz URL endpoint i użyj swojego klucza API. Dzięki temu podejściu możesz szybko zintegrować AI bez cenzury ze swoją aplikacją webową lub serwerową.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.apitanpasensor.com/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);Pamiętaj, że model obsługuje tylko tekst i nie generuje obrazów, audio ani wideo.
Włącz strumieniowanie (SSE)
Aby uzyskać bardziej responsywną interakcję, włącz strumieniowanie, dodając stream: true do parametrów zapytania. API zwróci odpowiedź za pomocą Server-Sent Events (SSE). Jest to bardzo przydatne w aplikacjach czatu na żywo, gdzie użytkownik widzi wyniki token po tokenie.
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)Strumieniowanie nie zmienia ceny ani limitu tokenów, zmienia tylko sposób dostarczania odpowiedzi.
Ograniczenia, błędy i zarządzanie kontekstem
API ma limit 300 zapytań na minutę na klucz i maksymalny rozmiar treści żądania 8 MB. Jeśli klucz jest nieprawidłowy, otrzymasz błąd 401. Gdy saldo kredytu się wyczerpie, pojawi się błąd 402. Błąd 429 oznacza przekroczenie limitu zapytań. Okno kontekstu wynosi 100 000 tokenów dla łącznego promptu i treści. Zarządzaj tokenami mądrze, aby nie przekroczyć tego limitu.
Pytania i odpowiedzi
Czy mój klucz API wygasa?
Klucz API nie ma automatycznej daty ważności. Jeśli jednak wygenerujesz go ponownie w panelu, stary klucz zostanie natychmiast unieważniony i straci ważność.
Czy ten model jest naprawdę bez cenzury?
Tak, nasz model o otwartych wagach nie odrzuca ważnych tematów dla dorosłych, fikcji ani badań bezpieczeństwa. Jedynym ścisłym ograniczeniem, które zawsze obowiązuje, jest treść seksualna z udziałem nieletnich.
Co zrobić, gdy zabraknie mi kredytu?
Następne zapytanie zwróci błąd 402 (Payment Required). Kupowany przez Ciebie kredyt nigdy nie wygasa, więc możesz go doładować w dowolnym momencie, nie obawiając się utraty salda.
Twój klucz to jeden krok
Załóż konto, skopiuj klucz, zmień URL bazowy. To cały proces konfiguracji.
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 |
| Endpointy | POST /v1/chat/completions · GET /v1/models |
| Uwierzytelnianie | Authorization: Bearer YOUR_KEY |
| ID modelu | uncensored |
| Base URL | https://api.apitanpasensor.com/v1 |
| Parametry | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Tryb JSON | response_format: {"type": "json_object"} |
| Maks. odpowiedź | do reszty okna 100 000 tokenów; max_tokens opcjonalne (bez osobnego limitu) |
| Okno kontekstu | 100 000 tokenów (wejście + odpowiedź) |
| Strumieniowanie | tak — server-sent events; ostatni fragment zawiera zużycie tokenów |
| Wywoływanie funkcji | tak — tools, tool_choice; odpowiedź zawiera tool_calls, także w strumieniu; wyniki jako role: tool |
| 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 |
| Cena | $0,25 za 1 mln tokenów wejścia · $1,00 za 1 mln tokenów wyjścia |
| Rozliczenie | przedpłacony kredyt według rzeczywistego zużycia; błędy i odmowy są darmowe |
| Bonus | +5% od $50, +10% od $100, +15% od $200 |
| 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 |
| Doładowanie | USDT (TRC20) lub USDC (Base), dowolna pełna kwota od $20 do $500 |
| Ważność | opłacony kredyt nie wygasa, bez subskrypcji |
| Klucze | jeden aktywny klucz na konto; nowy zastępuje stary |
| 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 |
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 |