Language

API-Referenz

apikey.sh spricht das OpenAI-Protokoll. Jedes SDK, Framework oder Tool, das bereits mit OpenAI läuft, funktioniert hier nach dem Ändern der base_url.

Quickstart

Lege im Dashboard einen Key an, hinterlege ihn in einer Umgebungsvariablen und setze die 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

Derselbe API-Key funktioniert auf allen Domains unten — nimm die, die dir am besten passt.
https://apikey.sh/v1live
https://api.onie.net/v1live
Das Anthropic SDK nutzt die Base URL ohne /v1 (zum Beispiel https://apikey.sh).

Authentifizierung

Sende deinen Key im Header:
Authorization: Bearer sk-ak-...

# or, with the Anthropic SDK:
x-api-key: sk-ak-...
Der Key wird nur einmal beim Anlegen angezeigt. Geht er verloren, lege einen neuen an und widerrufe den alten — der Widerruf greift sofort.

Endpoints

POST/v1/chat/completionsCompletions erzeugen (unterstützt SSE-Streaming und Tool Calling)
POST/v1/embeddingsEmbeddings für RAG und semantische Suche erstellen
POST/v1/images/generationsBilder generieren (gpt-image-*-Modelle)
GET/v1/modelsModelle auflisten, die dieser Key nutzen darf

Streaming

Setze stream: true, um Tokens in Echtzeit per SSE zu empfangen:
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

Bei unterstützten Modellen (der GPT-5.x-Reihe) wird das wiederholte Präfix deines Prompts automatisch gecacht und zum Cache-Tarif abgerechnet — rund 90 % günstiger als frische Tokens. Am Code ändert sich nichts; die gecachten Tokens siehst du im Dashboard unter Nutzung.Die Responses enthalten usage.prompt_tokens_details.cached_tokens, damit du selbst nachrechnen kannst.

Limits pro Key

Jeder Key kann ein eigenes Ausgabenlimit und eine Liste erlaubter Modelle haben. So teilst du Keys sicher zwischen Projekten oder Teamkollegen, ohne dass jemand das Budget leert. Einstellbar unter Dashboard → API-Keys.

Fehlercodes

401Ungültiger oder widerrufener Key oder gesperrtes Konto
402Guthaben aufgebraucht — im Dashboard aufladen
403Modell ist für diesen Key nicht freigegeben
429Rate-Limit des Keys überschritten
5xxFehler beim Upstream-Anbieter — in ein paar Sekunden erneut versuchen

Verfügbare Modelle

37 Modelle sind live. Maschinenlesbare Liste unter GET /v1/models oder /api/models (JSON, ohne Auth).