Flex 従量課金制(Flex PayGo)は、応答時間が長く、スロットリング率が高い重要度の低いワークロードで Gemini モデルにアクセスするための費用対効果の高いオプションです。Flex PayGo では、Standard PayGo と比較して 50% の割引が適用されます。
Flex PayGo を使用する場合
Flex PayGo は、同期型でレイテンシが許容され、時間的制約のない重要度の低いタスクに最適です。ユースケースの例を以下に示します。
- テキスト、ドキュメント、画像、音声、動画ファイルのオフライン分析
- モデルの品質の評価
- データのアノテーションとラベル付け
- ドキュメント翻訳
- 商品カタログの作成
サポートされているモデルと地域
次のプレビュー Gemini モデルは、global エンドポイントでのみ Flex PayGo をサポートしています。Flex PayGo は、リージョン エンドポイントまたはマルチリージョン エンドポイントをサポートしていません。
リクエストのペイロードの上限
Flex PayGo リクエストのペイロードの合計サイズの上限は 20 MB です。ペイロードが 20 MB を超える場合は、代わりに Cloud Storage URI を指定します。
Flex PayGo を使用する
Flex PayGo を使用して Gemini API にリクエストを送信するには、リクエストに X-Vertex-AI-LLM-Shared-Request-Type ヘッダーを含める必要があります。Flex PayGo は次の 2 つの方法で使用できます。
- プロビジョンド スループットの割り当て(利用可能な場合)を使用してから、Flex PayGo を使用します。
- Flex PayGo のみを使用します。
Flex PayGo を使用するリクエストは、Standard PayGo よりもレイテンシが長くなることが予想されます。
リクエスト タイムアウトは最大 30 分に設定できます。
PT をデフォルトとして使用しながら Flex PayGo を使用する
Flex PayGo を使用する前に利用可能な PT 割り当てを使用するには、次の例に示すように、リクエストにヘッダー 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
Flex PayGo を使用するように生成 AI クライアントを初期化します。この手順を完了すると、同じクライアントで 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
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID: 実際のプロジェクト ID。MODEL_ID: Flex PayGo を初期化するモデルのモデル ID。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
}
}
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
Flex PayGo を使用するように生成 AI クライアントを初期化します。この手順を完了すると、同じクライアントで 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。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
}
}
Flex PayGo の使用量を確認する
次の例に示すように、レスポンスのトラフィック タイプから、リクエストが Flex PayGo を使用したかどうかを確認できます。
Python
リクエストで Flex PayGo が使用されたかどうかは、レスポンスの 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
リクエストで Flex PayGo が使用されたかどうかは、レスポンスの 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 の追加割り当て
コンテンツ生成リクエストで使用可能な割り当て(スピルオーバー トラフィックの PT 割り当てを含む)に加えて、Flex PayGo を利用するリクエストには次の割り当てが適用されます。
| 説明 | プロジェクト内の各ベースモデルの QPM |
|---|---|
| Flex PayGo を利用するプロジェクト リクエストの各ベースモデルの割り当て | 3000 |