Le paiement à l'utilisation Flex (Flex PayGo) est une option économique pour accéder aux modèles Gemini pour les charges de travail non critiques qui peuvent tolérer des temps de réponse plus longs et une limitation plus élevée. Flex Paygo offre une remise de 50 % par rapport à Standard Paygo.
Quand utiliser Flex PayGo ?
Flex PayGo est idéal pour les tâches synchrones, tolérantes à la latence et non critiques qui ne sont pas urgentes. Voici des exemples de cas d'utilisation :
Analyse hors connexion de fichiers texte, de documents, d'images, de fichiers audio et vidéo
Évaluation des qualités du modèle
Annotation et étiquetage des données
Traduction de documents
Créer un catalogue de produits
Modèles et zones géographiques compatibles
Les modèles Gemini en preview suivants sont compatibles avec le paiement à l'utilisation flexible dans le point de terminaison global uniquement. Le paiement à l'utilisation flexible n'est pas compatible avec les points de terminaison régionaux ni multirégionaux.
Utiliser Flex PayGo
Pour envoyer des requêtes à l'API Gemini à l'aide de Flex PayGo, vous devez inclure l'en-tête X-Vertex-AI-LLM-Shared-Request-Type dans votre requête. Vous pouvez utiliser Flex PayGo de deux manières :
Utilisez le quota de débit provisionné (si disponible), puis utilisez le paiement à l'utilisation flexible.
Utilisez uniquement Flex PayGo.
Notez que les requêtes qui utilisent Flex PayGo ont une latence plus longue que celles qui utilisent Standard PayGo. Le délai avant expiration par défaut est de 20 minutes. Vous pouvez le remplacer (en millisecondes) à l'aide du paramètre timeout. La valeur maximale autorisée est de 30 minutes.
Utiliser le paiement à l'utilisation Flex avec le débit provisionné par défaut
Pour utiliser tout quota de débit provisionné disponible avant d'utiliser le paiement à l'utilisation flexible, incluez l'en-tête X-Vertex-AI-LLM-Shared-Request-Type: flex dans vos requêtes, comme indiqué dans les exemples suivants.
Python
Installer
pip install --upgrade google-genai
Pour en savoir plus, consultez la documentation de référence du SDK.
Définissez des variables d'environnement pour utiliser le SDK Gen AI avec Vertex AI :
# 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_VERTEXAI=True
Initialisez votre client d'IA générative pour utiliser Flex PayGo. Après avoir effectué cette étape, vous n'aurez plus besoin d'ajuster votre code pour interagir avec l'API Gemini à l'aide du paiement à l'utilisation flexible sur le même client.
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
Une fois que vous avez configuré votre environnement, vous pouvez utiliser REST pour tester un prompt textuel. L'exemple suivant envoie une requête au point de terminaison du modèle de l'éditeur.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_ID: ID de votre projetMODEL_ID: ID du modèle pour lequel vous souhaitez initialiser Flex PayGo. Pour obtenir la liste des modèles compatibles avec le paiement à l'utilisation Flex, consultez Versions de modèle.PROMPT_TEXT: instructions textuelles à inclure dans le prompt. 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" \ # Timeout in milliseconds
-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" }
}
}'
Vous devriez recevoir une réponse JSON semblable à la suivante.
{
"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
}
}
- Utilisez la méthode
generateContentpour demander que la réponse soit renvoyée une fois qu'elle a été entièrement générée. Pour réduire la perception de la latence auprès d'un public humain, affichez la réponse progressivement à mesure qu'elle est générée à l'aide de la méthodestreamGenerateContent. - L'ID du modèle multimodal se trouve à la fin de l'URL avant la méthode (par exemple,
gemini-2.0-flash). Cet exemple peut également s'appliquer à d'autres modèles.
Utiliser uniquement Flex PayGo
Pour utiliser uniquement Flex PayGo, incluez les en-têtes X-Vertex-AI-LLM-Request-Type: shared et X-Vertex-AI-LLM-Shared-Request-Type: flex dans vos requêtes, comme illustré dans les exemples suivants.
Python
Installer
pip install --upgrade google-genai
Pour en savoir plus, consultez la documentation de référence du SDK.
Définissez des variables d'environnement pour utiliser le SDK Gen AI avec Vertex AI :
# 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_VERTEXAI=True
Initialisez votre client d'IA générative pour utiliser Flex PayGo. Après avoir effectué cette étape, vous n'aurez plus besoin d'ajuster votre code pour interagir avec l'API Gemini à l'aide du paiement à l'utilisation flexible sur le même client.
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
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID: ID de votre projetMODEL_ID: ID du modèle pour lequel vous souhaitez initialiser Flex PayGo. Pour obtenir la liste des modèles compatibles avec le paiement à l'utilisation Flex, consultez Versions de modèle.PROMPT_TEXT: instructions textuelles à inclure dans le prompt. 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" \ # Timeout in milliseconds
-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" }
}
}'
Vous devriez recevoir une réponse JSON semblable à la suivante.
{
"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
}
}
- Utilisez la méthode
generateContentpour demander que la réponse soit renvoyée une fois qu'elle a été entièrement générée. Pour réduire la perception de la latence auprès d'un public humain, affichez la réponse progressivement à mesure qu'elle est générée à l'aide de la méthodestreamGenerateContent. - L'ID du modèle multimodal se trouve à la fin de l'URL avant la méthode (par exemple,
gemini-2.0-flash). Cet exemple peut également s'appliquer à d'autres modèles.
Vérifier l'utilisation de Flex PayGo
Vous pouvez vérifier si une demande a utilisé Flex PayGo à partir du type de trafic dans la réponse, comme illustré dans les exemples suivants.
Python
Vous pouvez vérifier si Flex PayGo a été utilisé pour une demande à partir du champ traffic_type de la réponse. Si votre demande a été traitée avec Flex PayGo, le champ traffic_type est défini sur 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
Vous pouvez vérifier si Flex PayGo a été utilisé pour une demande à partir du champ trafficType de la réponse. Si votre demande a été traitée avec Flex PayGo, le champ trafficType est défini sur 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
}
}Quota supplémentaire pour le paiement à l'utilisation flexible
En plus des quotas disponibles pour les requêtes de génération de contenu (y compris le quota de débit provisionné pour le trafic de débordement), les requêtes utilisant Flex PayGo sont soumises au quota suivant :
| Description | QPM pour chaque modèle de base d'un projet |
|---|---|
| Quota pour chaque modèle de base dans les requêtes de projet utilisant Flex PayGo | 3000 |
Étapes suivantes
- Pour en savoir plus sur les quotas et les limites de Vertex AI, consultez la section Quotas et limites de Vertex AI.
- Pour en savoir plus sur les quotas et les limites du système Google Cloud , consultez la documentation sur les quotas Cloud.