Gemini nativ

Inhalte generieren

Generiert Inhalte im Google Gemini API-Format

POST
/v1beta/models/{model}:generateContent

Verwenden Sie Gemini-Anfrage- und Antwortformate mit einem Modell aus der Gemini Models API. ProtoJSON lowerCamelCase und die entsprechenden proto-snake_case-Feldnamen werden akzeptiert. Unterstützte optionale Felder und Werte hängen vom ausgewählten Modell ab.

Pfadparameter

modelstringpatherforderlich

Modellname (z. B. gemini-2.5-pro, gemini-3.5-flash).

Abfrageparameter

keystringquery

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

contentsarrayerforderlich

Konversationsinhalt mit parts und optionalem role. Für Medien verwenden Sie inlineData / inline_data oder fileData / file_data. Von TokenLab erstellte Files- und Cache-IDs können nur in ihrem eigenen Workspace verwendet werden.

systemInstructionobject

Systemanweisung für das Modell.

generationConfigobject

Generierungseinstellungen wie temperature, topP, topK, maxOutputTokens, stopSequences, candidateCount, responseModalities, responseMimeType, responseSchema und thinkingConfig. Entsprechende snake_case-Namen werden ebenfalls akzeptiert. Werte und Kombinationen hängen vom Modell ab.

safetySettingsarray

Einstellungen für Sicherheitsfilter.

Antwort

candidatesarray

Generierte Inhaltskandidaten.

usageMetadataobject

Informationen zur Token-Nutzung.

Anfrage

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"
          }
        }
      ]
    }
  ]
}

Antwort

Response
{
  "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"
          }
        }
      ]
    }
  ]
}

Autorisierung

BearerAuth
AuthorizationBearer <token>

API-Key-Authentifizierung. Erstellen oder verwalten Sie API-Keys unter Dashboard > API > API Keys.

Ort: header

Pfadparameter

model*string

Modellname (z. B. gemini-2.5-pro)

Abfrageparameter

key?string

API-Schlüssel (Alternative zur Header-Authentifizierung)

Header

X-TokenLab-Delivery-Policy?string

Zustellungsrichtlinie pro Anfrage. Überschreibt die API-Key- und Workspace-Standardeinstellungen. Versucht automatisch zuerst TokenLab Verified und kann vor der Ausgabe, der Annahme der Anfrage oder der Erstellung persistenter Ressourcen einmalig auf Official umstellen.

Zulässige Werte

  • "auto"
  • "verified"
  • "official"

Anfragekörper

application/json

Native Gemini GenerateContent-Anfrage. ProtoJSON lowerCamelCase und originale proto snake_case-Namen werden beide akzeptiert und beibehalten, einschließlich gemischter Anfragen. Wenn beide Schreibweisen eines Feldes vorhanden sind, führt TokenLab keine Zusammenführung durch und wählt keine lokale Priorität. Unbekannte Felder werden nach bestem Bemühen weitergeleitet.

Antwort

application/json

application/json

application/json

application/json

application/json

application/json