Zum Hauptinhalt springen

Modell-API

/ API-Doku

← API-SchnellstartAls Markdown anzeigen

GET https://api.opencheese.dev/v1/models listet die Modelle, die dein API-Schlüssel gerade nutzen kann, im Listenformat von OpenAI. Was die Liste enthält, hängt von deinem Tarif, den Modellbeschränkungen des Schlüssels und den Modellen ab, die du auf der Seite Preise ausgeschaltet hast. Lies deshalb diese Liste, statt Modell-IDs aus Beispielen zu kopieren.

Anfrage

bash
curl https://api.opencheese.dev/v1/models \
  -H "Authorization: Bearer $OPENCHEESE_API_KEY"

x-api-key funktioniert auch. Bei einem ungültigen Schlüssel kommt 401 mit einem JSON-Fehler zurück.

Antwort

Ein Textmodell (die Werte sind Beispiele):

json
{
  "object": "list",
  "data": [
    {
      "id": "MODEL_ID",
      "object": "model",
      "created": 0,
      "owned_by": "opencheese",
      "displayName": "Example Model",
      "name": "Example Model",
      "capabilities": { "streaming": true, "tools": true },
      "pricing": { "inputRate": 0.5, "outputRate": 2, "cacheReadRate": 0.05, "cacheWriteRate": 0.6 },
      "modalities": { "input": ["text", "image"], "output": ["text"] },
      "reasoning": true,
      "reasoningEfforts": { "max": "max", "medium": "medium", "low": "low" },
      "supported_reasoning_levels": ["max", "medium", "low"],
      "efforts": ["max", "medium", "low"],
      "default_reasoning_level": "max",
      "context_window": 1000000,
      "contextWindow": 1000000,
      "max_output_tokens": 131000,
      "maxTokens": 131000,
      "maxOutputTokens": 131000
    }
  ]
}

Felder

Feld Bedeutung
id Die ID, die du als model sendest.
displayName, name Der Name des Modells, wie das Dashboard ihn zeigt.
capabilities Ob das Modell Streaming und Tool-Aufrufe unterstützt.
pricing Deine Preise in Credits (USD) pro Million Tokens: Eingabe, Ausgabe, Lesen gecachter Eingabe und Schreiben in den Cache. Kostenlose Modelle zeigen hier Nullen.
modalities Was das Modell liest (input) und erzeugt (output): text, image, video, audio, pdf.
supported_reasoning_levels Die Reasoning-Stufen, die du senden darfst, die stärkste zuerst. efforts und die Schlüssel von reasoningEfforts wiederholen sie für Clients, die diese Namen lesen.
default_reasoning_level Die erste und damit stärkste Stufe dieser Liste.
context_window Die maximale Anzahl Tokens, die das Modell in einer Anfrage liest, Prompt eingeschlossen. contextWindow ist dieselbe Zahl.
max_output_tokens Die längste Antwort, die das Modell schreibt. maxTokens und maxOutputTokens sind dieselbe Zahl.

Ein Feld fehlt, wenn es nicht zutrifft: Ein Modell ohne wählbare Stufe hat keine Stufenfelder, und ein Modell ohne bekanntes Limit hat keine Limitfelder. Sende die Stufe nur mit einem Wert aus supported_reasoning_levels; Chat Completions, Responses und Messages zeigen, wo sie hingehört.

Bildmodelle

Modelle, deren modalities.output ["image"] ist, erzeugen Bilder. Sie haben nur die oben genannten Grundfelder; ihre Parameter (Größen, Seitenverhältnisse, Qualität, wie viele Bilder eine Anfrage zurückgeben darf) liefert GET /v1/images/capabilities, beschrieben unter Bild-API.

Die Liste filtern

Alle Textmodelle mit jq:

bash
curl -s https://api.opencheese.dev/v1/models \
  -H "Authorization: Bearer $OPENCHEESE_API_KEY" \
  | jq -r '.data[] | select(.modalities.output | index("text")) | .id'

Kostenlose Modelle:

bash
curl -s https://api.opencheese.dev/v1/models \
  -H "Authorization: Bearer $OPENCHEESE_API_KEY" \
  | jq -r '.data[] | select(.pricing.inputRate == 0 and .pricing.outputRate == 0) | .id'

Auch kostenlose Modelle brauchen ein kleines Mindestguthaben auf deinem Konto; siehe die FAQ.

Mit einem SDK

python
from openai import OpenAI

client = OpenAI(base_url="https://api.opencheese.dev/v1", api_key="YOUR_OPENCHEESE_API_KEY")
for model in client.models.list():
    print(model.id)

Es gibt kein GET /v1/models/{id}: Lies das Modell aus der Liste.

Der Käse hat Löcher. Deine Infrastruktur sollte keine haben.