Terminaste una grabación larga y tienes treinta transcripciones con marcas de tiempo. Quieres saber qué fragmentos merecen convertirse en Shorts, pero no necesitas treinta respuestas en los próximos diez segundos. Mandar cada texto a una llamada en vivo hace que tu editor espere y que los errores o los límites interrumpan el proceso. Para ese trabajo, Gemini Batch puede ser una mejor cola de análisis.
La guía oficial de Batch API permite agrupar solicitudes y recoger resultados después. Google indica un precio de inferencia del 50% del estándar para Batch y una meta de finalización de hasta 24 horas; revisa la tarifa concreta del modelo antes de calcular el ahorro. No es una herramienta de edición de video: en este ejemplo solo analiza transcripciones que ya tienes, propone tiempos y citas, y tú decides qué cortar.
Cuándo conviene y cuándo no
Usa Batch si tienes muchas tareas independientes, toleras esperar y puedes revisar resultados al día siguiente: clasificar transcripciones, sugerir títulos de clips o preparar variantes de descripción. La API estándar sirve mejor cuando una persona está esperando una respuesta inmediata. Flex, otra opción de Google, apunta a trabajos de fondo con cadenas de llamadas dependientes, pero su disponibilidad es de tipo preview y su comportamiento es diferente. Batch también tiene límites propios de trabajos concurrentes y tokens en cola; consulta los límites activos de tu proyecto.
El ahorro anunciado se refiere al precio de inferencia de Batch frente al estándar del mismo modelo. No significa que crear treinta prompts cueste la mitad en tiempo editorial, ni que cada clip seleccionado sea bueno. Si tu entrada son videos y no transcripciones, añade primero una etapa real de transcripción y conserva la referencia al archivo original; este ejemplo no la hace.
Antes de subir transcripciones reales, elimina nombres, correos y datos de terceros que no hagan falta para seleccionar cortes. El ejemplo usa material ficticio. Si trabajas con entrevistas o clientes, comprueba que tengas autorización para procesar ese contenido con el proveedor y documenta qué archivos y respuestas retendrás. El descuento no justifica enviar material sensible sin esa decisión.
Un lote pequeño que puedes copiar
Guarda este JSON como batch.json. Son tres transcripciones ficticias con tiempos y encargos diferentes. Cada entrada lleva metadata.key para relacionar la respuesta con su clip. Pide una frase literal, porque una paráfrasis puede sonar bien y no existir en la grabación. La muestra es pequeña para inspeccionarla; la misma estructura se escala a más entradas según los límites del modelo y del proyecto.
{
"batch": {
"display_name": "soyjb-clips-demo-es",
"input_config": {
"requests": {
"requests": [
{
"request": {
"contents": [
{
"parts": [
{
"text": "Elige el momento de 10 a 20 segundos con una idea autónoma. Devuelve una frase literal del texto y un título corto. Si no hay un buen clip, responde DESCARTAR.\n\nTranscript:\n00:00 Una persona pregunta por qué su app tarda. 00:08 Muestro tres llamadas de API en serie. 00:18 Comparo una llamada en paralelo. 00:30 Concluyo: mide el tiempo completo."
}
]
}
]
},
"metadata": {
"key": "clip-01"
}
},
{
"request": {
"contents": [
{
"parts": [
{
"text": "Elige un posible clip educativo de 10 a 20 segundos. Devuelve inicio, fin, frase literal y una advertencia de lo que aún requiere verificación.\n\nTranscript:\n00:00 Me preguntan si un 429 significa que Gemini está caído. 00:12 Explico que puede ser límite de solicitudes o gasto. 00:27 Muestro dónde revisar el proyecto."
}
]
}
]
},
"metadata": {
"key": "clip-02"
}
},
{
"request": {
"contents": [
{
"parts": [
{
"text": "Sugiere un clip de 10 a 20 segundos para un creador técnico. Da marcas de tiempo y una afirmación que se pueda verificar en el video.\n\nTranscript:\n00:00 Hago una prueba visual de una landing. 00:14 La vista móvil corta el botón. 00:22 Corrijo el CSS. 00:35 Repito la captura."
}
]
}
]
},
"metadata": {
"key": "clip-03"
}
}
]
}
}
}
}
El archivo se validó como JSON y contiene tres solicitudes; no envié el lote a una cuenta real. En tu terminal define GEMINI_API_KEY y GEMINI_MODEL para un modelo compatible con Batch. La documentación oficial muestra models.batchGenerateContent en v1beta. No pongas la clave en un repositorio ni en el navegador.
curl -sS -X POST "https://generativelanguage.googleapis.com/v1beta/models/${GEMINI_MODEL}:batchGenerateContent" -H "x-goog-api-key: ${GEMINI_API_KEY}" -H "Content-Type: application/json" --data-binary @batch.json
La respuesta de creación contiene un name de operación. Guárdalo exactamente como lo devolvió el servidor, por ejemplo batches/.... Para consultar el estado, no crees de nuevo el mismo lote por impaciencia:
curl -sS "https://generativelanguage.googleapis.com/v1beta/${BATCH_NAME}" -H "x-goog-api-key: ${GEMINI_API_KEY}"
Cuando la operación indique que terminó, inspecciona error o response. Con entradas inline, la especificación devuelve respuestas inline en el mismo orden; aun así conserva la clave de metadata y revisa cada resultado individual, pues un trabajo puede contener solicitudes fallidas. Con un archivo JSONL grande, la salida puede ser un archivo y requiere otra lectura. Los límites de Batch son independientes de los de llamadas interactivas, pero siguen existiendo.
La revisión que convierte la sugerencia en un clip
Abre el video original en los tiempos propuestos y comprueba que la frase existe, empieza y termina en una idea completa, y no recorta una advertencia que cambia el sentido. Rechaza recomendaciones vagas o citas inventadas. Solo entonces recorta con tu editor o FFmpeg. Anota por clip video_id, tiempo inicial/final, texto verificado, decisión editorial y URL final para no generar dos publicaciones del mismo segmento. Es la parte donde el creador aporta criterio; la cola solo reduce el trabajo de exploración.
Para evaluar si Batch te conviene, toma diez transcripciones y mide minutos de revisión humana, costo de inferencia, porcentaje de sugerencias aceptadas y tiempo total hasta publicar. Compara con diez similares procesadas con tu método actual. Si necesitas clips hoy, el tiempo de cola puede borrar cualquier ahorro de API. Si puedes preparar mañana, el intercambio puede tener sentido.
Fuentes y alcance
Google: guía y ejemplos de Batch API; referencia REST y estructura de respuestas; comparación de precio y latencia; límites de Batch. Revisado el 10 de noviembre de 2026. La prueba de esta guía valida la estructura JSON local, no el resultado del modelo.
