Flex 即付即用 (Flex PayGo) 方案符合成本效益,適合用於非關鍵工作負載,可存取 Gemini 模型,並可容忍較長的回應時間和較高的節流。Flex PayGo 的費用比標準 PayGo 便宜 50%。
Flex PayGo 的使用時機
Flex PayGo 適合用於同步、可容忍延遲、非關鍵且不具時效性的工作。以下是用途範例:
離線分析文字、文件、圖片、音訊和影片檔案
評估模型品質
資料加註和標籤
文件翻譯
建立產品目錄
支援的模型和位置
下列 Gemini 模型僅在 global 端點支援 Flex PayGo。Flex PayGo 不支援區域或多區域端點。
gemini-3.8-flash-cybergemini-3.8-flashgemini-3.7-flashgemini-3.6-flashgemini-3.5-flash-litegemini-3.1-flash-lite-imagegemini-3-pro-imagegemini-3.1-flash-imagegemini-3.5-flashgemini-3.1-flash-litegemini-3.1-pro-previewgemini-3-flash-preview
要求酬載限制
如果要求直接在主體中包含酬載,Flex PayGo 要求的酬載總大小上限為 20 MB。如要處理較大的檔案,請在要求中提供 Cloud Storage URI。
使用 Flex PayGo
如要使用 Flex PayGo 向 Gemini API 傳送要求,請務必在要求中加入 X-Vertex-AI-LLM-Shared-Request-Type 標頭。Flex PayGo 有兩種使用方式:
先使用佈建輸送量配額 (如有),再使用彈性即付即用。
僅使用 Flex PayGo。
請注意,使用 Flex PayGo 的要求預期延遲時間會比 Standard PayGo 長。
要求逾時時間最長可設為 30 分鐘。
使用 Flex PayGo,並將佈建輸送量設為預設
如要在使用彈性隨用隨付方案前,先用完所有可用的佈建輸送量配額,請在要求中加入 X-Vertex-AI-LLM-Shared-Request-Type: flex 標頭,如下列範例所示。
Python
安裝
pip install --upgrade google-genai
詳情請參閱 SDK 參考文件。
設定環境變數,透過 Vertex AI 使用 Google Gen AI SDK:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
初始化生成式 AI 用戶端,即可使用 Flex PayGo。完成這個步驟後,您就不需要進一步調整程式碼,即可在同一個用戶端上使用 Flex PayGo 與 Gemini API 互動。
from google import genai from google.genai.types import HttpOptions client = genai.Client( vertexai=True, project='your_project_id', location='global', http_options=HttpOptions( api_version="v1", headers={ "X-Vertex-AI-LLM-Shared-Request-Type": "flex" }, # timeout = 600000 # Timeout in milliseconds ) )
REST
設定環境後,您可以使用 REST 測試文字提示詞。下列範例會將要求傳送至發布者模型端點。
使用任何要求資料之前,請先修改下列項目的值。
PROJECT_ID: 您的專案 ID。 。MODEL_ID:要初始化 Flex PayGo 的模型 ID。如要查看支援 Flex PayGo 的模型清單,請參閱「模型版本」。PROMPT_TEXT: 要加入提示的文字指令。 JSON。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-H "X-Server-Timeout: 600" \
-H "X-Vertex-AI-LLM-Shared-Request-Type: flex" \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/MODEL_ID:generateContent" -d \
$'{
"contents": {
"role": "model",
"parts": { "text": "PROMPT_TEXT" }
}
}'
您應該會收到如下的 JSON 回覆。
{
"candidates": [
{
"content": {
"role": "model",
"parts": [
{
"text": "Response to sample request."
}
]
},
"finishReason": "STOP"
}
],
"usageMetadata": {
"promptTokenCount": 3,
"candidatesTokenCount": 900,
"totalTokenCount": 1957,
"trafficType": "ON_DEMAND_FLEX",
"thoughtsTokenCount": 1054
}
}
- 使用
generateContent方法,要求在回覆完全生成後傳回。如要減少人類觀眾對延遲時間的感知,請使用streamGenerateContent方法,在生成回覆時串流回覆。 - 多模態模型 ID 位於網址結尾,方法之前 (例如
gemini-3.5-flash)。這個範例也可能支援其他模型。 - 使用區域 API 端點 (例如
us-central1) 時,系統會根據端點網址中的區域,決定處理要求的位置。系統會忽略資源路徑中任何衝突的位置。
僅使用 Flex PayGo
如要只使用 Flex PayGo,請在要求中加入 X-Vertex-AI-LLM-Request-Type: shared 和 X-Vertex-AI-LLM-Shared-Request-Type: flex 標頭,如下列範例所示。
Python
安裝
pip install --upgrade google-genai
詳情請參閱 SDK 參考文件。
設定環境變數,以便透過 Vertex AI 使用 Google Gen AI SDK:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
初始化生成式 AI 用戶端,即可使用 Flex PayGo。完成這個步驟後,您就不需要進一步調整程式碼,即可在同一個用戶端上使用 Flex PayGo 與 Gemini API 互動。
from google import genai from google.genai.types import HttpOptions client = genai.Client( vertexai=True, project='your_project_id', location='global', http_options=HttpOptions( api_version="v1", headers={ "X-Vertex-AI-LLM-Request-Type": "shared", "X-Vertex-AI-LLM-Shared-Request-Type": "flex" }, # timeout = 600000 # Timeout in milliseconds ) )
REST
使用任何要求資料之前,請先替換以下項目:
PROJECT_ID:您的專案 ID。。MODEL_ID:要初始化 Flex PayGo 的模型 ID。如要查看支援 Flex PayGo 的模型清單,請參閱「模型版本」。PROMPT_TEXT:要加入提示的文字指令。JSON。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-H "X-Server-Timeout: 600" \
-H "X-Vertex-AI-LLM-Request-Type: shared" \
-H "X-Vertex-AI-LLM-Shared-Request-Type: flex" \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/MODEL_ID:generateContent" -d \
$'{
"contents": {
"role": "model",
"parts": { "text": "PROMPT_TEXT" }
}
}'
您應該會收到如下的 JSON 回覆。
{
"candidates": [
{
"content": {
"role": "model",
"parts": [
{
"text": "Response to sample request."
}
]
},
"finishReason": "STOP"
}
],
"usageMetadata": {
"promptTokenCount": 3,
"candidatesTokenCount": 900,
"totalTokenCount": 1957,
"trafficType": "ON_DEMAND_FLEX",
"thoughtsTokenCount": 1054
}
}
- 使用
generateContent方法,要求在回覆完全生成後傳回。如要減少人類觀眾對延遲時間的感知,請使用streamGenerateContent方法,在生成回覆時串流回覆。 - 多模態模型 ID 位於網址結尾,在方法之前 (例如
gemini-3.5-flash)。這個範例可能也支援其他模型。 - 使用區域 API 端點 (例如
us-central1) 時,系統會根據端點網址中的區域,決定處理要求的位置。系統會忽略資源路徑中任何衝突的位置。
驗證彈性隨用隨付方案用量
如要確認要求是否使用彈性隨用隨付方案,請查看回應中的流量類型,如下列範例所示。
Python
您可以驗證是否已針對回應中的 traffic_type 欄位要求使用彈性隨用隨付方案。如果要求是使用 Flex PayGo 處理,traffic_type 欄位會設為 ON_DEMAND_FLEX。
sdk_http_response=HttpResponse( headers=) candidates=[Candidate( avg_logprobs=-0.539712212302468, content=Content( parts=[ Part( text="""Response to sample request. """ ), ], role='model' ), finish_reason=<FinishReason.STOP: 'STOP'> )] create_time=datetime.datetime(2025, 12, 3, 20, 32, 55, 916498, tzinfo=TzInfo(0)) model_version='gemini-2.5-flash' prompt_feedback=None response_id='response_id' usage_metadata=GenerateContentResponseUsageMetadata( candidates_token_count=1408, candidates_tokens_details=[ ModalityTokenCount( modality=<MediaModality.TEXT: 'TEXT'>, token_count=1408 ), ], prompt_token_count=5, prompt_tokens_details=[ ModalityTokenCount( modality=<MediaModality.TEXT: 'TEXT'>, token_count=5 ), ], thoughts_token_count=1356, total_token_count=2769, traffic_type=<TrafficType.ON_DEMAND_FLEX: 'ON_DEMAND_FLEX'> ) automatic_function_calling_history=[] parsed=None
REST
您可以驗證是否已針對回應中的 trafficType 欄位要求使用彈性隨用隨付方案。如果您的要求是透過 Flex PayGo 處理,則 trafficType 欄位會設為 ON_DEMAND_FLEX。
{
"candidates": [
{
"content": {
"role": "model",
"parts": [
{
"text": "Response to sample request."
}
]
},
"finishReason": "STOP"
}
],
"usageMetadata": {
"promptTokenCount": 3,
"candidatesTokenCount": 900,
"totalTokenCount": 1957,
"trafficType": "ON_DEMAND_FLEX",
"thoughtsTokenCount": 1054
}
}Flex PayGo 的額外配額
除了內容生成要求的可用配額 (包括溢出流量的佈建輸送量配額) 之外,使用 Flex PayGo 的要求也須遵守下列配額:
| 說明 | 專案中每個基礎模型的 QPM |
|---|---|
| 專案中各基礎模型的配額,要求使用 Flex 即付即用 | 3000 |