Language

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ą.
https://apikey.sh/v1działa
https://api.onie.net/v1działa
Anthropic SDK używa base URL bez /v1 (na przykład https://apikey.sh).

Uwierzytelnianie

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/completionsGeneruje odpowiedzi (obsługuje SSE streaming i tool calling)
POST/v1/embeddingsTworzy embeddingi do RAG i wyszukiwania semantycznego
POST/v1/images/generationsGeneruje obrazy (modele gpt-image-*)
GET/v1/modelsLista 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

401Nieprawidłowy lub unieważniony klucz albo zawieszone konto
402Brak kredytu — doładuj w panelu
403Model spoza listy dozwolonej dla tego klucza
429Przekroczony rate limit klucza
5xxBłąd dostawcy upstream — ponów za kilka sekund

Dostępne modele

Działa 37 modeli. Lista maszynowa pod GET /v1/models lub /api/models (JSON, bez uwierzytelniania).