Szybki start dla użytkowników Minicpm
Podłącz istniejącego klienta kompatybilnego z OpenAI do naszego API bez cenzury w mniej niż minutę. Zmień bazowy URL, ustaw klucz i zacznij generować tekst modelem „bez cenzury”.
Bazowy URL i uwierzytelnianie
Aby korzystać z tego API, potrzebujesz klucza API i właściwego bazowego URL. Nasza usługa jest w pełni kompatybilna ze standardowymi bibliotekami klienta OpenAI. Nie musisz instalować nowych zależności ani uczyć się nowego SDK. Po prostu wskaż istniejącemu klientowi nasz endpoint.
Wygeneruj klucz na stronie Pobierz klucz API. Możesz zalogować się przez Google lub użyć adresu e-mail i hasła. Klucz jest wyświetlany natychmiast. Przechowuj go bezpiecznie. Każde zapytanie musi zawierać ten klucz w nagłówku Authorization.
Bazowy URL dla wszystkich zapytań to: https://api.minicpm.cc/v1. Ten URL obsługuje uzupełnienia czatu, listowanie modeli i odpowiedzi strumieniowe. Nie ma osobnych endpointów dla osadzania ani wizji. To API wyłącznie tekstowe.
Pierwsze zapytanie
Wyślij standardowe zapytanie completion czatu, aby rozpocząć generowanie tekstu. ID modelu to zawsze uncensored. Jest to model o otwartych wagach, duży model językowy dostosowany do odpowiadania bez odrzuceń treści dla prawnego użytku dorosłego. Nie jest to GPT, Claude ani żaden inny model dostawcy.
Ustaw pole model na uncensored. Podaj swoje wiadomości w standardowym formacie tablicy. API zwraca odpowiedź tekstową. Możesz kontrolować długość odpowiedzi za pomocą max_tokens. Jeśli nie ustawisz tej wartości, domyślna maksymalna długość odpowiedzi to 2 048 tokenów.
Integracja z Python SDK
Użyj oficjalnej biblioteki Python OpenAI do interakcji z API. Musisz tylko skonfigurować bazowy URL i klucz API. Reszta biblioteki działa zgodnie z oczekiwaniami. Obejmuje to obsługę strumieniowania, wywoływania funkcji i trybu JSON.
Zainstaluj bibliotekę poleceniem pip install openai. Zainicjuj klienta swoim bazowym URL i kluczem. Wyślij wiadomości do endpointu uzupełnień czatu. Obiekt odpowiedzi zawiera wygenerowany tekst, statystyki użycia tokenów i powód zakończenia. Możesz uzyskać dostęp do tych pól bezpośrednio w kodzie Python.
Integracja z Node SDK
SDK Node.js działa identycznie jak wersja Python. Zainstaluj pakiet i skonfiguruj Base URL. Klient obsługuje uwierzytelnianie i formatowanie zapytań automatycznie. Pozwala to szybko zintegrować API z usługami backendowymi.
Przekaż bazowy URL i klucz API do konstruktora klienta OpenAI. Użyj metody chat.completions.create. Struktura odpowiedzi jest zgodna ze standardem OpenAI. Możesz obsługiwać błędy, sprawdzać użycie tokenów i przetwarzać treść. To podejście zapewnia kompatybilność z istniejącymi bazami kodu, które już korzystają z OpenAI.
Odpowiedzi strumieniowe
Włącz strumieniowanie, ustawiając stream: true w swoim zapytaniu. API zwraca sekwencję zdarzeń SSE. Każde zdarzenie zawiera fragment odpowiedzi. Pozwala to wyświetlać tekst użytkownikowi w miarę jego generowania.
Ostatni chunk zawiera statystyki użycia tokenów. Jest to przydatne do śledzenia kosztów. Strumieniowanie zmniejsza postrzegane opóźnienie dla użytkowników. Zaleca się go w interfejsach czatu. Możesz parsować zdarzenia w kodzie klienta, aby zbudować ostateczną odpowiedź lub wyświetlać tokeny w czasie rzeczywistym.
Limity, błędy i kontekst
Model obsługuje okno kontekstu o rozmiarze 100 000 tokenów. Obejmuje ono zarówno prompt, jak i uzupełnienie. Maksymalna długość odpowiedzi na zapytanie to 32 000 tokenów. Możesz dostosować parametr max_tokens, aby to kontrolować.
Limity zapytań wynoszą 300 zapytań na minutę na klucz. Możesz mieć 8 równoległych zapytań. Ciało zapytania musi być mniejsze niż 8 MB. Jeśli klucz jest nieprawidłowy, otrzymasz błąd 401. Jeśli nie masz kredytu, otrzymasz błąd 402. Jeśli przekroczysz limit zapytań, otrzymasz błąd 429. Błędy i odmowy nie zużywają kredytu.
cURL
curl https://api.minicpm.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.minicpm.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.minicpm.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)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 |
| Base URL | https://api.minicpm.cc/v1 |
| ID modelu | uncensored |
| Uwierzytelnianie | Authorization: Bearer YOUR_KEY |
| Endpointy | POST /v1/chat/completions · GET /v1/models |
| Parametry | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| 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 |
| 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) |
| Równoległe zapytania | do 8 jednocześnie na klucz |
| 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 |
| Rozliczenie | przedpłacony kredyt według rzeczywistego zużycia; błędy i odmowy są darmowe |
| Doładowanie | USDT (TRC20) lub USDC (Base), dowolna pełna kwota od $10 do $500 |
| 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 |
| 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 |
| Bonus | +5% od $50, +10% od $100 |
| Logowanie | Google albo e-mail i hasło |
| Treści | treści dla dorosłych dozwolone; treści seksualne z udziałem nieletnich są odrzucane |
| 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
Jaki jest rozmiar okna kontekstu?
Okno kontekstu wynosi 100 000 tokenów, co obejmuje zarówno prompt wejściowy, jak i generowane uzupełnienie. Maksymalna długość odpowiedzi na zapytanie to 32 000 tokenów.
Jak radzić sobie z błędami?
Błąd 401 oznacza nieprawidłowy klucz API. Błąd 402 oznacza wyczerpanie przedpłaconego kredytu. Błąd 429 oznacza przekroczenie limitu zapytań wynoszącego 300 zapytań na minutę. Błędy nie zużywają Twojego kredytu.
Czy mogę używać strumieniowania?
Tak. Ustaw <code>stream: true</code> w swoim zapytaniu. API zwraca zdarzenia SSE. Ostatni fragment zawiera statystyki użycia tokenów.
Twój klucz jest o jeden formularz stąd
Utwórz konto, skopiuj klucz, zmień bazowy URL. To cała konfiguracja.