Dokumentacja API NoFilter AI | NoFilter AI (nofilterai.top)
NoFilter AI dostarcza proste API LLM bez cenzury dla deweloperów potrzebujących niezawodnej generacji tekstu bez warstw moderacji treści. Ten przewodnik szybkiego startu pokazuje, jak uwierzytelnić się, wysłać pierwsze zapytanie i obsłużyć odpowiedzi strumieniowe przy użyciu standardowych klientów kompatybilnych z OpenAI.
URL bazowy i uwierzytelnianie
Zacznij od uzyskania klucza API z panelu. URL bazowy dla wszystkich zapytań to https://api.nofilterai.top/v1. Ten endpoint jest kompatybilny ze standardowymi SDK OpenAI; wystarczy zaktualizować konfigurację base_url i podać klucz w nagłówku Authorization.
Uwierzytelnianie jest proste: dołącz Authorization: Bearer YOUR_API_KEY do każdego zapytania. Jeśli klucz jest nieprawidłowy lub brakuje go, API zwróci błąd 401. Twoje konto obsługuje jeden aktywny klucz naraz; wygenerowanie nowego klucza natychmiast unieważnia poprzedni, zapewniając czystą kontrolę dostępu bez skomplikowanej logiki rotacji kluczy.
Pierwsze zapytanie
Aby zweryfikować konfigurację, wyślij proste zapytanie completion. Identyfikator modelu to uncensored. Ten model o otwartych wagach jest dostrojony do odpowiadania bez odmów dla treści dla dorosłych, co czyni go odpowiednim do aplikacji tolerujących NSFW. Użyj poniższego polecenia curl, aby przetestować łączność i przejrzystość cen tokenów.
Integracja z SDK Pythona
Dla programistów Python biblioteka openai działa bezpośrednio z naszym endpointem. Skonfiguruj klienta tak, aby wskazywał nasz bazowy URL. Dzięki temu podejściu możesz wykorzystać istniejące funkcje SDK, takie jak automatyczne ponawianie prób i strukturalne parsowanie, zachowując jednocześnie kompatybilność z naszym modelem bez cenzury.
Integracja z SDK Node.js
Deweloperzy Node.js mogą użyć pakietu npm openai w podobny sposób. Ustaw baseURL na nasz endpoint API. Zapewnia to, że istniejąca infrastruktura do obsługi usług kompatybilnych z OpenAI integruje się płynnie z NoFilter AI. Pamiętaj, że to API tylko tekstowe; nie próbuj używać endpointów generowania obrazu lub audio, ponieważ nie istnieją w tej usłudze.
Odpowiedzi strumieniowe
Włącz doświadczenia w czasie rzeczywistym, włączając strumieniowanie. Ustaw stream: true w swoim zapytaniu. API zwraca strumień Server-Sent Events (SSE). Każdy fragment zawiera częściowy tekst, a ostatni fragment zawiera statystyki użycia tokenów. Pozwala to Twojej aplikacji wyświetlać tokeny w miarę ich generowania, poprawiając postrzeganą wydajność podczas długich rozmów.
Limity zapytań, błędy i kontekst
Monitoruj swoje zużycie względem ścisłych limitów: 300 zapytań na minutę na klucz, 8 równoległych zapytań i ciało zapytania o rozmiarze 8 MB. Błędy są przewidywalne: 401 za nieprawidłowe klucze, 402 jeśli przedpłacony kredyt został wyczerpany oraz 429 za przekroczenie limitu zapytań. Okno kontekstu obsługuje łącznie 100 000 tokenów, z maksymalną odpowiedzią 32 000 tokenów na zapytanie. Błędy i odmowy nie zużywają kredytów, co zapewnia, że płacisz tylko za faktyczne użycie tokenów.
cURL
curl https://api.nofilterai.top/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.nofilterai.top/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.nofilterai.top/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)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 |
| Base URL | https://api.nofilterai.top/v1 |
| ID modelu | uncensored |
| Strumieniowanie | tak — server-sent events; ostatni fragment zawiera zużycie tokenów |
| Tryb JSON | response_format: {"type": "json_object"} |
| Okno kontekstu | 100 000 tokenów (wejście + odpowiedź) |
| Parametry | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Wywoływanie funkcji | tak — tools, tool_choice; odpowiedź zawiera tool_calls, także w strumieniu; wyniki jako role: tool |
| Maks. odpowiedź | do reszty okna 100 000 tokenów; max_tokens opcjonalne (bez osobnego limitu) |
| Rozmiar zapytania | do 8 MB |
| Limit zapytań | 300 zapytań na minutę na klucz |
| Nagłówki odpowiedzi | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Równoległe zapytania | do 8 jednocześnie na klucz |
| Bonus | +5% od $50, +10% od $100 |
| Ważność | opłacony kredyt nie wygasa, bez subskrypcji |
| 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 |
| 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 $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 |
Pytania i odpowiedzi
Czy NoFilter AI używa modeli GPT lub Claude?
Nie. Oferujemy jeden dedykowany model bez cenzury hostowany na własnych serwerach. To nie jest GPT, Claude, Gemini ani żaden inny model dostawcy. To model o otwartych wagach dostrojony do minimalnego odmawiania.
Jak działa rozliczenie?
Rozliczenie jest przedpłacone przez krypto (USDT na TRC20 lub USDC na Base). Kredyty są naliczane za rzeczywiste użycie tokenów. Błędy i odmowy są darmowe. Nie ma subskrypcji miesięcznych ani ukrytych opłat, a doładowany kredyt nigdy nie wygasa.
Jaka jest maksymalna długość odpowiedzi?
Maksymalna odpowiedź to 32 000 tokenów na zapytanie. Jeśli nie ustawisz <code>max_tokens</code>, domyślnie jest to 2048 tokenów. Całkowite okno kontekstu (prompt + completion) to 100 000 tokenów.
Twój klucz jest o jeden formularz stąd
Utwórz konto, skopiuj klucz, zmień URL bazowy. To cała konfiguracja.
Pobierz klucz API