Dokumentacja API
apikey.sh mówi protokołem OpenAI. Każdy SDK, framework czy narzędzie działające z OpenAI zadziała tutaj po zmianie base_url.Szybki start
Utwórz klucz w panelu, zapisz go w zmiennej środowiskowej i ustaw base URL:from openai import OpenAI
client = OpenAI(
api_key="sk-ak-...", # your key from apikey.sh
base_url="https://apikey.sh/v1", # change only this line
)
resp = client.chat.completions.create(
model="claude-sonnet-5",
messages=[{"role": "user", "content": "Hello!"}],
)
print(resp.choices[0].message.content)Base URL
Ten sam klucz API działa na każdej z poniższych domen — wybierz dowolną.Anthropic SDK używa base URL bez /v1 (na przykład https://apikey.sh).
https://apikey.sh/v1działahttps://api.onie.net/v1działaUwierzytelnianie
Wyślij klucz w nagłówku:
Authorization: Bearer sk-ak-... # or, with the Anthropic SDK: x-api-key: sk-ak-...Klucz pokazujemy tylko raz, przy tworzeniu. Jeśli go zgubisz, utwórz nowy i unieważnij stary — unieważnienie działa natychmiast.
Endpointy
| POST | /v1/chat/completions | Generuje odpowiedzi (obsługuje SSE streaming i tool calling) |
| POST | /v1/embeddings | Tworzy embeddingi do RAG i wyszukiwania semantycznego |
| POST | /v1/images/generations | Generuje obrazy (modele gpt-image-*) |
| GET | /v1/models | Lista modeli dostępnych dla bieżącego klucza |
Streaming
Dodaj stream: true, aby odbierać tokeny w czasie rzeczywistym przez SSE:
stream = client.chat.completions.create(
model="claude-sonnet-5",
messages=[{"role": "user", "content": "Write a short poem"}],
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="")Prompt caching
W obsługiwanych modelach (linia GPT-5.x) powtarzany prefiks promptu trafia do cache automatycznie i jest rozliczany po stawce cache — około 90% taniej niż nowe tokeny. Nie musisz nic zmieniać w kodzie; liczbę tokenów z cache zobaczysz w panelu w sekcji Zużycie.Odpowiedzi zawierają usage.prompt_tokens_details.cached_tokens, więc możesz to zweryfikować samodzielnie.
Limity na klucz
Każdy klucz może mieć własny limit wydatków i listę dozwolonych modeli. To bezpieczny sposób na dzielenie kluczy między projekty i zespół bez ryzyka, że ktoś wyczerpie budżet. Ustawisz to w Panel → Klucze API.
Kody błędów
401 | Nieprawidłowy lub unieważniony klucz albo zawieszone konto |
402 | Brak kredytu — doładuj w panelu |
403 | Model spoza listy dozwolonej dla tego klucza |
429 | Przekroczony rate limit klucza |
5xx | Błąd dostawcy upstream — ponów za kilka sekund |