Ninguna modalidad es especial por dentro. La imagen se trocea y se codifica, el audio se recorre a una cadencia fija, el vídeo se descompone en imágenes más audio. Lo que cambia de una a otra es cuántos tokens produce cada unidad de material, y eso hace que intuiciones perfectamente razonables sobre el tamaño de un archivo no sirvan de nada: un MP3 de 3 MB y un PDF de 3 MB no cuestan ni parecido.
Estas son las tasas que afirma el material del módulo. No están verificadas, y esa advertencia importa más que los números en sí:
| Modalidad | Tasa según la guía | Qué la hace envejecer |
|---|---|---|
| Texto | La tokenización de siempre | Estable; depende del tokenizador |
| Imagen | «258 tokens fijos» | «Fijos» esconde un umbral de resolución que no se menciona |
| Audio | «25 tokens por segundo» · «1.500 por minuto» | Propiedad del codificador: cambia con la arquitectura |
| Vídeo | «según su duración y framerate» | Sin cifra: es la única que la guía no cuantifica |
Fíjate en la última fila. El vídeo es la modalidad más cara y es justo la que se queda sin número — y no por descuido: un vídeo son fotogramas más audio, así que su coste depende de a cuántas imágenes por segundo lo muestree el proveedor, un detalle que no controlas y que puede cambiar.
Las cifras sueltas no dicen nada; multiplicadas, sí. Esto es lo que sale de aplicar las tasas de la tabla anterior a materiales corrientes, y por eso mismo hereda su misma incertidumbre:
La última fila es la interesante. La guía dice, por un lado, que el modelo aguanta «hasta 9,5 horas de audio en una sola ventana de contexto» y, por otro, que la ventana llega «hasta 1-2 M de tokens». A 25 tokens por segundo, 9,5 horas son unos 855.000 tokens: cuadra bien con una ventana de un millón, y no con una de dos. Las cifras del material son coherentes entre sí, lo cual dice algo bueno sobre su origen — pero pertenecen a una versión concreta que el texto nunca nombra.
Y aquí está el punto que se le escapa a casi todo el mundo cuando compara proveedores por el tamaño de su ventana: llenar la ventana se paga. Una de dos millones de tokens no es una ventaja gratuita, es la posibilidad de gastar el doble en una sola llamada. Subir un podcast entero para preguntarle una cosa cuesta lo mismo que subirlo para preguntarle veinte — lo cual, dicho al revés, es el argumento definitivo a favor de agrupar preguntas.
// una ventana grande no es capacidad regalada: es permiso para gastar más de una vezNada de lo anterior hace falta si mides. Cada respuesta trae el recuento real de lo que acabas de gastar, y ese dato no caduca ni depende de que un PDF esté actualizado:
respuesta = modelo.generate_content([prompt, archivo])
print(respuesta.usage_metadata) # entrada, salida y total de esta llamada
Dos costumbres que valen para todo lo que viene después. La primera: imprime
usage_metadata mientras desarrollas, siempre, aunque no te importe el coste ese día —
es como se descubre que una función que creías barata sube un archivo dentro de un bucle. La
segunda: cuando compares dos modelos o dos variantes, compara la misma unidad. Los tokens de
entrada y los de salida no se pagan igual, y una comparación que los suma en un único número no
compara nada.
Coge una imagen, un minuto de audio y el mismo texto en un PDF de una página. Súbelos por
separado, lanza el prompt más corto que se te ocurra a cada uno y anota el
usage_metadata de las tres llamadas. Resta el coste del prompt y te queda lo que cuesta
el archivo.
Compara esos tres números con la tabla de la sección 01. Si coinciden, ya tienes las tasas
verificadas con fecha y puedes escribirlas en auditoria/ como hechos tuyos. Si no
coinciden, acabas de encontrar algo mejor: la prueba de que el material va por detrás, y el reflejo
de medir antes que creer.