Live API - WebSockets API reference

Live API 是使用 WebSockets 的有狀態 API。本節將提供 WebSockets API 的其他詳細資料。

工作階段

WebSocket 連線會在用戶端和 Gemini 伺服器之間建立工作階段。用戶端啟動新連線後,工作階段可以與伺服器交換訊息,以便:

  • 將文字、音訊或影片傳送至 Gemini 伺服器。
  • 接收來自 Gemini 伺服器的音訊、文字或函式呼叫要求。

WebSocket 連線

如要啟動工作階段,請連線至這個 WebSocket 端點:

wss://generativelanguage.googleapis.com/ws/google.ai.generativelanguage.v1beta.GenerativeService.BidiGenerateContent

工作階段設定

建立 WebSocket 連線後傳送的初始訊息會設定工作階段設定,包括模型、生成參數、系統指令和工具。

連線開啟時無法更新設定。不過,透過工作階段續傳機制暫停及繼續時,您可以變更設定參數 (模型除外)。

請參閱以下設定範例。請注意,SDK 中的名稱大小寫可能有所不同。如要查詢 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]
}

如要進一步瞭解 API 欄位,請參閱「generationConfig」。

傳送訊息

如要透過 WebSocket 連線交換訊息,用戶端必須透過開啟的 WebSocket 連線傳送 JSON 物件。JSON 物件必須只包含下列物件集中的一個欄位:


{
  "setup": BidiGenerateContentSetup,
  "clientContent": BidiGenerateContentClientContent,
  "realtimeInput": BidiGenerateContentRealtimeInput,
  "toolResponse": BidiGenerateContentToolResponse
}

支援的用戶端訊息

請參閱下表,瞭解支援的用戶端訊息:

訊息 說明
BidiGenerateContentSetup 要在第一則訊息中傳送的工作階段設定
BidiGenerateContentClientContent 用戶端傳送的目前對話增量內容更新
BidiGenerateContentRealtimeInput 即時音訊、影片或文字輸入
BidiGenerateContentToolResponse 回應伺服器傳回的 ToolCallMessage

接收訊息

如要接收 Gemini 傳送的訊息,請監聽 WebSocket 的「message」事件,然後根據支援的伺服器訊息定義剖析結果。

請參閱以下資訊:

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)

伺服器訊息可能含有 usageMetadata 欄位,但會BidiGenerateContentServerMessage訊息中BidiGenerateContentServerMessage包含BidiGenerateContentServerMessage其他欄位。(messageType 聯集不會以 JSON 表示,因此欄位會顯示在訊息的頂層)。

訊息和活動

ActivityEnd

這個類型沒有任何欄位。

標記使用者活動的結束時間。

ActivityHandling

處理使用者活動的不同方式。

列舉
ACTIVITY_HANDLING_UNSPECIFIED 如未指定,預設行為為 START_OF_ACTIVITY_INTERRUPTS。
START_OF_ACTIVITY_INTERRUPTS 如果設為 true,活動開始時會中斷模型的回覆 (也稱為「插話」)。模型目前的回覆會在您中斷時停止。此為預設行為。
NO_INTERRUPTION 模型不會中斷回覆。

ActivityStart

這個類型沒有任何欄位。

標記使用者活動的開始時間。

AudioTranscriptionConfig

音訊轉錄設定。

欄位
languageCodes[]

string

(選用步驟) BCP-47 語言代碼,提供音訊中語言的提示。如果省略或留空,系統會預設為自動偵測語言。

customVocabulary[]

string

(選用步驟) 自訂詞彙詞組清單,可引導語音辨識模型辨識特定字詞 (產品名稱、專有名詞、專業術語)。

wordTimestamp

bool

(選用步驟) 設定字詞層級時間戳記的產生方式。

diarization

bool

(選用步驟) 設定說話者分段標記。

mode

Mode

(選用步驟) 設定轉錄模式。支援的值:VERBATIM、SMART。如未指定,則預設為 VERBATIM 轉錄。在 SMART 模式中,模型會移除贅字 (消除贅字、重複內容和錯誤開頭)、進行輕微的文法清理、自動格式化 (段落、項目符號、編號清單),以及進行小幅度的使用者編輯 (即時自我修正)。時間戳記和說話者區分功能與模式 SMART 不相容。

模式

轉錄模式。

列舉
MODE_UNSPECIFIED 未指定轉錄模式。
VERBATIM 逐字轉錄模式。
SMART 智慧轉錄模式。

AutomaticActivityDetection

設定自動偵測活動。

欄位
disabled

bool

(選用步驟) 啟用此覆寫值時 (預設為啟用),系統會將偵測到的語音和文字輸入視為活動。如果停用,用戶端就必須傳送活動信號。

startOfSpeechSensitivity

StartSensitivity

(選用步驟) 決定偵測到語音的機率。

prefixPaddingMs

int32

(選用步驟) 系統偵測到語音後,必須經過這段時間,才會開始轉錄語音。這個值越低,語音開始偵測的靈敏度就越高,可辨識的語音長度就越短。但這也會提高偽陽性的機率。

endOfSpeechSensitivity

EndSensitivity

(選用步驟) 決定偵測到的語音結束的可能性。

silenceDurationMs

int32

(選用步驟) 系統偵測到非語音內容 (例如無聲) 的必要時間長度,之後才會提交語音結尾。這個值越大,語音間隔時間就越長,不會中斷使用者活動,但會增加模型延遲。

BidiGenerateContentClientContent

從用戶端傳送的目前對話增量更新。系統會將這裡的所有內容無條件附加至對話記錄,並做為提示的一部分,供模型生成內容。

在這裡傳送訊息會中斷目前模型的生成作業。

欄位
turns[]

Content

(選用步驟) 附加至目前與模型對話的內容。

如果是單輪查詢,則為單一執行個體。如果是多輪查詢,這個重複欄位會包含對話記錄和最新要求。

turnComplete

bool

(選用步驟) 如果為 true,表示伺服器內容生成作業應從目前累積的提示開始。否則,伺服器會等待其他訊息,再開始生成內容。

BidiGenerateContentRealtimeInput

即時傳送的使用者輸入內容。

系統會將不同模態 (音訊、影片和文字) 視為並行串流處理。我們無法保證這些串流的順序。

這與 BidiGenerateContentClientContent 有幾項不同之處:

  • 可持續傳送,不會中斷模型生成作業。
  • 如果需要混合交錯於 BidiGenerateContentClientContent 和 BidiGenerateContentRealtimeInput 的資料,伺服器會盡量提供最佳回應,但無法保證結果。
  • 系統不會明確指定回合結束,而是根據使用者活動 (例如語音結束) 推斷。
  • 即使在輪流對話結束前,系統也會逐步處理資料,盡快開始生成模型回覆。
欄位
mediaChunks[]

Blob

(選用步驟) 媒體輸入內容的內嵌位元組資料。系統不支援多個 mediaChunks,只會處理第一個,其餘都會忽略。

已淘汰:請改用 audio、video 或 text。

audio

Blob

(選用步驟) 這些會形成即時音訊輸入串流。

video

Blob

(選用步驟) 這些會形成即時影片輸入串流。

activityStart

ActivityStart

(選用步驟) 標記使用者活動的開始時間。只有在停用自動 (即伺服器端) 活動偵測時,才能傳送這項資料。

activityEnd

ActivityEnd

(選用步驟) 標記使用者活動的結束時間。只有在停用自動 (即伺服器端) 活動偵測功能時,才能傳送這項資料。

mediaResolution

MediaResolution

(選用步驟) 要使用的媒體解析度。如未指定,會使用 setup.generationConfig.mediaResolution;如果未提供設定,則會使用預設值。

audioStreamEnd

bool

(選用步驟) 表示音訊串流已結束,例如麥克風已關閉。

只有在啟用自動活動偵測功能 (預設為啟用) 時,才應傳送這項資料。

用戶端可以傳送語音訊息,重新開啟串流。

text

string

(選用步驟) 這些內容會構成即時文字輸入串流。

BidiGenerateContentServerContent

模型根據用戶端訊息產生的伺服器更新增量。

系統會盡快生成內容,但不會即時生成。用戶端可以選擇緩衝處理並即時播放。

欄位
generationComplete

bool

僅供輸出。如為 true,表示模型已完成生成。

如果模型在生成內容時中斷,中斷的輪次中不會有「generation_complete」訊息,而是會經歷「interrupted > turn_complete」。

如果模型假設為即時播放,模型會等待播放完畢,因此 generation_complete 和 turn_complete 之間會出現延遲。

turnComplete

bool

僅供輸出。如為 true,表示模型已完成回合。只有在收到其他用戶端訊息時,系統才會開始生成回覆。請注意,啟用播放狀態回報功能後,只有在播放狀態顯示播放完畢時,系統才會發出這項事件。系統會忽略同一代裝置的後續播放狀態。

interrupted

bool

僅供輸出。如果為 true,表示用戶端訊息已中斷目前模型生成作業。如果用戶端正在即時播放內容,這就是停止並清空目前播放佇列的好時機。

groundingMetadata

GroundingMetadata

僅供輸出。生成內容的基礎中繼資料。

inputTranscription

BidiGenerateContentTranscription

僅供輸出。輸入音訊轉錄稿。轉錄稿會獨立傳送,不會與其他伺服器訊息一起傳送,且無法保證順序。

interimInputTranscription

BidiGenerateContentTranscription

僅供輸出。低延遲轉錄功能會在使用者說話時更新內容,這個欄位會經常更新。

outputTranscription

BidiGenerateContentTranscription

僅供輸出。輸出音訊轉錄稿。這些轉錄稿是伺服器生成內容的一部分。系統會在 generationComplete 或 interrupted 之前傳送這輪對話的最後一個輸出轉錄內容,接著傳送 turnComplete。我們無法保證轉錄稿和其他 modelTurn 輸出內容的確切順序,但伺服器會盡量傳送與相應音訊輸出內容相近的轉錄稿。

urlContextMetadata

UrlContextMetadata

waitingForInput

bool

僅供輸出。如果為 true,表示模型正在等待使用者提供更多輸入內容,因此不會生成內容,例如等待使用者繼續對話。

interactionStatus

InteractionStatus

僅供輸出。即時工作階段的目前活動狀態。一律與 turnComplete 一併傳送。

modelTurn

Content

僅供輸出。模型在與使用者進行目前對話時生成的內容。

BidiGenerateContentServerMessage

BidiGenerateContent 呼叫的回應訊息。

欄位
usageMetadata

UsageMetadata

僅供輸出。回覆的使用情況中繼資料。

voiceActivity

VoiceActivity

僅供輸出。音訊串流中偵測到語音活動。

聯集欄位 messageType。訊息類型。messageType 只能是下列其中一項:
setupComplete

BidiGenerateContentSetupComplete

僅供輸出。設定完成後,系統會傳送這則訊息,回應用戶端的 BidiGenerateContentSetup 訊息。

serverContent

BidiGenerateContentServerContent

僅供輸出。模型根據用戶端訊息生成的內容。

toolCall

BidiGenerateContentToolCall

僅供輸出。要求用戶端執行 functionCalls,並傳回相符 id 的回應。

toolCallCancellation

BidiGenerateContentToolCallCancellation

僅供輸出。通知客戶先前核發的ToolCallMessage應取消,並指定id。

goAway

GoAway

僅供輸出。伺服器即將中斷連線的通知。

sessionResumptionUpdate

SessionResumptionUpdate

僅供輸出。更新工作階段續傳狀態。

BidiGenerateContentSetup

要在第一個 (且僅限第一個) BidiGenerateContentClientMessage 中傳送的訊息。包含在串流 RPC 期間套用的設定。

客戶應等待 BidiGenerateContentSetupComplete 訊息,再傳送任何其他訊息。

欄位
model

string

必填。模型的資源名稱。這是模型使用的 ID。

格式:models/{model}

generationConfig

GenerationConfig

(選用步驟) 生成設定。

系統不支援下列欄位:

  • responseLogprobs
  • responseMimeType
  • logprobs
  • responseSchema
  • responseJsonSchema
  • stopSequence
  • skipResponseCache
  • routingConfig
  • audioTimestamp
systemInstruction

Content

(選用步驟) 使用者為模型提供系統指令。

注意:各部分只能使用文字,且各部分的內容會分別顯示在不同段落。

tools[]

Tool

(選用步驟) 模型可能用來生成下一個回覆的Tools清單。

Tool是一段程式碼,可讓系統與外部系統互動,執行模型知識和範圍以外的動作或一連串動作。

realtimeInputConfig

RealtimeInputConfig

(選用步驟) 設定即時輸入內容的處理方式。

sessionResumption

SessionResumptionConfig

(選用步驟) 設定工作階段續傳機制。

如果包含,伺服器會傳送 SessionResumptionUpdate 訊息。

contextWindowCompression

ContextWindowCompressionConfig

(選用步驟) 設定內容視窗壓縮機制。

如果包含這項設定,伺服器會在脈絡超過設定長度時,自動縮減脈絡大小。

inputAudioTranscription

AudioTranscriptionConfig

(選用步驟) 如果設定此屬性,系統會啟用語音輸入轉錄功能。如果已設定,轉錄內容會與輸入音訊的語言一致。

outputAudioTranscription

AudioTranscriptionConfig

(選用步驟) 如果設定,系統會轉錄模型的音訊輸出內容。如果已設定,轉錄稿會與輸出音訊指定的語言代碼一致。

proactivity

ProactivityConfig

(選用步驟) 設定模型的積極程度。

模型就能主動回應輸入內容,並忽略無關的輸入內容。

historyConfig

HistoryConfig

(選用步驟) 設定用戶端與伺服器之間的記錄交換作業。

labels

map<string, string>

(選用步驟) 要求的使用者定義中繼資料標籤。

(選用步驟) 標籤必須符合標準的統一 Cloud 標籤規定:- 標籤鍵開頭須為英文字母。- 標籤鍵與值的長度不得超過 63 個字元 (Unicode 碼位),只能使用小寫英文字母、數字、底線和破折號。- 可以使用國際字元。

用法:- 匯總工具提供的安全 ID:使用 safety_identifier 鍵 (例如 {"safety_identifier": "user_session_123"})

BidiGenerateContentSetupComplete

這個類型沒有任何欄位。

用來回應用戶端的 BidiGenerateContentSetup 訊息。

BidiGenerateContentToolCall

要求用戶端執行 functionCalls,並傳回相符 id 的回應。

欄位
functionCalls[]

FunctionCall

僅供輸出。要執行的函式呼叫。

BidiGenerateContentToolCallCancellation

通知客戶先前發出的 ToolCallMessage (具有指定的 id) 不應執行,且應取消。如果這些工具呼叫產生副作用,用戶端可能會嘗試還原工具呼叫。只有在用戶端中斷伺服器回合時,才會出現這則訊息。

欄位
ids[]

string

僅供輸出。要取消的工具呼叫 ID。

BidiGenerateContentToolResponse

用戶端針對伺服器傳送的 ToolCall 產生回應。個別 FunctionResponse 物件會透過 id 欄位與對應的 FunctionCall 物件相符。

請注意,在 unary 和 server-streaming GenerateContent API 中,函式呼叫是透過交換 Content 部分進行,而在 bidi GenerateContent API 中,函式呼叫是透過這些專用訊息集進行。

欄位
functionResponses[]

FunctionResponse

(選用步驟) 函式呼叫的回應。

BidiGenerateContentTranscription

音訊 (輸入或輸出) 的轉錄稿。

欄位
text

string

轉錄稿文字。

languageCode

string

轉錄稿的 BCP-47 語言代碼。

startOffset

Duration

(選用步驟) 轉錄稿相對於音訊開頭的起始時間偏移。

endOffset

Duration

(選用步驟) 轉錄稿相對於音訊開頭的結束時間偏移。

ContextWindowCompressionConfig

啟用脈絡窗口壓縮功能,管理模型的脈絡窗口,確保不會超過指定長度。

欄位
聯集欄位 compressionMechanism。使用的背景期間壓縮機制。compressionMechanism 只能是下列其中一項:
slidingWindow

SlidingWindow

滑動視窗機制。

triggerTokens

int64

觸發脈絡窗口壓縮所需的權杖數量 (執行回合前)。

這可用於平衡品質與延遲,因為較短的脈絡窗口可能會加快模型回覆速度。不過,任何壓縮作業都會導致暫時延遲增加,因此不應頻繁觸發。

如未設定,預設值為模型內容視窗限制的 80%。這樣一來,下一個使用者要求/模型回應就會有 20% 的配額。

EndSensitivity

決定如何偵測語音結束。

列舉
END_SENSITIVITY_UNSPECIFIED 預設值為 END_SENSITIVITY_HIGH。
END_SENSITIVITY_HIGH 自動偵測功能會更常結束語音。
END_SENSITIVITY_LOW 自動偵測功能較少中斷語音。

GoAway

伺服器即將中斷連線的通知。

欄位
timeLeft

Duration

連線終止 (ABORTED) 前的剩餘時間。

這段時間絕不會低於模型專屬的最低時間,且會與模型的頻率限制一併指定。

HistoryConfig

記錄設定。

這則訊息會以 BidiGenerateContentSetup.historyConfig 的形式納入工作階段設定。設定歷史訊息的交換作業。

欄位
initialHistoryInClientContent

bool

(選用步驟) 如果為 true,伺服器會在傳送 setupComplete 後等待,並先處理 clientContent 訊息,直到 turnComplete 為 true 為止。這項初始記錄不會觸發模型呼叫,且可能以角色 MODEL 結尾。turnComplete 為 true 後,用戶端即可透過 realtimeInput 開始即時對話。

InteractionStatus

即時工作階段的不同活動狀態。這個欄位一律會與 turnComplete 一併傳送,指出伺服器是否已完成所有處理作業。

列舉
INTERACTION_STATUS_UNSPECIFIED 未指定互動狀態。
IN_PROGRESS 伺服器仍在積極處理使用者輸入內容或執行背景推理。模型可能會繼續輸出內容。
REQUIRES_ACTION

已淘汰:請改用 IDLE。

IDLE 伺服器已完成所有處理和背景推理作業。

ProactivityConfig

主動式功能設定。

欄位
proactiveAudio

bool

(選用步驟) 啟用後,模型可以拒絕回應最後一個提示。舉例來說,這可讓模型忽略與情境無關的語音,或在使用者尚未提出要求時保持靜默。

RealtimeInputConfig

設定 BidiGenerateContent 中的即時輸入行為。

欄位
automaticActivityDetection

AutomaticActivityDetection

(選用步驟) 如未設定,系統預設會啟用自動活動偵測功能。如果自動語音偵測功能已停用,用戶端必須傳送活動信號。

activityHandling

ActivityHandling

(選用步驟) 定義活動的影響。

turnCoverage

TurnCoverage

(選用步驟) 定義使用者回合中包含的輸入內容。

interimTranscriptTimestampEnabled

bool

(選用步驟) 設定臨時轉錄稿時間戳記。

SessionResumptionConfig

繼續工作階段設定。

這則訊息會以 BidiGenerateContentSetup.sessionResumption 的形式納入工作階段設定。如果已設定,伺服器會傳送 SessionResumptionUpdate 訊息。

欄位
handle

string

上一個工作階段的控制代碼。如果沒有,系統會建立新的工作階段。

工作階段控制代碼來自先前連線中的 SessionResumptionUpdate.token 值。

SessionResumptionUpdate

更新工作階段續傳狀態。

只有在設定 BidiGenerateContentSetup.sessionResumption 時才會傳送。

欄位
newHandle

string

代表可繼續狀態的新控制代碼。如果 resumable=false,則為空白。

resumable

bool

如果目前的工作階段可以在這個時間點恢復,則為 True。

在工作階段的某些時間點無法繼續。例如模型正在執行函式呼叫或生成內容時。在這種狀態下繼續工作階段 (使用先前的工作階段權杖) 會導致部分資料遺失。在這些情況下,newHandle 會是空白,而 resumable 則為 false。

SlidingWindow

SlidingWindow 方法的運作方式是捨棄內容視窗開頭的內容。產生的背景資訊一律會從 USER 角色回合的開頭開始。系統指令和任何 BidiGenerateContentSetup.prefixTurns 一律會顯示在結果開頭。

欄位
targetTokens

int64

要保留的目標權杖數量。預設值為 trigger_tokens/2。

捨棄部分內容視窗會導致暫時延遲增加,因此應校準這個值,避免頻繁的壓縮作業。

StartSensitivity

決定如何偵測語音的開始。

列舉
START_SENSITIVITY_UNSPECIFIED 預設值為 START_SENSITIVITY_HIGH。
START_SENSITIVITY_HIGH 自動偵測功能會更常偵測到語音開始。
START_SENSITIVITY_LOW 自動偵測功能會減少偵測到語音開始的時間。

TurnCoverage

選項:使用者回合中包含哪些輸入內容。

列舉
TURN_COVERAGE_UNSPECIFIED 如未指定,系統會根據模型選取預設行為。舉例來說,Gemini 2.5 的預設值為 TURN_INCLUDES_ONLY_ACTIVITY,Gemini 3.1 以上版本則為 TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO。
TURN_INCLUDES_ONLY_ACTIVITY 包括上次輪流發言後的活動,但不包括閒置狀態 (例如音訊串流靜音)。
TURN_INCLUDES_ALL_INPUT 包括自上次輪流發言以來的所有即時輸入內容,包括無活動狀態 (例如音訊串流中的無聲狀態)。
TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO 包括音訊活動和上回合以來的所有影片。如果啟用自動活動偵測功能,音訊活動是指語音,不包括無聲狀態。

TranslationConfig

翻譯功能設定。

欄位
targetLanguageCode

string

必填。譯文語言。支援的值為 BCP-47 語言代碼 (例如「en」、「es」、「fr」)。

echoTargetLanguage

bool

(選用步驟) 如果為 true,模型會在說出目標語言時生成音訊,基本上會模仿輸入內容。如果設為 False,系統就不會為目標語言生成音訊。

UrlContextMetadata

與網址背景資訊擷取工具相關的中繼資料。

欄位
urlMetadata[]

UrlMetadata

網址背景資訊清單。

UsageMetadata

回覆的使用情況中繼資料。

欄位
promptTokenCount

int32

僅供輸出。提示中的權杖數量。設定 cachedContent 時,這仍是有效提示的總大小,也就是說,這包括快取內容中的權杖數量。

cachedContentTokenCount

int32

提示快取部分 (快取內容) 的權杖數量

responseTokenCount

int32

僅供輸出。所有生成的候選回覆的詞元總數。

toolUsePromptTokenCount

int32

僅供輸出。工具使用提示中的權杖數量。

thoughtsTokenCount

int32

僅供輸出。思考型模型的思考過程所用的權杖數量。

totalTokenCount

int32

僅供輸出。生成要求 (提示 + 回覆候選項目) 的權杖總數。

promptTokensDetails[]

ModalityTokenCount

僅供輸出。要求輸入內容中處理的模態清單。

cacheTokensDetails[]

ModalityTokenCount

僅供輸出。要求輸入中快取內容的模式清單。

responseTokensDetails[]

ModalityTokenCount

僅供輸出。回應中傳回的模態清單。

toolUsePromptTokensDetails[]

ModalityTokenCount

僅供輸出。處理工具使用要求輸入內容的模態清單。

VoiceActivity

音訊串流中偵測到語音活動。

欄位
type

Type

僅供輸出。VAD(語音活動偵測) 信號的類型。

audioOffset

Duration

僅供輸出。在音訊時間中偵測到語音活動的時間,相對於音訊串流的開始時間。

類型

VAD 信號的類型。

列舉
TYPE_UNSPECIFIED 預設值為 UNSPECIFIED。
ACTIVITY_START 句子開頭信號。
ACTIVITY_END 句子結尾信號。

暫時性驗證權杖

呼叫 AuthTokenService.CreateToken 即可取得暫時性驗證權杖,然後透過 access_token 查詢參數或 HTTP Authorization 標頭 (權杖前置字串為「Token」),將權杖傳遞至 GenerativeService.BidiGenerateContentConstrained。

CreateAuthTokenRequest

建立臨時驗證權杖。

欄位
authToken

AuthToken

必填。要建立的權杖。

AuthToken

要求建立臨時驗證權杖。

欄位
name

string

僅供輸出。ID。權杖本身。

expireTime

Timestamp

(選用步驟) 僅限輸入。不可變動。(選用) 產生權杖後,如果使用該權杖,系統會拒絕 BidiGenerateContent 工作階段中的訊息。(Gemini 可能會在時間到期後提前關閉工作階段)。

如未設定,預設值為 30 分鐘後。如果設定這個值,必須比目前時間晚不到 20 小時。

newSessionExpireTime

Timestamp

(選用步驟) 僅限輸入。不可變動。這項要求產生的權杖失效後,新的 Live API 工作階段將遭到拒絕。

如未設定,預設值為 60 秒。如果設定這個值,必須比目前時間晚不到 20 小時。

fieldMask

FieldMask

(選用步驟) 僅限輸入。不可變動。如果 field_mask 為空,且沒有 bidiGenerateContentSetup,則有效 BidiGenerateContentSetup 訊息會取自 Live API 連線。

如果 field_mask 為空,且 bidiGenerateContentSetup 存在,則有效 BidiGenerateContentSetup 訊息會完全取自這項要求中的 bidiGenerateContentSetup。系統會忽略 Live API 連線的設定訊息。

如果 field_mask 不是空白,則 bidiGenerateContentSetup 中的對應欄位會覆寫 Live API 連線中設定訊息的欄位。

聯集欄位 config。產生權杖的方法專屬設定。config 只能是下列其中一項:
bidiGenerateContentSetup

BidiGenerateContentSetup

(選用步驟) 僅限輸入。不可變動。BidiGenerateContent 專用設定。

uses

int32

(選用步驟) 僅限輸入。不可變動。權杖可使用的次數。如果這個值為零,系統就不會套用任何限制。繼續使用 Live API 工作階段不計入用量。如未指定,預設值為 1。

進一步瞭解常見類型

如要進一步瞭解常用的 API 資源類型 Blob、Content、FunctionCall、FunctionResponse、GenerationConfig、GroundingMetadata、ModalityTokenCount 和 Tool,請參閱「生成內容」。