Die Live API ist eine zustandsbehaftete API, die WebSockets verwendet. In diesem Abschnitt finden Sie weitere Informationen zur WebSockets API.
Sitzungen
Über eine WebSocket-Verbindung wird eine Sitzung zwischen dem Client und dem Gemini-Server hergestellt. Nachdem ein Client eine neue Verbindung initiiert hat, können in der Sitzung Nachrichten mit dem Server ausgetauscht werden, um:
- Senden Sie Text, Audio oder Video an den Gemini-Server.
- Audio-, Text- oder Funktionsaufrufanfragen vom Gemini-Server empfangen.
WebSocket-Verbindung
So starten Sie eine Sitzung:
wss://generativelanguage.googleapis.com/ws/google.ai.generativelanguage.v1beta.GenerativeService.BidiGenerateContent
Sitzungskonfiguration
Mit der ersten Nachricht, die nach dem Herstellen der WebSocket-Verbindung gesendet wird, wird die Sitzungskonfiguration festgelegt. Diese umfasst das Modell, die Generierungsparameter, die Systemanweisungen und die Tools.
Sie können die Konfiguration nicht aktualisieren, während die Verbindung geöffnet ist. Sie können die Konfigurationsparameter mit Ausnahme des Modells jedoch ändern, wenn Sie die Sitzung über den Mechanismus zum Fortsetzen von Sitzungen pausieren und fortsetzen.
Sehen Sie sich die folgende Beispielkonfiguration an. Die Groß- und Kleinschreibung der Namen in SDKs kann variieren. Hier finden Sie die Konfigurationsoptionen für das Python SDK.
{
"model": string,
"generationConfig": {
"candidateCount": integer,
"maxOutputTokens": integer,
"temperature": number,
"topP": number,
"topK": integer,
"presencePenalty": number,
"frequencyPenalty": number,
"responseModalities": [string],
"speechConfig": object,
"mediaResolution": object,
"translationConfig": object
},
"systemInstruction": string,
"tools": [object]
}
Weitere Informationen zum API-Feld finden Sie unter generationConfig.
Nachrichten senden
Um Nachrichten über die WebSocket-Verbindung auszutauschen, muss der Client ein JSON-Objekt über eine offene WebSocket-Verbindung senden. Das JSON-Objekt muss genau eines der Felder aus der folgenden Objektgruppe enthalten:
{
"setup": BidiGenerateContentSetup,
"clientContent": BidiGenerateContentClientContent,
"realtimeInput": BidiGenerateContentRealtimeInput,
"toolResponse": BidiGenerateContentToolResponse
}
Unterstützte Clientnachrichten
Die unterstützten Clientnachrichten sind in der folgenden Tabelle aufgeführt:
| Nachricht | Beschreibung |
|---|---|
BidiGenerateContentSetup |
Sitzungskonfiguration, die in der ersten Nachricht gesendet werden soll |
BidiGenerateContentClientContent |
Zusätzliche Inhaltsaktualisierung der aktuellen Unterhaltung, die vom Client bereitgestellt wird |
BidiGenerateContentRealtimeInput |
Audio-, Video- oder Texteingabe in Echtzeit |
BidiGenerateContentToolResponse |
Antwort auf eine ToolCallMessage, die vom Server empfangen wurde |
Nachrichten empfangen
Wenn Sie Nachrichten von Gemini empfangen möchten, müssen Sie auf das WebSocket-Ereignis „message“ warten und das Ergebnis dann gemäß der Definition der unterstützten Servernachrichten parsen.
Weitere Informationen finden Sie hier:
async with client.aio.live.connect(model='...', config=config) as session:
await session.send(input='Hello world!', end_of_turn=True)
async for message in session.receive():
print(message)
Servernachrichten können ein Feld usageMetadata enthalten, aber ansonsten genau eines der anderen Felder aus der Nachricht BidiGenerateContentServerMessage. (Die messageType-Vereinigung wird nicht in JSON ausgedrückt, daher wird das Feld auf der obersten Ebene der Nachricht angezeigt.)
Nachrichten und Ereignisse
ActivityEnd
Dieser Typ hat keine Felder.
Markiert das Ende der Nutzeraktivität.
ActivityHandling
Die verschiedenen Möglichkeiten, Nutzeraktivitäten zu verarbeiten.
| Enums | |
|---|---|
ACTIVITY_HANDLING_UNSPECIFIED |
Wenn keine Angabe erfolgt, ist das Standardverhalten START_OF_ACTIVITY_INTERRUPTS. |
START_OF_ACTIVITY_INTERRUPTS |
Wenn „true“, wird die Antwort des Modells durch den Beginn der Aktivität unterbrochen (auch „Barge-in“ genannt). Die aktuelle Antwort des Modells wird im Moment der Unterbrechung abgeschnitten. Das ist das Standardverhalten. |
NO_INTERRUPTION |
Die Antwort des Modells wird nicht unterbrochen. |
ActivityStart
Dieser Typ hat keine Felder.
Markiert den Beginn der Nutzeraktivität.
AudioTranscriptionConfig
Die Konfiguration für die Audiotranskription.
| Felder | |
|---|---|
languageCodes[] |
Optional. BCP-47-Sprachcodes, die Hinweise auf die im Audio enthaltenen Sprachen geben. Wenn nichts angegeben oder leer gelassen, wird standardmäßig die automatische Spracherkennung verwendet. |
customVocabulary[] |
Optional. Eine Liste von benutzerdefinierten Vokabeln, mit denen das Spracherkennungsmodell so angepasst wird, dass bestimmte Begriffe (Produktnamen, Eigennamen, Fachjargon) erkannt werden. |
wordTimestamp |
Optional. Konfiguriert die Generierung von Zeitstempeln auf Wortebene. |
diarization |
Optional. Konfiguriert die Sprecherbestimmung. |
mode |
Optional. Konfiguriert den Transkriptionsmodus. Unterstützte Werte: |
Modus
Transkriptionsmodus
| Enums | |
|---|---|
MODE_UNSPECIFIED |
Nicht angegebener Transkriptionsmodus. |
VERBATIM |
Modus für wörtliche Transkription. |
SMART |
Smart-Transkriptionsmodus. |
AutomaticActivityDetection
Konfiguriert die automatische Erkennung von Aktivitäten.
| Felder | |
|---|---|
disabled |
Optional. Wenn diese Option aktiviert ist (Standardeinstellung), werden erkannte Sprach- und Texteingaben als Aktivität gezählt. Wenn diese Option deaktiviert ist, muss der Client Aktivitätssignale senden. |
startOfSpeechSensitivity |
Optional. Legt fest, wie wahrscheinlich es ist, dass Sprache erkannt wird. |
prefixPaddingMs |
Optional. Die erforderliche Dauer der erkannten Sprache, bevor der Beginn der Sprache festgelegt wird. Je niedriger dieser Wert ist, desto empfindlicher ist die Erkennung des Sprechbeginns und desto kürzer kann die Sprache sein, die erkannt wird. Dadurch steigt jedoch auch die Wahrscheinlichkeit falsch positiver Ergebnisse. |
endOfSpeechSensitivity |
Optional. Bestimmt, wie wahrscheinlich es ist, dass die erkannte Sprache beendet wurde. |
silenceDurationMs |
Optional. Die erforderliche Dauer der erkannten Nicht-Sprache (z.B. Stille), bevor das Ende der Sprache erkannt wird. Je größer dieser Wert ist, desto länger können Sprachlücken sein, ohne die Aktivität des Nutzers zu unterbrechen. Dadurch erhöht sich jedoch die Latenz des Modells. |
BidiGenerateContentClientContent
Inkrementelles Update der aktuellen Unterhaltung, das vom Client bereitgestellt wird. Alle Inhalte hier werden bedingungslos an den Unterhaltungsverlauf angehängt und als Teil des Prompts für das Modell verwendet, um Inhalte zu generieren.
Eine Nachricht hier unterbricht die aktuelle Modellgenerierung.
| Felder | |
|---|---|
turns[] |
Optional. Der Inhalt, der der aktuellen Unterhaltung mit dem Modell angehängt wird. Bei Einzelabfragen ist dies eine einzelne Instanz. Bei Mehrfachabfragen ist dies ein wiederkehrendes Feld, das den Unterhaltungsverlauf und die letzte Anfrage enthält. |
turnComplete |
Optional. Wenn „true“, wird die Serverinhaltsgenerierung mit dem aktuell angesammelten Prompt gestartet. Andernfalls wartet der Server auf weitere Nachrichten, bevor er mit der Generierung beginnt. |
BidiGenerateContentRealtimeInput
Nutzereingaben, die in Echtzeit gesendet werden.
Die verschiedenen Modalitäten (Audio, Video und Text) werden als gleichzeitige Streams verarbeitet. Die Reihenfolge der Streams ist nicht garantiert.
BidiGenerateContentClientContent unterscheidet sich in einigen Punkten davon:
- Kann kontinuierlich ohne Unterbrechung an die Modellgenerierung gesendet werden.
- Wenn Daten aus
BidiGenerateContentClientContentundBidiGenerateContentRealtimeInputkombiniert werden müssen, versucht der Server, die Antwort zu optimieren. Es gibt jedoch keine Garantien. - Das Ende des Zuges wird nicht explizit angegeben, sondern aus der Nutzeraktivität abgeleitet (z. B. Ende der Spracheingabe).
- Die Daten werden schon vor dem Ende des Turns inkrementell verarbeitet, um einen schnellen Start der Antwort des Modells zu ermöglichen.
| Felder | |
|---|---|
mediaChunks[] |
Optional. Inline-Byte-Daten für Media-Eingabe. Mehrere VERALTET: Verwenden Sie stattdessen |
audio |
Optional. Diese bilden den Audio-Eingabestream in Echtzeit. |
video |
Optional. Diese bilden den Echtzeit-Videoeingabestream. |
activityStart |
Optional. Markiert den Beginn der Nutzeraktivität. Diese kann nur gesendet werden, wenn die automatische (d.h. serverseitige) Aktivitätserkennung deaktiviert ist. |
activityEnd |
Optional. Markiert das Ende der Nutzeraktivität. Diese kann nur gesendet werden, wenn die automatische (d.h. serverseitige) Aktivitätserkennung deaktiviert ist. |
mediaResolution |
Optional. Die zu verwendende Media-Auflösung. Wenn keine Angabe erfolgt, wird |
audioStreamEnd |
Optional. Gibt an, dass der Audiostream beendet wurde, z.B. weil das Mikrofon deaktiviert wurde. Diese sollte nur gesendet werden, wenn die automatische Aktivitätserkennung aktiviert ist (was die Standardeinstellung ist). Der Kunde kann den Stream wieder öffnen, indem er eine Sprachnachricht sendet. |
text |
Optional. Diese bilden den Echtzeittext-Eingabestream. |
BidiGenerateContentServerContent
Inkrementelles Serverupdate, das vom Modell als Reaktion auf Clientnachrichten generiert wird.
Inhalte werden so schnell wie möglich generiert, aber nicht in Echtzeit. Clients können die Inhalte puffern und in Echtzeit abspielen.
| Felder | |
|---|---|
generationComplete |
Nur Ausgabe. Bei „true“ gibt an, dass das Modell die Generierung abgeschlossen hat. Wenn die Modellgenerierung unterbrochen wird, wird in der unterbrochenen Runde keine „generation_complete“-Nachricht angezeigt. Stattdessen wird „interrupted > turn_complete“ durchlaufen. Wenn das Modell die Wiedergabe in Echtzeit annimmt, kommt es zu einer Verzögerung zwischen „generation_complete“ und „turn_complete“, da das Modell auf das Ende der Wiedergabe wartet. |
turnComplete |
Nur Ausgabe. Wenn „true“, bedeutet das, dass das Modell seinen Zug beendet hat. Die Generierung beginnt erst als Reaktion auf zusätzliche Clientnachrichten. Hinweis: Wenn die Berichterstellung zum Wiedergabestatus aktiviert ist, wird dieses Ereignis nur ausgegeben, wenn der Wiedergabestatus angibt, dass die Wiedergabe abgeschlossen ist. Der zukünftige Wiedergabestatus derselben Generation wird ignoriert. |
interrupted |
Nur Ausgabe. Bei „true“ wird angezeigt, dass die aktuelle Modellgenerierung durch eine Client-Nachricht unterbrochen wurde. Wenn der Client die Inhalte in Echtzeit wiedergibt, ist das ein gutes Signal, die aktuelle Wiedergabewarteschlange zu beenden und zu leeren. |
groundingMetadata |
Nur Ausgabe. Metadaten für die Fundierung der generierten Inhalte. |
inputTranscription |
Nur Ausgabe. Eingabe der Audiotranskription. Die Transkription wird unabhängig von den anderen Servernachrichten gesendet und es gibt keine garantierte Reihenfolge. |
interimInputTranscription |
Nur Ausgabe. Die Transkription mit niedriger Latenz wird aktualisiert, während der Nutzer spricht. Dieses Feld wird häufig aktualisiert. |
outputTranscription |
Nur Ausgabe. Audiotranskript ausgeben Diese Transkriptionen sind Teil der Generierungsausgabe des Servers. Die letzte Ausgabetranskription dieses Turns wird vor |
urlContextMetadata |
|
waitingForInput |
Nur Ausgabe. Wenn „true“, bedeutet das, dass das Modell keine Inhalte generiert, weil es auf weitere Eingaben des Nutzers wartet, z.B. weil es erwartet, dass der Nutzer weiter spricht. |
speechState |
Nur Ausgabe. VERALTET: Verwenden Sie stattdessen VoiceActivity. Gibt den aktuellen Status der Spracherkennung auf |
interactionStatus |
Nur Ausgabe. Der aktuelle Aktivitätsstatus der Livesitzung. Wird immer zusammen mit |
modelTurn |
Nur Ausgabe. Die Inhalte, die das Modell im Rahmen der aktuellen Unterhaltung mit dem Nutzer generiert hat. |
BidiGenerateContentServerMessage
Antwortnachricht für den BidiGenerateContent-Aufruf.
| Felder | |
|---|---|
usageMetadata |
Nur Ausgabe. Nutzungsmetadaten zu den Antworten. |
Union-Feld messageType. Der Typ der Nachricht. Für messageType ist nur einer der folgenden Werte zulässig: |
|
setupComplete |
Nur Ausgabe. Wird als Antwort auf eine |
serverContent |
Nur Ausgabe. Inhalte, die vom Modell als Reaktion auf Clientnachrichten generiert werden. |
toolCall |
Nur Ausgabe. Bitte den Client, |
toolCallCancellation |
Nur Ausgabe. Benachrichtigung für den Kunden, dass eine zuvor ausgestellte |
goAway |
Nur Ausgabe. Eine Benachrichtigung, dass die Verbindung zum Server bald getrennt wird. |
sessionResumptionUpdate |
Nur Ausgabe. Aktualisierung des Status der Sitzungswiederaufnahme. |
BidiGenerateContentSetup
Nachricht, die im ersten (und nur im ersten) BidiGenerateContentClientMessage gesendet werden soll. Enthält die Konfiguration, die für die Dauer des Streaming-RPC gilt.
Clients sollten auf eine BidiGenerateContentSetupComplete-Nachricht warten, bevor sie weitere Nachrichten senden.
| Felder | |
|---|---|
model |
Erforderlich. Der Ressourcenname des Modells. Dies dient als ID für das zu verwendende Modell. Format: |
generationConfig |
Optional. Generierungskonfiguration. Die folgenden Felder werden nicht unterstützt:
|
systemInstruction |
Optional. Der Nutzer hat Systemanweisungen für das Modell bereitgestellt. Hinweis: In den Teilen sollte nur Text verwendet werden. Der Inhalt jedes Teils wird in einem separaten Absatz dargestellt. |
tools[] |
Optional. Eine Liste der Ein |
realtimeInputConfig |
Optional. Konfiguriert die Verarbeitung von Echtzeiteingaben. |
sessionResumption |
Optional. Konfiguriert den Mechanismus zur Wiederaufnahme von Sitzungen. Wenn das Flag enthalten ist, sendet der Server |
contextWindowCompression |
Optional. Konfiguriert einen Mechanismus zur Komprimierung des Kontextfensters. Wenn der Kontext enthalten ist, verkleinert der Server automatisch die Größe des Kontexts, wenn er die konfigurierte Länge überschreitet. |
inputAudioTranscription |
Optional. Wenn diese Option festgelegt ist, wird die Transkription von Spracheingaben aktiviert. Die Transkription wird an die Sprache der Audioeingabe angepasst, sofern diese konfiguriert ist. |
outputAudioTranscription |
Optional. Wenn diese Option aktiviert ist, wird die Audioausgabe des Modells transkribiert. Die Transkription entspricht dem Sprachcode, der für die Audioausgabe angegeben wurde, sofern konfiguriert. |
proactivity |
Optional. Konfiguriert die Proaktivität des Modells. So kann das Modell proaktiv auf die Eingabe reagieren und irrelevante Eingaben ignorieren. |
historyConfig |
Optional. Konfiguriert den Austausch des Verlaufs zwischen dem Client und dem Server. |
BidiGenerateContentSetupComplete
Dieser Typ hat keine Felder.
Wird als Antwort auf eine BidiGenerateContentSetup-Nachricht vom Client gesendet.
BidiGenerateContentToolCall
Bitte den Client, functionCalls auszuführen und die Antworten mit den entsprechenden id zurückzugeben.
| Felder | |
|---|---|
functionCalls[] |
Nur Ausgabe. Der auszuführende Funktionsaufruf. |
BidiGenerateContentToolCallCancellation
Benachrichtigung für den Kunden, dass eine zuvor ausgestellte ToolCallMessage mit den angegebenen ids nicht hätte ausgeführt werden dürfen und storniert werden sollte. Wenn die Tool-Aufrufe Nebenwirkungen hatten, versuchen Clients möglicherweise, sie rückgängig zu machen. Diese Meldung wird nur angezeigt, wenn Clients Server-Turns unterbrechen.
| Felder | |
|---|---|
ids[] |
Nur Ausgabe. Die IDs der abzubrechenden Tool-Aufrufe. |
BidiGenerateContentToolResponse
Vom Client generierte Antwort auf ein ToolCall, das vom Server empfangen wurde. Einzelne FunctionResponse-Objekte werden über das Feld id den entsprechenden FunctionCall-Objekten zugeordnet.
Bei den unären und Server-Streaming-GenerateContent-APIs erfolgt der Funktionsaufruf durch den Austausch der Content-Teile, während er bei den bidirektionalen GenerateContent-APIs über diese dedizierten Nachrichten erfolgt.
| Felder | |
|---|---|
functionResponses[] |
Optional. Die Antwort auf die Funktionsaufrufe. |
BidiGenerateContentTranscription
Transkription von Audioinhalten (Eingabe oder Ausgabe).
| Felder | |
|---|---|
text |
Transkripttext. |
languageCode |
Der BCP-47-Sprachcode der Transkription. |
ContextWindowCompressionConfig
Aktiviert die Komprimierung des Kontextfensters. Dies ist ein Mechanismus zum Verwalten des Kontextfensters des Modells, damit es eine bestimmte Länge nicht überschreitet.
| Felder | |
|---|---|
Union-Feld compressionMechanism. Der verwendete Mechanismus zur Komprimierung des Kontextfensters. Für compressionMechanism ist nur einer der folgenden Werte zulässig: |
|
slidingWindow |
Ein Mechanismus mit gleitendem Zeitfenster. |
triggerTokens |
Die Anzahl der Tokens (vor dem Ausführen einer Runde), die erforderlich sind, um eine Kontextfensterkomprimierung auszulösen. Damit lässt sich ein Gleichgewicht zwischen Qualität und Latenz herstellen, da kürzere Kontextfenster zu schnelleren Modellantworten führen können. Jeder Komprimierungsvorgang führt jedoch zu einer vorübergehenden Erhöhung der Latenz. Daher sollten sie nicht häufig ausgelöst werden. Wenn nichts anderes festgelegt ist, beträgt der Standardwert 80% des Kontextfensterlimits des Modells. So bleiben 20% für die nächste Nutzeranfrage bzw. Modellantwort übrig. |
EndSensitivity
Legt fest, wie das Ende der Sprache erkannt wird.
| Enums | |
|---|---|
END_SENSITIVITY_UNSPECIFIED |
Die Standardeinstellung ist END_SENSITIVITY_HIGH. |
END_SENSITIVITY_HIGH |
Bei der automatischen Erkennung wird die Sprache häufiger beendet. |
END_SENSITIVITY_LOW |
Bei der automatischen Erkennung wird die Sprache seltener beendet. |
GoAway
Eine Benachrichtigung, dass die Verbindung zum Server bald getrennt wird.
| Felder | |
|---|---|
timeLeft |
Die verbleibende Zeit, bevor die Verbindung als ABORTED beendet wird. Diese Dauer ist nie kürzer als ein modellspezifisches Minimum, das zusammen mit den Ratenbeschränkungen für das Modell angegeben wird. |
HistoryConfig
Verlaufskonfiguration.
Diese Nachricht ist in der Sitzungskonfiguration als BidiGenerateContentSetup.historyConfig enthalten. Konfiguriert den Austausch von Verlaufsmeldungen.
| Felder | |
|---|---|
initialHistoryInClientContent |
Optional. Wenn „true“, wartet der Server nach dem Senden von |
ProactivityConfig
Konfiguration für proaktive Funktionen.
| Felder | |
|---|---|
proactiveAudio |
Optional. Wenn diese Option aktiviert ist, kann das Modell die Antwort auf den letzten Prompt ablehnen. So kann das Modell beispielsweise Äußerungen ignorieren, die keinen Kontext haben, oder stumm bleiben, wenn der Nutzer noch keine Anfrage gestellt hat. |
RealtimeInputConfig
Konfiguriert das Echtzeit-Eingabeverhalten in BidiGenerateContent.
| Felder | |
|---|---|
automaticActivityDetection |
Optional. Wenn nichts anderes festgelegt ist, ist die automatische Aktivitätserkennung standardmäßig aktiviert. Wenn die automatische Spracherkennung deaktiviert ist, muss der Client Aktivitätssignale senden. |
activityHandling |
Optional. Definiert die Auswirkungen von Aktivitäten. |
turnCoverage |
Optional. Definiert, welche Eingabe im Zug des Nutzers enthalten ist. |
SessionResumptionConfig
Konfiguration der Sitzungswiederaufnahme.
Diese Nachricht ist in der Sitzungskonfiguration als BidiGenerateContentSetup.sessionResumption enthalten. Wenn der Server entsprechend konfiguriert ist, sendet er SessionResumptionUpdate-Nachrichten.
| Felder | |
|---|---|
handle |
Der Handle einer vorherigen Sitzung. Wenn nicht vorhanden, wird eine neue Sitzung erstellt. Sitzungshandles stammen aus |
SessionResumptionUpdate
Aktualisierung des Status der Sitzungswiederaufnahme.
Wird nur gesendet, wenn BidiGenerateContentSetup.sessionResumption festgelegt wurde.
| Felder | |
|---|---|
newHandle |
Neuer Handle, der einen Status darstellt, der fortgesetzt werden kann. Leer, wenn |
resumable |
„true“, wenn die aktuelle Sitzung an dieser Stelle fortgesetzt werden kann. An einigen Stellen in der Sitzung ist eine Fortsetzung nicht möglich. Das kann beispielsweise der Fall sein, wenn das Modell Funktionsaufrufe ausführt oder Inhalte generiert. Wenn Sie die Sitzung in einem solchen Zustand fortsetzen (mit einem vorherigen Sitzungstoken), gehen einige Daten verloren. In diesen Fällen ist |
SlidingWindow
Bei der SlidingWindow-Methode werden Inhalte am Anfang des Kontextfensters verworfen. Der resultierende Kontext beginnt immer am Anfang eines USER-Rollenwechsels. Systemanweisungen und alle BidiGenerateContentSetup.prefixTurns bleiben immer am Anfang des Ergebnisses.
| Felder | |
|---|---|
targetTokens |
Die Zielanzahl der beizubehaltenden Tokens. Der Standardwert ist „trigger_tokens/2“. Wenn Teile des Kontextfensters verworfen werden, führt das zu einer vorübergehenden Erhöhung der Latenz. Dieser Wert sollte daher so kalibriert werden, dass häufige Komprimierungsvorgänge vermieden werden. |
StartSensitivity
Bestimmt, wie der Beginn der Sprache erkannt wird.
| Enums | |
|---|---|
START_SENSITIVITY_UNSPECIFIED |
Die Standardeinstellung ist START_SENSITIVITY_HIGH. |
START_SENSITIVITY_HIGH |
Bei der automatischen Erkennung wird der Beginn der Sprache häufiger erkannt. |
START_SENSITIVITY_LOW |
Die automatische Erkennung erkennt den Beginn der Sprache seltener. |
TurnCoverage
Optionen dazu, welche Eingabe in den Zug des Nutzers einbezogen wird.
| Enums | |
|---|---|
TURN_COVERAGE_UNSPECIFIED |
Wenn nichts angegeben ist, wird basierend auf dem Modell ein Standardverhalten ausgewählt. Für Gemini 2.5 ist der Standardwert beispielsweise TURN_INCLUDES_ONLY_ACTIVITY, für Gemini 3.1 und höher TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO. |
TURN_INCLUDES_ONLY_ACTIVITY |
Umfasst Aktivitäten seit dem letzten Zug, ausgenommen Inaktivität (z.B. Stille im Audiostream). |
TURN_INCLUDES_ALL_INPUT |
Enthält alle Echtzeit-Eingaben seit dem letzten Zug, einschließlich Inaktivität (z.B. Stille im Audiostream). |
TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO |
Enthält Audioaktivitäten und alle Videos seit dem letzten Zug. Bei der automatischen Aktivitätserkennung bezieht sich die Audioaktivität auf Sprache und nicht auf Stille. |
TranslationConfig
Konfiguration für Übersetzungsfunktionen.
| Felder | |
|---|---|
targetLanguageCode |
Erforderlich. Die Zielsprache für die Übersetzung. Unterstützte Werte sind BCP-47-Sprachcodes (z.B. „en“, „es“, „fr“). |
echoTargetLanguage |
Optional. Wenn „true“, generiert das Modell Audio, wenn die Zielsprache gesprochen wird. Es wiederholt also die Eingabe. Wenn „false“, wird kein Audio für die Zielsprache erstellt. |
UrlContextMetadata
Metadaten im Zusammenhang mit dem Tool zum Abrufen des URL-Kontexts.
| Felder | |
|---|---|
urlMetadata[] |
Liste des URL-Kontexts. |
UsageMetadata
Nutzungsmetadaten zu Antworten.
| Felder | |
|---|---|
promptTokenCount |
Nur Ausgabe. Anzahl der Tokens im Prompt. Wenn |
cachedContentTokenCount |
Anzahl der Tokens im im Cache gespeicherten Teil des Prompts (im Cache gespeicherte Inhalte) |
responseTokenCount |
Nur Ausgabe. Gesamtzahl der Tokens für alle generierten Antwortvorschläge. |
toolUsePromptTokenCount |
Nur Ausgabe. Anzahl der Tokens in den Tool-Nutzungs-Prompts. |
thoughtsTokenCount |
Nur Ausgabe. Anzahl der Tokens für Gedanken für Thinking-Modelle. |
totalTokenCount |
Nur Ausgabe. Gesamtzahl der Tokens für die Generierungsanfrage (Prompt + Antwortkandidaten). |
promptTokensDetails[] |
Nur Ausgabe. Liste der Modalitäten, die in der Anfrage verarbeitet wurden. |
cacheTokensDetails[] |
Nur Ausgabe. Liste der Modalitäten der im Cache gespeicherten Inhalte in der Anfrageeingabe. |
responseTokensDetails[] |
Nur Ausgabe. Liste der Modalitäten, die in der Antwort zurückgegeben wurden. |
toolUsePromptTokensDetails[] |
Nur Ausgabe. Liste der Modalitäten, die für Eingaben von Tool-Nutzungsanfragen verarbeitet wurden. |
Einmalige Authentifizierungstokens
Temporäre Authentifizierungstokens können durch Aufrufen von AuthTokenService.CreateToken abgerufen und dann mit GenerativeService.BidiGenerateContentConstrained verwendet werden. Dazu wird das Token entweder in einem access_token-Abfrageparameter oder in einem HTTP-Authorization-Header mit dem Präfix „Token“ übergeben.
CreateAuthTokenRequest
Ein temporäres Authentifizierungstoken erstellen.
| Felder | |
|---|---|
authToken |
Erforderlich. Das zu erstellende Token. |
AuthToken
Eine Anfrage zum Erstellen eines temporären Authentifizierungstokens.
| Felder | |
|---|---|
name |
Nur Ausgabe. ID. Das Token selbst. |
expireTime |
Optional. Nur Eingabe. Nicht veränderbar. Eine optionale Zeit, nach der Nachrichten in BidiGenerateContent-Sitzungen abgelehnt werden, wenn das resultierende Token verwendet wird. Gemini kann die Sitzung nach dieser Zeit auch vorzeitig schließen. Wenn nichts anderes festgelegt ist, wird standardmäßig ein Zeitpunkt 30 Minuten in der Zukunft verwendet. Wenn dieser Wert festgelegt ist, darf er nicht mehr als 20 Stunden in der Zukunft liegen. |
newSessionExpireTime |
Optional. Nur Eingabe. Nicht veränderbar. Die Zeit, nach der neue Live API-Sitzungen mit dem Token, das aus dieser Anfrage resultiert, abgelehnt werden. Wenn nichts anderes festgelegt ist, beträgt der Wert standardmäßig 60 Sekunden in der Zukunft. Wenn dieser Wert festgelegt ist, darf er nicht mehr als 20 Stunden in der Zukunft liegen. |
fieldMask |
Optional. Nur Eingabe. Nicht veränderbar. Wenn field_mask leer ist und Wenn „field_mask“ leer ist und Wenn „field_mask“ nicht leer ist, werden die entsprechenden Felder aus |
Union-Feld config. Die methodenspezifische Konfiguration für das resultierende Token. Für config ist nur einer der folgenden Werte zulässig: |
|
bidiGenerateContentSetup |
Optional. Nur Eingabe. Nicht veränderbar. Konfiguration speziell für |
uses |
Optional. Nur Eingabe. Nicht veränderbar. Wie oft das Token verwendet werden kann. Wenn dieser Wert null ist, wird kein Limit angewendet. Das Fortsetzen einer Live API-Sitzung wird nicht als Nutzung gezählt. Wenn nicht angegeben, ist der Standardwert 1. |
Weitere Informationen zu gängigen Typen
Weitere Informationen zu den häufig verwendeten API-Ressourcentypen Blob, Content, FunctionCall, FunctionResponse, GenerationConfig, GroundingMetadata, ModalityTokenCount und Tool finden Sie unter Inhalte generieren.