API de Batch

La API de Gemini Batch está diseñada para procesar grandes volúmenes de solicitudes de forma asíncrona con el 50% del costo estándar. El tiempo de respuesta objetivo es de 24 horas, pero, en la mayoría de los casos, es mucho más rápido.

Usa la API de Batch para tareas a gran escala y no urgentes, como el preprocesamiento de datos o la ejecución de evaluaciones en las que no se requiere una respuesta inmediata.

Crea un trabajo por lotes

Tienes dos formas de enviar tus solicitudes en la API de Batch:

  • Solicitudes intercaladas: Es una lista de objetos GenerateContentRequest incluidos directamente en tu solicitud de creación por lotes. Esto es adecuado para lotes más pequeños que mantienen el tamaño total de la solicitud por debajo de los 20 MB. El resultado que devuelve el modelo es una lista de objetos inlineResponse.
  • Archivo de entrada: Un archivo JSON Lines (JSONL) en el que cada línea contiene un objeto GenerateContentRequest completo. Este método se recomienda para solicitudes más grandes. El resultado que devuelve el modelo es un archivo JSONL en el que cada línea es un objeto GenerateContentResponse o un objeto de estado.

Solicitudes intercaladas

Para una pequeña cantidad de solicitudes, puedes incorporar directamente los objetos GenerateContentRequest dentro de tu BatchGenerateContentRequest. En el siguiente ejemplo, se llama al método BatchGenerateContent con solicitudes intercaladas:

Python


from google import genai
from google.genai import types

client = genai.Client()

# A list of dictionaries, where each is a GenerateContentRequest
inline_requests = [
    {
        'contents': [{
            'parts': [{'text': 'Tell me a one-sentence joke.'}],
            'role': 'user'
        }]
    },
    {
        'contents': [{
            'parts': [{'text': 'Why is the sky blue?'}],
            'role': 'user'
        }]
    }
]

inline_batch_job = client.batches.create(
    model="gemini-3.5-flash",
    src=inline_requests,
    config={
        'display_name': "inlined-requests-job-1",
    },
)

print(f"Created batch job: {inline_batch_job.name}")

JavaScript


import {GoogleGenAI} from '@google/genai';

const ai = new GoogleGenAI({});

const inlinedRequests = [
    {
        contents: [{
            parts