Zum Hauptinhalt springen

Documentation Index

Fetch the complete documentation index at: https://docs.tokenlab.sh/llms.txt

Use this file to discover all available pages before exploring further.

TokenLab unterstützt das native Google Gemini API-Format für Gemini-Modelle. Dies ermöglicht eine direkte Kompatibilität mit Google AI SDKs.

Pfadparameter

model
string
erforderlich
Modellname (z. B. gemini-2.5-pro, gemini-2.5-flash).Für Produktionsintegrationen bevorzugen Sie URL-basierte fileData / file_data-Medienbestandteile mit einer öffentlichen https-URL. TokenLab leitet unterstützte Gemini-native Kanäle nach Möglichkeit über den nativen Pfad und fällt automatisch auf den kompatiblen internen Konvertierungspfad zurück, wenn für diese multimodale Anfrage keine native Route verfügbar ist.

Abfrageparameter

key
string
API-Key (Alternative zur Header-Authentifizierung).

Authentifizierung

Gemini-Endpunkte unterstützen mehrere Authentifizierungsmethoden:
  • ?key=YOUR_API_KEY Abfrageparameter
  • x-goog-api-key: YOUR_API_KEY Header
  • Authorization: Bearer YOUR_API_KEY Header

Request-Body

contents
array
erforderlich
Inhalte der Konversation.Jedes Inhaltsobjekt enthält:
  • role (string): user oder model
  • parts (array): Inhalts-Parts. TokenLab unterstützt aktuell:
    • Text-Parts: { "text": "..." }
    • Inline-Medien-Parts: inlineData / inline_data
    • URL-basierte Datei-Parts: fileData / file_data
Für Medien-Parts akzeptiert TokenLab derzeit Bild-, Audio- und Video-MIME-Typen und leitet sie über den Gemini-kompatiblen Public Contract weiter.Rollenwerte user und model werden ohne Beachtung der Groß-/Kleinschreibung normalisiert. inlineData / inline_data mit application/octet-stream wird nur akzeptiert, wenn TokenLab unterstützte Bild- oder Videobytes erkennen kann; andernfalls schlägt die Anfrage vor dem Routing fehl. Bei nativen Image-Output-Anfragen ist nur die Google-search/maps-Toolfamilie erlaubt, und nicht unterstützte Tool-Kombinationen schlagen vor Upstream-Retries fehl.
systemInstruction
object
Systemanweisung für das Modell.
generationConfig
object
Generierungskonfiguration:
  • temperature (number): Sampling-Temperatur
  • topP (number): Nucleus-Sampling-Wahrscheinlichkeit
  • topK (integer): Top-K-Sampling
  • maxOutputTokens (integer): Maximale Anzahl an Output-Tokens
  • stopSequences (array): Stoppsequenzen
safetySettings
array
Einstellungen für Sicherheitsfilter.

Antwort

candidates
array
Generierte Inhaltskandidaten.
usageMetadata
object
Informationen zur Token-Nutzung.
curl -X POST "https://api.tokenlab.sh/v1beta/models/gemini-2.5-pro:generateContent?key=sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "parts": [{"text": "Hello, Gemini!"}]
      }
    ],
    "generationConfig": {
      "temperature": 0.7,
      "maxOutputTokens": 1024
    }
  }'

Beispiele für multimodale Eingaben

Bei multimodalen Gemini-Anfragen platzierst du Medien in contents[].parts[] und nutzt entweder Inline-Bytes oder URL-basierte Dateiverweise. Der öffentliche Gemini-Contract unterstützt derzeit folgende Medienkategorien:
  • Bild
  • audio
  • video
Für Inline-Medien verwende inlineData oder inline_data und übergib Base64-kodierte Dateibytes. Für URL-Medien verwende fileData oder file_data und übergib eine öffentlich erreichbare https-URL.

Beispiel für Bildeingabe

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Bitte beschreibe dieses Bild." },
        {
          "inlineData": {
            "mimeType": "image/jpeg",
            "data": "/9j/4AAQSkZJRgABAQ..."
          }
        }
      ]
    }
  ]
}

Beispiel für Audioeingabe

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Bitte transkribiere und fasse dieses Audio zusammen." },
        {
          "file_data": {
            "mime_type": "audio/mpeg",
            "file_uri": "https://example.com/sample.mp3"
          }
        }
      ]
    }
  ]
}

Beispiel für Videoeingabe

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Bitte beschreibe dieses Video kurz." },
        {
          "fileData": {
            "mimeType": "video/mp4",
            "fileUri": "https://example.com/sample.mp4"
          }
        }
      ]
    }
  ]
}
{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {"text": "Hello! How can I assist you today?"}
        ]
      },
      "finishReason": "STOP",
      "safetyRatings": [
        {"category": "HARM_CATEGORY_HARASSMENT", "probability": "NEGLIGIBLE"}
      ]
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 5,
    "candidatesTokenCount": 10,
    "totalTokenCount": 15
  }
}

Video-Eingabebeispiel

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Please describe this video." },
        {
          "fileData": {
            "mimeType": "video/mp4",
            "fileUri": "https://example.com/demo.mp4"
          }
        }
      ]
    }
  ]
}

Audio-Eingabebeispiel

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Please describe this audio." },
        {
          "fileData": {
            "mimeType": "audio/mpeg",
            "fileUri": "https://example.com/demo.mp3"
          }
        }
      ]
    }
  ]
}