¿Alguna vez te has preguntado cómo se las arregla una imagen para "colarse" cuando la sueltas en ChatGPT o en otro gran modelo de IA? Lo que ves es que haces clic en un botón de subida, eliges una imagen y, de repente, el modelo entiende lo que hay dibujado en ella. ¿Qué ocurre realmente entre medias? Pues resulta que ahí dentro se esconde una cosita que probablemente nunca hayas notado: Base64.
No te asustes por el nombre, no es ninguna tecnología oscura e incomprensible. En pocas palabras, Base64 es una forma de "traducir" datos binarios a texto. Las imágenes, el audio y el vídeo no son más que ceros y unos en el ordenador, pero muchos protocolos de transmisión —como las peticiones HTTP o el formato JSON— no se llevan bien con los datos binarios, y al transmitirlos suelen dar problemas. ¿Qué se hace entonces? Pues se codifican los datos binarios con Base64 y se convierten en una cadena de texto plano formada por letras, números y unos cuantos símbolos, de modo que pueden viajar tranquilamente junto al resto de la información textual.
Quizá pienses: "Pero si yo cuando envío imágenes a la IA no noto ningún proceso de codificación". Claro, porque todo ocurre automáticamente y no te enteras. Pero lo cierto es que, en el momento en que arrastras una imagen al cuadro de diálogo, es muy probable que el código del frontend la lea en segundo plano como binario y la convierta en una cadena Base64. Esa cadena tiene un aspecto parecido a esto: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUg……" seguido de un montón de caracteres que parecen basura. Eso es la "versión en texto" de la imagen.
Entonces, ¿por qué los grandes modelos de IA usan este método para transmitir imágenes? La razón es bastante práctica. Primero, por compatibilidad. Ya sea mediante una llamada a la API o una subida desde la web, una cadena Base64 no deja de ser texto normal, y colocarla en un JSON o en el cuerpo de una petición no da problemas. Segundo, por comodidad. No hace falta montar un servidor de archivos adicional para almacenar las imágenes; basta con incrustar los datos de la imagen en la petición, lo que ahorra muchos quebraderos de cabeza a los desarrolladores. Tercero, muchas plataformas de IA ya diseñan sus interfaces así, como la interfaz del modelo de visión de OpenAI: al enviar una imagen puedes dar directamente una URL o una cadena codificada en Base64. Esta última resulta más cómoda en ciertos escenarios, por ejemplo cuando la imagen está en local y no quieres subirla a un servidor público.
Sin embargo, Base64 no sale gratis. El problema más evidente es que "engorda". Los datos codificados en Base64 ocupan aproximadamente un tercio más que el binario original. Es decir, una imagen que originalmente pesa 100 KB puede pasar a más de 130 KB tras la codificación. Si la imagen ya es grande de por sí, ese aumento se nota bastante. Por eso verás que algunas plataformas de IA limitan el tamaño de las imágenes que se pueden subir, o directamente te las comprimen en segundo plano antes de codificarlas. Además, una cadena Base64 demasiado larga es un dolor de cabeza: al depurar, la pantalla se llena de caracteres que parecen basura y encontrar el problema se vuelve complicado.
Entonces, como usuario normal, ¿de qué sirve saber todo esto? Pues la verdad es que sirve. Por ejemplo, si al llamar a una API de IA tienes problemas para subir una imagen, puedes comprobar si el problema está en la codificación Base64: si le falta el prefijo correcto, si está incompleta o si tiene saltos de línea de más. Otra situación: si estás desarrollando y la imagen es muy grande, puedes plantearte comprimirla antes de convertirla a Base64, porque un cuerpo de petición demasiado grande puede ser rechazado por el servidor. Y también, si ves una ristra de caracteres raros en los logs, no te asustes: muy probablemente sea la codificación Base64 de alguna imagen.
Hablando de herramientas, si alguna vez necesitas codificar o decodificar Base64 manualmente, puedes probar una herramienta Base64 en línea. Arrastras la imagen y ves su cadena Base64; al revés, pegas la cadena y recuperas la imagen. Es muy útil para depurar APIs y revisar datos. Eso sí, ten cuidado: no la uses con imágenes sensibles, porque al ser una herramienta en línea, conviene ser precavido con la seguridad de los datos.
En resumen, Base64 es como un "salvoconducto" en el mundo de los grandes modelos de IA: empaqueta datos binarios como las imágenes en formato texto para que circulen sin problemas por todo tipo de interfaces y protocolos. Tú no lo ves, pero está ahí trabajando en silencio. La próxima vez que envíes una imagen a una IA, puedes pensar que en ese momento quizá haya una gran cadena de caracteres Base64 recorriendo la red a toda velocidad.