GLM API: Zmień klienta w trzech krokach
Połącz istniejący kod z GLM API bez cenzury w kilka minut, zmieniając dwie wartości konfiguracyjne. Ten przewodnik pomoże Ci użyć standardowych endpointów kompatybilnych z OpenAI za pomocą przedpłaconego kredytu.
Wymagania wstępne: Pobierz klucz
Zanim zaczniesz pisać kod, potrzebujesz klucza API. Odwiedź stronę Pobierz klucz API na tej witrynie, aby się zarejestrować, podając adres e-mail i hasło. Nie jest wymagany numer telefonu ani karta kredytowa, aby rozpocząć. Po rejestracji otrzymujesz kredyt próbny w wysokości $0,50 ważny przez 7 dni, albo możesz doładować konto kryptowalutą (USDT lub USDC). Twój klucz jest wyświetlany natychmiast po rejestracji. Przechowuj go bezpiecznie, ponieważ możesz go wygenerować ponownie w dowolnym momencie, aby unieważnić poprzedni.
Ten klucz uwierzytelnia wszystkie zapytania do naszego endpointu glm api. Nie używamy Twoich promptów do trenowania, a klucz jest powiązany z jednym kontem. Jeśli potrzebujesz większej liczby zapytań, możesz kupić przedpłacony kredyt, który nigdy nie wygasa.
Skonfiguruj bazowy URL i klucz
Aby użyć naszej usługi jako zamiennika OpenAI, musisz skierować swoje SDK do naszego bazowego URL. To jedyna wymagana zmiana infrastruktury. Bazowy URL to https://api.glmapikey.com/v1. Musisz również ustawić nagłówek autoryzacji lub klucz klienta SDK na wartość otrzymaną podczas rejestracji.
Większość klientów kompatybilnych z OpenAI, w tym oficjalne SDK Pythona i Node.js, pozwala na nadpisanie bazowego URL. Pozwala to zachować istniejącą logikę aplikacji przy jednoczesnej zmianie modelu. Upewnij się, że klucz jest poprawnie ustawiony przed wysłaniem zapytań, aby uniknąć błędów uwierzytelniania.
Wyślij pierwsze zapytanie Chat Completion
Wyślij zapytanie POST do /v1/chat/completions, aby wygenerować tekst. Nasz model akceptuje standardowe struktury wiadomości z rolami takimi jak user i assistant. ID modelu, które musisz podać, to uncensored. Uruchamia to model o otwartych wagach hostowany na naszych GPU, który jest dostrojony do odpowiadania bez odrzucania treści dla prawnego użytku dorosłych.
Odpowiedź będzie zawierać JSON z wygenerowanym tekstem. Jeśli napotkasz błąd 401, zweryfikuj swój klucz. Jeśli widzisz 402, Twój przedpłacony kredyt został wyczerpany. Możesz doładować środki od kwoty $10. Pamiętaj, że nie obsługujemy embeddingów, obrazów ani dostrajania w tym endpointzie.
Użyj SDK Pythona
Oficjalna biblioteka Pythona OpenAI działa bezpośrednio z naszym API. Zainicjuj klienta swoim kluczem i konkretnym bazowym URL. To podejście jest idealne dla usług backendowych lub skryptów, gdzie potrzebujesz strukturalnych odpowiedzi JSON. Klient obsługuje serializację i logikę ponownych prób automatycznie.
Przekaż nazwę modelu uncensored, aby upewnić się, że trafiasz do naszego konkretnego endpointu. Okno kontekstu obsługuje do 100 000 tokenów dla promptu i uzupełnienia łącznie. Pozwala to na przesłanie dużej ilości danych wejściowych bez ich obcinania, pod warunkiem zachowania limitu rozmiaru ciała zapytania na poziomie 8 MB.
Użyj SDK Node.js
Dla aplikacji JavaScript i TypeScript pakiet NPM openai jest kompatybilny. Skonfiguruj klienta z tym samym bazowym URL i kluczem co w przykładzie Pythona. Umożliwia to renderowanie po stronie serwera lub endpointy API wymagające generowania tekstu bez cenzury. SDK strumieniuje dane wydajnie, jeśli jest poprawnie skonfigurowane.
Wywoływanie funkcji jest obsługiwane w tym SDK. Możesz zdefiniować schematy funkcji w zapytaniu, a model zwróci strukturalne wyjścia JSON pasujące do Twojego schematu. Ułatwia to integrację zewnętrznych źródeł danych lub akcji w przepływie aplikacji bez parsowania surowego tekstu.
Włącz strumieniowanie odpowiedzi
Ustaw stream: true w swoim zapytaniu, aby otrzymywać zdarzenia wysyłane przez serwer (SSE). Pozwala to na wyświetlanie tekstu użytkownikom w miarę jego generowania, co poprawia postrzeganie opóźnienia. API zwraca fragmenty tekstu, które klient musi złożyć lub renderować stopniowo.
Strumieniowanie jest obsługiwane dla obu SDK: Pythona i Node.js. Jest szczególnie przydatne w interfejsach czatu, gdzie użytkownicy oczekują natychmiastowej odpowiedzi. Każdy fragment zawiera część odpowiedzi. Model kontynuuje generowanie, aż do zakończenia lub osiągnięcia limitu okna kontekstu. Upewnij się, że Twój klient poprawnie obsługuje częściowe struktury JSON, jeśli używasz wywoływania funkcji ze strumieniowaniem.
Limity, błędy i modele
Nasze API narzuca limit zapytań wynoszący 300 zapytań na minutę na klucz. Jeśli go przekroczysz, otrzymasz błąd 429. Maksymalny rozmiar ciała zapytania wynosi 8 MB. Aby odkryć dostępne modele, użyj endpointu GET /v1/models. Zwraca on listę dostępnych modeli, w tym ID modelu uncensored.
Typowe błędy to 401 dla nieprawidłowych kluczy i 402 za niewystarczający kredyt. Kredyty nigdy nie wygasają, ale kredyty próbne są ważne przez 7 dni. Nie oferujemy umów SLA ani certyfikacji. Model blokuje treści seksualne z udziałem małoletnich, ale w pozostałych aspektach jest bez cenzury. Użyj tych limitów do zaprojektowania odpowiedniej logiki ponawiania prób i powiadomień dla użytkowników.
cURL
curl https://api.glmapikey.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."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.glmapikey.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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.glmapikey.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);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)Specyfikacja techniczna
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 |
| Uwierzytelnianie | Authorization: Bearer YOUR_KEY |
| ID modelu | uncensored |
| Endpointy | POST /v1/chat/completions · GET /v1/models |
| Base URL | https://api.glmapikey.com/v1 |
| Parametry | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| 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 |
| Okno kontekstu | 100 000 tokenów (wejście + odpowiedź) |
| Strumieniowanie | tak — server-sent events; ostatni fragment zawiera zużycie tokenów |
| Tryb JSON | response_format: {"type": "json_object"} |
| Rozmiar zapytania | do 8 MB |
| Limit zapytań | 300 zapytań na minutę na klucz |
| 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 |
| Bonus | +5% od $50, +10% od $100 |
| 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 |
| 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 |
| Doładowanie | USDT (TRC20) lub USDC (Base), dowolna pełna kwota od $10 do $500 |
| Klucze | jeden aktywny klucz na konto; nowy zastępuje stary |
| 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 |
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 to oficjalne GLM API?
Nie, jesteśmy niezależnym serwisem. Hostujemy model o otwartych wagach bez cenzury i dostarczamy endpoint kompatybilny z OpenAI. Nie jesteśmy powiązani z twórcami GLM ani innymi dużymi dostawcami AI.
Czy mogę użyć swojego klucza OpenAI?
Nie, potrzebujesz klucza z naszej strony. Możesz jednak użyć tego samego kodu SDK, co dla OpenAI, zmieniając tylko bazowy URL i klucz w konfiguracji klienta.
Co się stanie, gdy zabraknie kredytów?
Zapytania zwrócą błąd 402. Możesz doładować przedpłacony kredyt w dowolnym momencie za pomocą kryptowalut (USDT lub USDC). Twoje kredyty nigdy nie wygasają, więc możesz doładować środki, gdy tylko będą potrzebne.
Twój klucz jest o jeden formularz stąd
Utwórz konto, skopiuj klucz, zmień bazowy URL. To cała konfiguracja.