Skip to main content
POST
CometAPI unterstützt das native Gemini-API-Format und gibt dir vollen Zugriff auf Gemini-spezifische Funktionen wie Thinking-Steuerung, Google Search Grounding, native Modalitäten zur Bildgenerierung und mehr. Verwende diesen Endpunkt, wenn du Funktionen benötigst, die über den OpenAI-kompatiblen Chat-Endpunkt nicht verfügbar sind.
Verwenden Sie die offizielle GenerateContent API-Referenz von Google als maßgebliche Quelle für die vollständigen Request-Felder, das Response-Schema und das Gemini-modellspezifische Verhalten. Diese CometAPI-Seite erklärt, wie Sie diese native Request-Struktur über CometAPI senden.
Gemini-Anfrageparameter und Antwortfelder können sich ändern, wenn Google die native API aktualisiert. Sieh in der Gemini-Dokumentation zur Textgenerierung nach, um die aktuelle vollständige Parameterliste und anbieterspezifisches Verhalten zu erhalten.
Sowohl x-goog-api-key- als auch Authorization: Bearer-Header werden zur Authentifizierung unterstützt.

Schnellstart

Um ein beliebiges Gemini SDK oder einen HTTP-Client mit CometAPI zu verwenden, ersetze die Base URL und den API-Schlüssel:

Video-Eingabe senden

Gemini generateContent akzeptiert Videos als content-Part. Wählen Sie die Eingabeform basierend darauf, wo das Video gespeichert ist:
Verwenden Sie für REST- und curl-Anfragen die camelCase-Feldnamen von Gemini wie inlineData.mimeType und fileData.fileUri. Senden Sie URL-Medien nicht als file_data.file_uri.
Dieses Beispiel liest eine lokale MP4-Datei, kodiert sie als base64 und sendet sie im Request-Body:
Dieses Beispiel sendet eine öffentliche MP4-URL mit fileData.fileUri:
CometAPI empfiehlt für diesen Endpunkt keinen separaten Upload-Ablauf über die Gemini Files API. Senden Sie Medien direkt in der generateContent-Anfrage mit inlineData oder fileData.fileUri.

Thinking konfigurieren (reasoning)

Gemini-Modelle können internes reasoning durchführen, bevor sie eine Antwort generieren. Die Steuerungsmethode hängt von der Modellgeneration ab.
Gemini-3-Modelle verwenden thinkingLevel, um die reasoning-Tiefe zu steuern. Verfügbare Stufen: MINIMAL, LOW, MEDIUM, HIGH.Verwende gemini-3-flash-preview als Standard-Beispielmodell, es sei denn, du benötigst ausdrücklich eine andere Gemini-3-Variante.
Die Verwendung von thinkingLevel mit Gemini-2.5-Modellen (oder von thinkingBudget mit Gemini-3-Modellen) kann Fehler verursachen. Verwende den korrekten Parameter für deine Modellversion.

Responses streamen

Um Server-Sent Events zu empfangen, während das Modell Inhalte generiert, verwende streamGenerateContent?alt=sse als Operator. Jedes SSE-Ereignis enthält eine data:-Zeile mit einem JSON-Objekt vom Typ GenerateContentResponse.

Systemanweisungen festlegen

Um das Verhalten des Modells über die gesamte Konversation hinweg zu steuern, verwende systemInstruction:

JSON-Ausgabe anfordern

Um strukturierte JSON-Ausgabe zu erzwingen, setze responseMimeType. Optional kannst du ein responseSchema für eine strikte Schemavalidierung angeben:

Mit Google Search grounden

Um Websuche in Echtzeit zu aktivieren, füge ein googleSearch-Tool hinzu:
Die Antwort enthält groundingMetadata mit Quell-URLs und Konfidenzwerten.

Antwortbeispiel

Eine typische Antwort vom Gemini-Endpunkt von CometAPI:
Das Feld thoughtsTokenCount in usageMetadata zeigt, wie viele Tokens das Modell für internes Reasoning aufgewendet hat, selbst wenn die Thinking-Ausgabe nicht in der Antwort enthalten ist.

Vergleich mit OpenAI-kompatiblem Endpunkt

Autorisierungen

x-goog-api-key
string
header
erforderlich

Your CometAPI key passed via the x-goog-api-key header. Bearer token authentication (Authorization: Bearer $COMETAPI_KEY) is also supported.

Pfadparameter

model
string
erforderlich

Gemini model ID. Example: gemini-3-flash-preview, gemini-2.5-pro. See the Models page for current options.

operator
enum<string>
erforderlich

The operation to perform. Use generateContent for synchronous responses, or streamGenerateContent?alt=sse for Server-Sent Events streaming.

Verfügbare Optionen:
generateContent,
streamGenerateContent?alt=sse

Body

application/json
contents
object[]

Conversation content. Each entry has an optional role (user or model) and a parts array.

systemInstruction
object

System instructions that guide the model's behavior across the entire conversation. Text only.

tools
object[]

Tools the model may use to generate responses. Supports function declarations, Google Search, Google Maps, and code execution.

toolConfig
object

Configuration for tool usage, such as function calling mode.

safetySettings
object[]

Safety filter settings. Override default thresholds for specific harm categories.

generationConfig
object

Configuration for model generation behavior including temperature, output length, and response format.

cachedContent
string

The name of cached content to use as context. Format: cachedContents/{id}. See the Gemini context caching documentation for details.

Antwort

200 - application/json

Successful response. For streaming requests, the response is a stream of SSE events, each containing a GenerateContentResponse JSON object prefixed with data:.

candidates
object[]

The generated response candidates.

promptFeedback
object

Feedback on the prompt, including safety blocking information.

usageMetadata
object

Token usage statistics for the request.

modelVersion
string

The model version that generated this response.

createTime
string

The timestamp when this response was created (ISO 8601 format).

responseId
string

Unique identifier for this response.