Szybki start API Mukenetsu AI
Mukenetsu AI API to usługa LLM bez cenzury z endpointami kompatybilnymi z OpenAI. Zmień tylko Base URL i ustaw klucz API, aby zintegrować istniejące SDK lub klienty i generować tekst bez ograniczeń.
- Base URL
https://api.mukenetsuapi.com/v1- Model
uncensored
Konfiguracja i Base URL
Mukenetsu AI jest zaprojektowany jako REST API kompatybilne z OpenAI. Dzięki temu możesz używać istniejących klientów i SDK OpenAI po wprowadzeniu niewielkich zmian. Do komunikacji z API użyj następującego adresu bazowego.
https://api.mukenetsuapi.com/v1
W przeciwieństwie do innych usług LLM, nie musisz wybierać skomplikowanych endpointów ani konfigurować dodatkowych opcji. Udostępniamy tylko endpoint uzupełniania czatu i endpoint listy modeli. Ta prosta struktura przyspiesza rozwój.
Klucz API można natychmiast uzyskać podczas rejestracji na stronie Get API key za pomocą adresu e-mail i hasła. Nie jest wymagana żadna akcja w panelu. Dane promptów nie są wykorzystywane do trenowania modelu.
Autoryzacja i klucz API
Dostęp do API wymaga autoryzacji nagłówkiem Authorization: Bearer <API_KEY>. Użyj klucza wygenerowanego przy tworzeniu konta. Każdemu kontu przypisany jest jeden klucz API, który możesz wygenerować ponownie w dowolnym momencie. Po regeneracji poprzedni klucz traci ważność.
W przypadku błędu uwierzytelniania zwracane są zwykle odpowiedzi 401 (Unauthorized) lub 402 (Payment Required). Kod 401 oznacza, że klucz jest nieprawidłowy lub unieważniony, a kod 402 oznacza, że saldo kredytu jest niewystarczające. Kredyt jest przedpłacony i można go doładować od kwoty $10 za pomocą kryptowalut (USDT, USDC).
Endpoint uzupełniania czatu
Głównym endpointem do generowania tekstu jest POST /v1/chat/completions. Wyślij żądanie, aby wygenerować tekst z uwzględnieniem historii rozmowy i promptu systemowego. Użyj ID modelu uncensored. Jest to nasz własny model o otwartych wagach, inny niż GPT czy modele innych dostawców.
Poniższy przykład pokazuje, jak wygenerować tekst za pomocą curl. Wymagane parametry to ID modelu, wiadomości oraz opcjonalnie włączenie strumieniowania.
curl https://api.mukenetsuapi.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."}]
}'Ten endpoint nie obsługuje embeddingów, generowania obrazów ani konwersji mowy. Specjalizuje się wyłącznie w uzupełnianiu i generowaniu tekstu.
Strumieniowanie (SSE)
Jeśli chcesz otrzymywać wygenerowany tekst w czasie rzeczywistym, użyj trybu strumieniowania. Dodaj "stream": true do żądania, a serwer będzie zwracać dane w formacie SSE. Dzięki temu użytkownik może wyświetlać fragmenty tekstu przed zakończeniem generowania.
Jeśli używasz SDK OpenAI w Pythonie lub biblioteki klienta Node.js, strumieniowanie zostanie automatycznie włączone po ustawieniu opcji stream=True. Obsługa zdarzeń będzie otrzymywać cząstki tokenów.
from openai import OpenAI
client = OpenAI(base_url="https://api.mukenetsuapi.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)Strumieniowanie to ważna funkcja poprawiająca UX w przypadku długich odpowiedzi lub aplikacji interaktywnych. Pamiętaj jednak, że przy utracie połączenia podczas strumieniowania przestajesz odbierać zdarzenia.
Narzędzia / wywoływanie funkcji
API Mukenetsu AI obsługuje wywoływanie funkcji (narzędzi), co ułatwia integrację z zewnętrznymi API i bazami danych. Dodaj pole tools i parametr tool_choice do ciała żądania, aby wymusić wykonanie konkretnej funkcji przez model.
Model sam decyduje, czy wywołać funkcję, czy zwrócić zwykły tekst. Po zakończeniu wywołania możesz dodać wynik funkcji do messages i przekazać go modelowi, aby uzyskać bardziej szczegółową odpowiedź.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.mukenetsuapi.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);Funkcja ta jest szczególnie przydatna w aplikacjach typu agent lub przy automatyzacji złożonych zadań. Dzięki kompatybilności z formatem OpenAI możesz wykorzystać istniejącą logikę wywoływania funkcji.
Limit zapytań i ograniczenia
Istnieją następujące ograniczenia: maks. 300 zapytań na minutę i maksymalny rozmiar ciała żądania 8 MB. Przekroczenie powoduje błąd 429 (Too Many Requests). Okno kontekstu wynosi 100 000 tokenów (suma promptu i tekstu wygenerowanego). Dłuższe rozmowy lub dokumenty należy odpowiednio podzielić.
Podczas odbierania odpowiedzi strumieniowej postępuj zgodnie z tym przepływem zdarzeń.
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)Treści erotyczne z udziałem nieletnich są ściśle ograniczone ze względu na przepisy prawne. Pozostałe treści dla dorosłych, fikcja, badania bezpieczeństwa i tematy kontrowersyjne są generowane bez cenzury.
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 |
| Endpointy | POST /v1/chat/completions · GET /v1/models |
| Base URL | https://api.mukenetsuapi.com/v1 |
| Uwierzytelnianie | Authorization: Bearer YOUR_KEY |
| Strumieniowanie | tak — server-sent events; ostatni fragment zawiera zużycie tokenów |
| Parametry | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Tryb JSON | response_format: {"type": "json_object"} |
| Okno kontekstu | 100 000 tokenów (wejście + odpowiedź) |
| 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 |
| Rozmiar zapytania | do 8 MB |
| 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 |
| 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 |
| Ważność | opłacony kredyt nie wygasa, bez subskrypcji |
| Doładowanie | USDT (TRC20) lub USDC (Base), dowolna pełna kwota od $10 do $500 |
| Bonus | +5% od $50, +10% od $100 |
| Cena | $0,25 za 1 mln tokenów wejścia · $1,00 za 1 mln tokenów wyjścia |
| 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 |
Najczęściej zadawane pytania
Gdzie uzyskać klucz API?
Klucz API można uzyskać natychmiast podczas rejestracji na stronie „Get API key” za pomocą adresu e-mail i hasła. Nie jest wymagane korzystanie z panelu; klucz jest wyświetlany na ekranie bezpośrednio po rejestracji.
Jaki model jest używany?
Używamy własnego modelu o otwartych wagach pod identyfikatorem modelu „uncensored”. W przeciwieństwie do modeli innych firm, działa on na naszych serwerach GPU. Szczegółowa architektura modelu oraz wyniki benchmarków nie są obecnie udostępniane.
Co się stanie, jeśli wystąpi błąd podczas strumieniowania?
Przerwanie połączenia podczas strumieniowania powoduje, że nie będzie można odbierać kolejnych zdarzeń. W razie potrzeby wyślij ponownie zapytanie od miejsca przerwania lub wyślij zwykłe (niestrumieniowe) zapytanie, aby uzyskać pełną odpowiedź.
Klucz API dostępny po jednym wypełnieniu formularza
Rejestracja konta, skopiowanie klucza, zmiana adresu bazowego. To wszystko, co trzeba zrobić, aby skonfigurować usługę.