Skip to main content
POST
Streaming: Ersetzen Sie generateContent in der URL durch streamGenerateContent. Der Request-Body bleibt unverändert; die Antwort trifft in Chunks ein. Mit ?alt=sse fordern Sie das SSE-Format an.
BaseURL: Die Standard-BaseURL ist https://direct.evolink.ai und bietet bessere Unterstützung für Textmodelle sowie persistente Verbindungen. https://api.evolink.ai ist der primäre Endpunkt für multimodale Dienste und dient bei Textmodellen als Ausweichadresse.

Lange Ausgaben fortsetzen (Gemini 4 Argon)

Eine einzelne Anfrage an gemini-4-argon liefert bis zu 65,536 Tokens mit Streaming oder 32,768 ohne Streaming. Beide Grenzen umfassen Denken und Antwort. Längere Ausgaben werden über mehrere Fortsetzungsanfragen abgerufen. Eingabe, Denken und Antwort teilen sich ein Kontextfenster von 1,048,576 Tokens; für Denken und Antwort bleibt insgesamt nur der Platz nach Abzug der Eingabe. Nur die native API unterstützt die Fortsetzung, das OpenAI-kompatible Format nicht. Setzen Sie das Lesezeitlimit des Clients für lange Antworten auf 1,200 Sekunden (20 Minuten). Dies ist eine Empfehlung für die Clientkonfiguration, keine Garantie für die serverseitige Anfragedauer. Vorgehen:
  1. Setzen Sie generationConfig.maxOutputTokens über die Grenze pro Anfrage: über 65,536 mit Streaming oder 32,768 ohne Streaming. Der Parameter akzeptiert bis zu 1,048,576; die tatsächliche Ausgabe bleibt durch den gemeinsamen Kontext begrenzt. Der Wert ist das Gesamtbudget für Denken und Antwort über alle Fortsetzungsanfragen.
  2. Bei candidates[0].finishReason: CONTINUATION ist die Generierung noch nicht abgeschlossen. Derselbe Kandidat enthält ein continuationToken.
  3. Senden Sie die ursprüngliche Anfrage mit unveränderten contents, systemInstruction, tools und generationConfig erneut. Ergänzen Sie nur continuationToken auf oberster Ebene und übernehmen Sie den zuletzt empfangenen Wert unverändert.
  4. Wiederholen Sie Schritt 3 nur bei finishReason: CONTINUATION; bei jedem anderen Abschlussgrund stoppen Sie. STOP bedeutet normalen Abschluss, MAX_TOKENS ein aufgebrauchtes Gesamtbudget. Jede Antwort enthält nur neu generierte Inhalte; fügen Sie diese der Reihe nach zusammen.
  • Hängen Sie keine Teilausgabe an contents an und senden Sie keine neue Aufforderung wie „weiter“.
  • Eine Anfrage kann vollständig fürs Denken verwendet werden und einen leeren Antworttext liefern. Setzen Sie bei CONTINUATION fort.
  • Auch MAX_TOKENS kann ein continuationToken liefern. Erhöhen Sie zum Fortsetzen maxOutputTokens manuell und senden Sie die ursprüngliche Anfrage mit dem neuesten Token erneut. Mit dem aufgebrauchten Budget folgt ein 400-Fehler. Siehe „Nach aufgebrauchtem Budget fortsetzen“ weiter unten.
  • Warten Sie bei Gesprächen mit mehreren Runden auf STOP und fügen Sie erst dann die vollständige, zusammengefügte Antwort als eine model-Nachricht zum Verlauf hinzu.

Beispiele

Erste Anfrage:
Wird die Grenze pro Anfrage bei verbleibendem Gesamtbudget erreicht, kann die Antwort so aussehen (nur Felder zur Fortsetzung):
Endete die vorige Antwort mit CONTINUATION, senden Sie dieselbe Anfrage mit continuationToken auf oberster Ebene erneut:
Diese Python-Funktion verarbeitet CONTINUATION automatisch und gibt beim Abschluss oder bei aufgebrauchtem Budget das Ergebnis zurück. Sie behält das neueste Token und erhöht das Budget bei MAX_TOKENS nicht automatisch:

Nach aufgebrauchtem Budget fortsetzen

Dieses Beispiel verwendet generate_with_continuation, URL und HEADERS von oben. Es erzeugt eine Zahlenliste mit kleinem Budget und erhöht dann das Gesamtbudget ausdrücklich von 64 auf 2,048. Behalten Sie die ursprünglichen contents und alle anderen Einstellungen bei. Mit dem Token und dem erhöhten Budget wird an der Abbruchstelle fortgesetzt.
Lesen Sie beim Streaming den letzten Chunk mit finishReason: Bei CONTINUATION senden Sie das neueste Token mit unveränderten Einstellungen erneut. Bei MAX_TOKENS müssen Sie das Gesamtbudget zum Fortsetzen manuell erhöhen. STOP bedeutet normalen Abschluss.

Abrechnung und Fehler

  • Jede Anfrage wird einzeln abgerechnet. Bei Fortsetzungen zählen die ursprüngliche Eingabe und alle zuvor generierten Inhalte erneut als Eingabe. Teile, die den impliziten Cache treffen, werden zum Cachetarif berechnet.
  • Das usageMetadata jeder Antwort gilt nur für diese Anfrage. Addieren Sie die Werte verschiedener Anfragen für die Gesamtnutzung. Innerhalb eines Streams sind die Werte kumulativ: Verwenden Sie nur das letzte usageMetadata, statt die Zwischenstände mehrfach zu addieren.
  • Die native API schätzt die Reservierung für die Ausgabe mit dem kleineren Wert aus maxOutputTokens und 65,536, auch ohne Streaming; die Eingabe wird separat geschätzt. Die tatsächliche Ausgabe ohne Streaming ist auf 32,768 pro Anfrage begrenzt. Ein höheres Budget kann deshalb mehr reservieren als eine Schätzung anhand dieser tatsächlichen Grenze. Die endgültige Abrechnung richtet sich nach den Nutzungsdaten der Antwort.
  • Ungültige Tokens führen zu 400. Ein korrekt formatiertes Token mit ungültigem Inhalt kann Invalid continuation token. liefern; bei falschem Format ist ein anderer Parameterfehler möglich. Andere Modelle ignorieren continuationToken.
  • Nach MAX_TOKENS führt eine Fortsetzung mit Token ebenfalls zu 400, wenn Sie das aufgebrauchte maxOutputTokens nicht erhöhen.

Autorisierungen

Authorization
string
header
erforderlich

##Alle APIs erfordern Bearer-Token-Authentifizierung##

API-Schlüssel erhalten:

Besuchen Sie die API-Schlüsselverwaltungsseite, um Ihren API-Schlüssel zu erhalten

Zum Anfrage-Header hinzufügen:

Pfadparameter

model
enum<string>
erforderlich

Wählen Sie das aufzurufende Gemini-Textmodell aus:

Verfügbare Optionen:
gemini-4-argon,
gemini-3.8-flash,
gemini-3.7-flash,
gemini-3.6-flash,
gemini-3.5-flash,
gemini-3.5-flash-lite,
gemini-3.1-pro-preview,
gemini-3.1-pro-preview-customtools,
gemini-3.1-flash-lite-preview,
gemini-3-pro-preview,
gemini-3-flash-preview,
gemini-2.5-pro,
gemini-2.5-flash,
gemini-2.5-flash-lite
Beispiel:

"gemini-3.6-flash"

Body

application/json
contents
object[]
erforderlich

List of conversation contents, supports multi-turn dialogue and multimodal input

Minimum array length: 1
systemInstruction
object

System instruction (optional), mainly text content

tools
object[]

Tools, die das Modell aufrufen kann. Drei Arten werden unterstützt:

  • functionDeclarations: Funktionsaufrufe
  • codeExecution: Codeausführung
  • googleSearch: Websuche mit Google Search. Verwenden Sie {"googleSearch": {}} (camelCase; google_search führt zu HTTP 400). Für alle Gemini-Textmodelle verfügbar. Die Antwort enthält Suchanfragen und Quellen unter candidates[].groundingMetadata; die Abrechnung erfolgt pro Aufruf.
Beispiel:
toolConfig
object

Tool calling configuration (optional)

safetySettings
object[]

Safety settings list (optional)

generationConfig
object

Generation configuration parameters (optional)

continuationToken
string

Token zur Fortsetzung langer Ausgaben (nur gemini-4-argon). Übernehmen Sie das letzte candidates[0].continuationToken unverändert auf die oberste Ebene der Anfrage. Behalten Sie die ursprünglichen contents, systemInstruction und tools bei und hängen Sie keine Teilausgabe an.

  • CONTINUATION: alle Generierungseinstellungen unverändert lassen und das Token erneut senden.
  • MAX_TOKENS: ein Token kann ebenfalls zurückgegeben werden. Erhöhen Sie vor der Fortsetzung das kumulative maxOutputTokens manuell; andere Einstellungen bleiben unverändert. Das aufgebrauchte Budget führt zu 400.
  • Ungültige Tokens führen zu 400.
  • Andere Modelle ignorieren dieses Feld.

Siehe Vollständige Referenz der nativen API, Abschnitt „Lange Ausgaben fortsetzen“.

cachedContent
string

Cached content name, in the form cachedContents/{cachedContent}

Antwort

Inhalt erfolgreich generiert

Beschreibung des Antwortformats:

  • Bei Verwendung des generateContent-Endpunkts wird GenerateContentResponse zurückgegeben (gibt vollständige Antwort auf einmal zurück)
  • Bei Verwendung des streamGenerateContent-Endpunkts wird StreamGenerateContentResponse zurückgegeben (Streaming-Antwort, gibt Inhalt in Teilen zurück)
candidates
object[]

List of candidate responses

promptFeedback
object
usageMetadata
object

Nutzungsstatistiken

modelVersion
string

Model version

Beispiel:

"gemini-3.6-flash"

responseId
string

Response ID

Beispiel:

"l-LoaPu0BPmo1dkP6ZPHiQc"