PL ▾
Pobierz klucz API

GetAiApiKeyChecklista API AI do produkcji

Tester klucza API AI: sprawdź klucz w 30 sekund

Nie potrzebujesz strony internetowej działającej jako tester klucza API AI. Pojedyncze wywołanie curl lub sześć linii Pythona mówi Ci, czy klucz jest ważny, czy model odpowiada i ile zostało salda.

Zaktualizowano

Klucz wklejony do konsoli z trzema zielonymi lampkami, reprezentujący sprawdzenie klucza API

Kluczowe punkty

  1. Najpierw wywołaj GET /v1/models: potwierdza to klucz i adres URL bazowy bez wydawania tokenów na generowanie odpowiedzi.
  2. Jednotokenowe wywołanie czatu dowodzi, że model działa, a X-Balance-USD pokazuje Twoje saldo.
  3. Nie wklejaj aktywnego klucza do nieznanej sprawdzarki; przetestuj lokalnie.
  4. Typowe błędy wynikają z błędnego adresu URL bazowego, brakującego prefiksu Bearer lub limitu.

Dlaczego testować lokalnie zamiast na stronie internetowej

Wyszukiwanie testeru klucza API AI zwraca wiele stron, gdzie wklejasz klucz i wciskasz przycisk. Unikaj ich. Klucz to hasło, które wydaje Twoje pieniądze, a nie wiesz, co strona z nim zrobi. Poniższe testy zajmują pół minuty, działają na Twojej maszynie i wysyłają klucz tylko do API, którego chcesz użyć.

Potrzebujesz trzech rzeczy: klucza, adresu URL bazowego https://api.getaiapikey.com/v1 i ID modelu uncensored. Umieść klucz w zmiennej środowiskowej, aby nie trafił do historii powłoki lub pliku, który możesz commitować.

export API_KEY="paste-your-key-here"

Klucze pochodzą ze strony klucz API. Jeśli jeszcze go nie masz, nowi użytkownicy mogą jednym kliknięciem po rejestracji uzyskać $0,50 kredytu próbnego, co w zupełności wystarczy na wielokrotne przeprowadzenie wszystkich testów z tego artykułu.

Test 1: lista modeli w curl

Najtańszym testem jest lista modeli. Wymaga ważnego klucza i poprawnego adresu URL bazowego, a nie generuje żadnego tekstu.

curl -i https://api.getaiapikey.com/v1/models \
  -H "Authorization: Bearer $API_KEY"

Flaga -i wypisuje nagłówki odpowiedzi. Zdrowa odpowiedź zaczyna się od HTTP/2 200 i ciała JSON zawierającego identyfikator modelu uncensored. Jeśli zamiast tego widzisz błąd uwierzytelnienia, zwykle 401, klucz jest błędny, skopiowany z spacją na końcu lub nagłówek nie zawiera słowa Bearer. Błąd 404 oznacza, że URL jest niepoprawny, najczęściej przez brakujący /v1 lub jego podwojenie.

Sprawdzenie 2: uruchom jedno rzeczywiste generowanie odpowiedzi

Klucz może być ważny, ale nadal zawieść przy prawdziwym zapytaniu, np. gdy saldo jest puste. Wyślij więc małe wywołanie czatu i ogranicz wyjście, aby utrzymać koszt bliski zeru:

curl -i https://api.getaiapikey.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"uncensored","max_tokens":5,"messages":[{"role":"user","content":"Say ok."}]}'

Przeczytaj nagłówki przed ciałem. X-Request-Id identyfikuje wywołanie, o co prosi wsparcie. X-Balance-USD pokazuje, ile kredytu zostało. X-RateLimit-Limit-Requests i X-RateLimit-Limit-Concurrency ujawniają limity Twojego klucza: 300 i 8 dla pełnego klucza, 60 i 2 dla klucza próbnego. To jedno wywołanie sprawdza więc uwierzytelnianie, model, saldo i typ klucza.

Koszt testu jest znikomy. Prompt o około 10 tokenach i odpowiedź 5 tokenów kosztują 10 x $0,15 / 1M + 5 x $0,50 / 1M, czyli około $0,000004. Nieudane lub odrzucone zapytania nie są w ogóle rozliczane.

Test 3: ten sam test w Pythonie

Jeśli Twój prawdziwy kod używa Pythona, przetestuj go tak, jak będzie działał kod. Ten skrypt używa oficjalnego pakietu openai, więc pomyślne przejście oznacza, że konfiguracja Twojej aplikacji też działa:

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.getaiapikey.com/v1",
    api_key=os.environ["API_KEY"],
)

raw = client.chat.completions.with_raw_response.create(
    model="uncensored",
    max_tokens=5,
    messages=[{"role": "user", "content": "Say ok."}],
)
print("status:", raw.status_code)
print("balance:", raw.headers.get("X-Balance-USD"))
print("req/min limit:", raw.headers.get("X-RateLimit-Limit-Requests"))
print("concurrency limit:", raw.headers.get("X-RateLimit-Limit-Concurrency"))
print("reply:", raw.parse().choices[0].message.content)

Obudowa with_raw_response daje dostęp do nagłówków, podczas gdy parse() zwraca zwykły obiekt odpowiedzi. Instalacja klienta Pythona jest opisana w jak zainstalować klienta LLM w Pythonie, jeśli import się nie powiedzie.

Sprawdź saldo bez generowania odpowiedzi

Aby odczytać saldo bez generowania tekstu, wywołaj jedno z endpointów salda. Istnieje jeden w stylu OpenAI i krótszy:

curl https://api.getaiapikey.com/v1/balance \
  -H "Authorization: Bearer $API_KEY"

curl https://api.getaiapikey.com/v1/dashboard/billing/credit_grants \
  -H "Authorization: Bearer $API_KEY"

Narzędzia, które już oczekują formatu kredytów OpenAI, mogą skorzystać z drugiej ścieżki bez zmian. Dodaj takie wywołanie do skryptu monitorującego, a otrzymasz ostrzeżenie, zanim bot produkcyjny się wyczerpie. Doładowania zaczynają się od $20, a kredyt nigdy nie wygasa, więc nie ma kary za posiadanie komfortowej rezerwy. Kwoty i bonusy znajdziesz na stronie cennik.

Zamień test w kontrolę stanu

Gdy klucz zadziała, zachowaj ten test. Mały skrypt uruchamiany w regularnych odstępach czasu poinformuje Cię o złym wdrożeniu, wygasłym kluczu lub niskim saldzie, zanim zrobią to Twoi użytkownicy. Oto wersja Node wykorzystująca wbudowane fetch (Node 18 lub nowszy):

const base = "https://api.getaiapikey.com/v1";

async function check() {
  const res = await fetch(`${base}/chat/completions`, {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      model: "uncensored",
      max_tokens: 5,
      messages: [{ role: "user", content: "Say ok." }],
    }),
  });
  const balance = Number(res.headers.get("X-Balance-USD"));
  console.log(res.status, "balance:", balance);
  if (res.status >= 400 || balance < 5) process.exitCode = 1;
}

check();

Skrypt kończy się kodem niezerowym, gdy wywołanie się nie powiedzie lub saldo spadnie poniżej $5, więc zadanie cron lub krok CI mogą Cię alertować. Wybierz próg z własnego tempa spalania: przy $2 dziennie, $5 daje Ci nieco ponad dwa dni ostrzeżenia.

Co przechodzący test nie dowodzi

Zielony znak potwierdza, że uwierzytelnianie, routing i model działają w tym momencie przy niskim obciążeniu. Nie pokazuje jednak, jak Twoja aplikacja zachowa się przy 20 użytkownikach naraz. W tym celu pamiętaj o limitach: pełny klucz obsługuje 8 zapytań jednocześnie, a strumieniowane zapytania zajmują swoje miejsce do końca strumienia. Przetestuj obciążeniowo własny kod z limitem równoległych wywołań przed uruchomieniem.

Czytanie błędów

Co widziszNajbardziej prawdopodobna przyczynaCo zrobić
Błąd uwierzytelniania, często 401Błędny klucz, dodatkowa spacja, brak prefiksu BearerSkopiuj ponownie klucz, sprawdź ciąg nagłówka
404 lub HTML zamiast JSONNiepoprawny adres URL bazowyUżyj dokładnie https://api.getaiapikey.com/v1
Model nie znalezionyInny ID modelu w zapytaniuUstaw model na uncensored
429 z rate_limited lub concurrencyZbyt wiele zapytań na minutę lub narazPoczekaj, potem ponów z opóźnieniem
429 z Retry-After: 5Tymczasowe przeciążeniePoczekaj 5 sekund i ponów
Błąd połączenia lub przekroczenie limitu czasuSieć, proxy lub firewallPrzetestuj z innej sieci, sprawdź zmienne proxy

Zapytania przekraczające 8 MB są odrzucane, więc jeśli tylko duże zapytania kończą się niepowodzeniem, sprawdź rozmiar ciała. Dokumentacja zawiera listę wszystkich kodów błędów i nagłówków.

Dobre nawyki przy obsłudze klucza

  • Trzymaj klucz w zmiennej środowiskowej lub magazynie sekretów, nigdy w kodzie po stronie klienta, publicznym repozytorium lub zrzucie ekranu.
  • Używaj jednego klucza na aplikację, gdzie możesz, więc wyciek jest łatwy do zidentyfikowania i zastąpienia.
  • Jeśli klucz mógł wyciec, zastąp go, potem sprawdź saldo pod kątem nieoczekiwanego wydania.
  • Nie dziel klucza próbnego między kilka programów: przy 2 równoległych zapytaniach szybko trafisz na limity.

Jeśli chcesz tylko sprawdzić, czy istnieje opcja darmowa przed rejestracją, artykuł o darmowym kluczu LLM API wyjaśnia, co jest dostępne. W przeciwnym razie powyższe trzy sprawdzenia to wszystko, czego potrzebuje klucz do przetestowania.

Pytania i odpowiedzi

Czy istnieje oficjalny tester kluczy online?

Nie jest to potrzebne. GET /v1/models oraz jedno małe wywołanie czatu, uruchomione na Twojej maszynie, sprawdzają klucz, model i saldo bez narażania klucza na podmioty trzecie.

Czy testowanie klucza kosztuje pieniądze?

Krótkie wywołanie z max_tokens ustawionym na 5 kosztuje kilka milionowych części dolara. Nieudane lub odrzucone zapytania nie są rozliczane.

Jak odróżnić klucz próbny od pełnego?

Przeczytaj nagłówki X-RateLimit-Limit-Requests i X-RateLimit-Limit-Concurrency. Klucz próbny pokazuje 60 i 2, pełny klucz pokazuje 300 i 8.

Mój klucz działa w curl, ale nie w mojej aplikacji. Dlaczego?

Porównaj adres URL bazowy, identyfikator modelu i nagłówek Authorization w swojej aplikacji z wywołaniem curl. Najczęstszymi winowajcami są brakujący /v1, spacja na końcu klucza oraz przestarzała zmienna środowiskowa.

Twój klucz jest już tylko o jeden formularz

Utwórz konto, skopiuj klucz, zmień bazowy URL. To cała konfiguracja.