Flex PayGo

Le paiement à l'usage 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 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 emplacements compatibles

Les modèles Gemini suivants sont compatibles avec Flex PayGo dans le point de terminaison global uniquement. Flex PayGo n'est pas compatible avec les points de terminaison régionaux ou multirégionaux.

Limite de charge utile de la requête

La taille totale de la charge utile des requêtes Flex PayGo est limitée à 20 Mo pour les requêtes où la charge utile est incluse directement dans le corps de la requête. Pour traiter des fichiers plus volumineux, fournissez un URI Cloud Storage dans votre requête.

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 Flex PayGo.

  • Utiliser uniquement Flex PayGo.

Notez que les requêtes qui utilisent Flex PayGo ont une latence attendue plus longue que celles qui utilisent Standard PayGo.

Vous pouvez définir le délai avant expiration de la requête sur 30 minutes maximum.

Utiliser Flex PayGo tout en utilisant le débit provisionné par défaut

Pour utiliser tout quota de débit provisionné disponible avant d'utiliser Flex PayGo, 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 Google 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_ENTERPRISE=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'apporter d'autres modifications à votre code pour interagir avec l'API Gemini à l'aide de Flex PayGo 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, effectuez les remplacements suivants.

  • PROJECT_ID : l'ID de votre projet. .
  • MODEL_ID : ID du modèle pour lequel vous souhaitez initialiser Flex PayGo. Pour obtenir la liste des modèles compatibles avec Flex PayGo, 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" \
  -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
  }
}
Notez les points suivants dans l'URL de cet exemple :
  • Utilisez la méthode generateContent pour 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éthode streamGenerateContent.
  • L'ID du modèle multimodal se trouve à la fin de l'URL avant la méthode (par exemple, gemini-3.5-flash). Cet exemple peut également s'appliquer à d'autres modèles.
  • Lorsque vous utilisez un point de terminaison d'API régional (par exemple, us-central1), la région de l'URL du point de terminaison détermine l'emplacement où la requête est traitée. Tout emplacement en conflit dans le chemin d'accès de la ressource est ignoré.

Utiliser uniquement Flex PayGo

Pour n'utiliser que 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 Google 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_ENTERPRISE=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'apporter d'autres modifications à votre code pour interagir avec l'API Gemini à l'aide de Flex PayGo 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 ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : l'ID de votre projet. .
  • MODEL_ID : ID du modèle pour lequel vous souhaitez initialiser Flex PayGo. Pour obtenir la liste des modèles compatibles avec Flex PayGo, 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" \
  -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
  }
}
Notez les points suivants dans l'URL de cet exemple :
  • Utilisez la méthode generateContent pour 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éthode streamGenerateContent.
  • L'ID du modèle multimodal se trouve à la fin de l'URL avant la méthode (par exemple, gemini-3.5-flash). Cet exemple peut également s'appliquer à d'autres modèles.
  • Lorsque vous utilisez un point de terminaison d'API régional (par exemple, us-central1), la région de l'URL du point de terminaison détermine l'emplacement où la requête est traitée. Tout emplacement en conflit dans le chemin d'accès de la ressource est ignoré.

Vérifier l'utilisation de Flex PayGo

Vous pouvez vérifier si une requête 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 requête à partir du champ traffic_type de la réponse. Si votre requête a été traitée à l'aide de 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 requête à partir du champ trafficType de la réponse. Si votre requête a été traitée à l'aide de 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 Flex PayGo

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 RPM pour chaque modèle de base d'un projet
Quota pour chaque modèle de base dans un projet demandant l'utilisation de Flex PayGo 3000

Étapes suivantes

Ressource

Quotas et limites spécifiques à Agent Platform.

Ressource

Quotas et limites liés à Agent Platform, à l'exclusion des limites spécifiques aux produits.

Présentation

Découvrez comment Google Cloud limite la quantité d'une ressource que votre projet Google Cloud peut utiliser, et comment les quotas s'appliquent à différents types de ressources, y compris les composants matériels, logiciels et réseau.