Flex PayGo

El modelo de pago flexible por uso (Flex PayGo) es una opción rentable para acceder a los modelos de Gemini en cargas de trabajo no críticas que pueden tolerar tiempos de respuesta más largos y una mayor limitación. Flex PayGo ofrece un 50% de descuento en comparación con Standard PayGo.

Cuándo usar Flex PayGo

Flex PayGo es ideal para las tareas síncronas, tolerantes a la latencia y no críticas que no son urgentes. A continuación, se muestran ejemplos de casos de uso:

  • Análisis sin conexión de archivos de texto, documentos, imágenes, audio y video

  • Evaluación de las cualidades del modelo

  • Anotación y etiquetado de datos

  • Traducción de documentos

  • Cómo compilar un catálogo de productos

Modelos y ubicaciones compatibles

Los siguientes modelos de Gemini en versión preliminar admiten Flex PayGo solo en el extremo global. Flex PayGo no admite extremos regionales ni multirregionales.

Usa Flex PayGo

Para enviar solicitudes a la API de Gemini con Flex PayGo, debes incluir el encabezado X-Vertex-AI-LLM-Shared-Request-Type en tu solicitud. Puedes usar Flex PayGo de dos maneras:

  • Usar la cuota de capacidad de procesamiento aprovisionada (si está disponible) y, luego, usar Flex PayGo

  • Usar solo Flex PayGo

Ten en cuenta que las solicitudes que usan Flex PayGo tienen una latencia más alta que las de Standard PayGo. El tiempo de espera predeterminado es de 20 minutos, que puedes anular (en milisegundos) con el parámetro timeout. El valor máximo permitido es de 30 minutos.

Usa Flex PayGo mientras usas la capacidad de procesamiento aprovisionada como opción predeterminada

Para utilizar cualquier cuota de capacidad de procesamiento aprovisionada disponible antes de usar Flex PayGo, incluye el encabezado X-Vertex-AI-LLM-Shared-Request-Type: flex en tus solicitudes, como se muestra en los siguientes ejemplos.

Python

Instalar

pip install --upgrade google-genai

Para obtener más información, consulta la documentación de referencia del SDK.

Establece variables de entorno para usar el SDK de IA generativa con 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

Inicializa tu cliente de IA generativa para usar Flex PayGo. Después de realizar este paso, no necesitarás hacer más ajustes en tu código para interactuar con la API de Gemini usando Flex PayGo en el mismo cliente.

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

Después de configurar tu entorno, puedes usar REST para probar una instrucción de texto. En el siguiente ejemplo, se envía una solicitud al extremo del modelo de publicador.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: El ID del proyecto.
  • MODEL_ID: Es el ID del modelo para el que deseas inicializar Flex PayGo. Para obtener una lista de los modelos que admiten Flex PayGo, consulta Versiones de modelos.
  • PROMPT_TEXT: Las instrucciones de texto que se incluirán en el mensaje. 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" }
    }
  }'

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "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
  }
}
Ten en cuenta lo siguiente en la URL para esta muestra:
  • Usa el método generateContent para solicitar que la respuesta se muestre después de que se haya generado por completo. Para reducir la percepción de latencia a un público humano, transmite la respuesta a medida que se genera; para ello, usa el método streamGenerateContent.
  • El ID del modelo multimodal se encuentra al final de la URL antes del método (por ejemplo, gemini-2.0-flash). Esta muestra también puede admitir otros modelos.

Usar solo Flex PayGo

Para usar solo Flex PayGo, incluye los encabezados X-Vertex-AI-LLM-Request-Type: shared y X-Vertex-AI-LLM-Shared-Request-Type: flex en tus solicitudes, como se muestra en los siguientes ejemplos.

Python

Instalar

pip install --upgrade google-genai

Para obtener más información, consulta la documentación de referencia del SDK.

Establece variables de entorno para usar el SDK de IA generativa con 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

Inicializa tu cliente de IA generativa para usar Flex PayGo. Después de realizar este paso, no necesitarás hacer más ajustes en tu código para interactuar con la API de Gemini usando Flex PayGo en el mismo cliente.

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

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: El ID del proyecto.
  • MODEL_ID: Es el ID del modelo para el que deseas inicializar Flex PayGo. Para obtener una lista de los modelos que admiten Flex PayGo, consulta Versiones de modelos.
  • PROMPT_TEXT: Las instrucciones de texto que se incluirán en el mensaje. 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" }
    }
  }'

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "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
  }
}
Ten en cuenta lo siguiente en la URL para esta muestra:
  • Usa el método generateContent para solicitar que la respuesta se muestre después de que se haya generado por completo. Para reducir la percepción de latencia a un público humano, transmite la respuesta a medida que se genera; para ello, usa el método streamGenerateContent.
  • El ID del modelo multimodal se encuentra al final de la URL antes del método (por ejemplo, gemini-2.0-flash). Esta muestra también puede admitir otros modelos.

Verifica el uso de Flex PayGo

Puedes verificar si una solicitud utilizó Flex PayGo a partir del tipo de tráfico en la respuesta, como se muestra en los siguientes ejemplos.

Python

Puedes verificar si se utilizó Flex PayGo para una solicitud desde el campo traffic_type en la respuesta. Si tu solicitud se procesó con Flex PayGo, el campo traffic_type se establece en 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

Puedes verificar si se utilizó Flex PayGo para una solicitud desde el campo trafficType en la respuesta. Si tu solicitud se procesó con Flex PayGo, el campo trafficType se establece en 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
  }
}

Cuota adicional para Flex PayGo

Además de las cuotas disponibles para las solicitudes de generación de contenido (incluida la cuota de capacidad de procesamiento aprovisionada para el tráfico de desbordamiento), las solicitudes que utilizan Flex PayGo están sujetas a la siguiente cuota:

Descripción QPM para cada modelo base en un proyecto
Cuota para cada modelo base en las solicitudes de un proyecto que utiliza Flex PayGo 3000

¿Qué sigue?