Flex PayGo

El pago por uso flexible (Flex PayGo) es una opción rentable para acceder a los modelos de Gemini para cargas de trabajo no esenciales que pueden tolerar tiempos de respuesta más largos y una limitación más alta. Flex PayGo ofrece un descuento del 50% en comparación con el pago por uso estándar.

Cuándo usar Flex PayGo

Flex PayGo es ideal para las tareas síncronas, tolerantes a la latencia y no esenciales que no son urgentes. Estos son algunos casos de uso de ejemplo:

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

  • Evaluación de las cualidades del modelo

  • Anotación y etiquetado de datos

  • Traducción de documentos

  • Compilación de 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.

Límite de la carga útil de la solicitud

Las solicitudes de Flex PayGo tienen un límite de tamaño total de carga útil de 20 MB para las solicitudes en las que la carga útil se incluye directamente en el cuerpo de la solicitud. Para procesar archivos más grandes, proporciona un URI de Cloud Storage en tu solicitud.

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:

  • Usa la cuota de capacidad de procesamiento aprovisionada (si está disponible) y, luego, usa Flex PayGo.

  • Usa solo Flex PayGo.

Ten en cuenta que las solicitudes que usan Flex PayGo tienen una latencia esperada más larga que el pago por uso estándar.

Puedes configurar el tiempo de espera de la solicitud en un máximo de 30 minutos.

Usa Flex PayGo mientras usas la capacidad de procesamiento aprovisionada como 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.

Configura las variables de entorno para usar el SDK de Gen AI 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_ENTERPRISE=True

Inicializa tu cliente de GenAI 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 con 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 la solicitud, reemplaza los valores que se indican a continuación.

  • PROJECT_ID: Tu [ID del proyecto](/resource-manager/docs/creating-managing-projects#identifiers). .
  • MODEL_ID: El ID del modelo para el que deseas inicializar Flex PayGo. Para obtener una lista de los modelos que admiten Flex PayGo, consulta Versiones del modelo.
  • 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" \
  -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 de este ejemplo:
  • Usa el generateContent método 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 streamGenerateContent método.
  • El ID del modelo multimodal se encuentra al final de la URL antes del método (por ejemplo, gemini-2.5-flash). Esta muestra también puede admitir otros modelos.
  • Cuando usas un extremo de API regional (por ejemplo, us-central1), la región de la URL del endpoint determina dónde se procesa la solicitud. Se ignora cualquier ubicación en conflicto en la ruta de acceso del recurso.

Usa 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.

Configura las variables de entorno para usar el SDK de Gen AI 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_ENTERPRISE=True

Inicializa tu cliente de GenAI 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 con 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 la solicitud, reemplaza los valores que se indican a continuación:

  • PROJECT_ID: Tu [ID del proyecto](/resource-manager/docs/creating-managing-projects#identifiers). .
  • MODEL_ID: El ID del modelo para el que deseas inicializar Flex PayGo. Para obtener una lista de los modelos que admiten Flex PayGo, consulta Versiones del modelo.
  • 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" \
  -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 de este ejemplo:
  • Usa el generateContent método 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 streamGenerateContent método.
  • El ID del modelo multimodal se encuentra al final de la URL antes del método (por ejemplo, gemini-2.5-flash). Esta muestra también puede admitir otros modelos.
  • Cuando usas un extremo de API regional (por ejemplo, us-central1), la región de la URL del endpoint determina dónde se procesa la solicitud. Se ignora cualquier ubicación en conflicto en la ruta de acceso del recurso.

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 usó 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 usó 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 un proyecto que utiliza Flex PayGo 3000

¿Qué sigue?

Recurso

Cuotas y límites relacionados específicamente con Agent Platform.

Recurso

Cuotas y límites relacionados con Agent Platform, excluidas las limitaciones específicas del producto.

Descripción general

Obtén información sobre cómo Google Cloud restringe la cantidad de un recurso que puede usar tu proyecto de Google Cloud y cómo se aplican las cuotas a una variedad de tipos de recursos, incluidos los componentes de hardware, software y red.