Cómo creé mi propio formato de imagen con Python

AVJ es un formato de imagen en Python que integra metadatos, texto alternativo y embeddings de imagen y texto, sin compresión y con un encabezado fijo, ideal para IA y APIs con FastAPI.

20 sept 2025 • 5 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

En este artículo explico cómo creé mi propio formato de archivo de imagen usando solo Python. El formato se llama AVJ y está orientado a casos de uso de machine learning porque incorpora metadatos, texto alternativo y vectores de embedding tanto del texto como de la imagen.

Estructura general del archivo AVJ: el archivo combina un encabezado fijo con secciones variables. El encabezado almacena metadatos esenciales y los campos variables contienen texto alternativo codificado en UTF-8, dos vectores de embedding en formato de punto flotante y finalmente los bytes crudos de la imagen en RGB sin compresión. El formato de archivo usa la extensión .avj y está pensado para ser simple, reproducible y eficiente en flujos de datos para modelos y APIs.

Campos principales del encabezado y tamaño aproximado en bytes: Magic Number 4 bytes tipo ASCII que identifica el archivo como AVJ1, Version 2 bytes unsigned short para versión del formato, Image Width 4 bytes unsigned int, Image Height 4 bytes unsigned int, Color Mode 1 byte unsigned para indicar representación de color, Alt Text Length 4 bytes unsigned int con longitud en bytes del texto alternativo, Embedding 1 Length 4 bytes unsigned int, Embedding 2 Length 4 bytes unsigned int. El encabezado fijo permite luego leer secciones variables según las longitudes almacenadas.

Conceptos y librerías usadas: para empaquetar y desempaquetar binarios utilizo la librería struct incluida en Python. Para procesar imágenes empleo Pillow y su método tobytes y frombytes. Para manejo de arrays y conversión de embeddings uso numpy. Para generar embeddings de imagen y texto utilizo PyTorch y transformers con el modelo CLIP. Para exponer el servicio como API uso FastAPI, lo que permite subir y descargar archivos de forma sencilla.

Flujo de codificación resumido: se abre la imagen con Pillow y se convierte a RGB; se obtiene la representación de bytes con tobytes y se capturan ancho y alto. El texto alternativo se codifica en UTF-8. Los embeddings se convierten a vectores numpy con tipo float32 y se transforman a bytes. Con struct se empaqueta el encabezado fijo incluyendo las longitudes de las secciones variables. Finalmente se concatena encabezado, texto alternativo codificado, vectores de embedding y bytes crudos de la imagen para generar el archivo .avj final.

Flujo de decodificación resumido: el lector carga los primeros bytes correspondientes al encabezado fijo y con struct desempaqueta los campos; usando las longitudes extrae el texto alternativo y lo decodifica en UTF-8; las secciones de embeddings se convierten desde bytes a arrays numpy con dtype float32; lo que queda después de las secciones variables es la matriz de bytes de la imagen que se reconstruye con Image.frombytes usando ancho, alto y modo. De esta forma se recuperan imagen y metadatos originales de forma determinista.

Sobre embeddings: para generar vectores semánticos de texto e imagen se puede usar el modelo CLIP disponible en transformers. El flujo típico es procesar la imagen y el texto con el processor del modelo, pasar tensores a la GPU si está disponible y obtener embeddings que luego se normalizan y guardan en el archivo AVJ como arrays de float32. Incluir embeddings junto a la imagen facilita búsquedas semánticas, clasificación o pipelines de IA sin tener que recalcular representaciones en cada consulta.

Diseño para APIs: al integrar esto en una API con FastAPI es sencillo crear un endpoint de subida que reciba el archivo original y el texto alternativo, calcule embeddings, empaquete todo en un .avj y devuelva el archivo para descargar. Otro endpoint puede recibir un .avj, decodificarlo y devolver la imagen reconstruida y sus metadatos en JSON. Esta arquitectura es ideal para integraciones en soluciones de visión artificial y motores de búsqueda semántica.

Ventajas del formato AVJ: inclusión nativa de embeddings para despliegues ML, formato no comprimido para acceso directo a bytes RGB, encabezado fijo que facilita lectura por streaming y compatibilidad con herramientas de Python para procesamiento batch y en tiempo real.

En Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida que combina experiencia en inteligencia artificial, ciberseguridad y servicios cloud. Ofrecemos soluciones empresariales integrales, desde desarrollo de software a medida hasta despliegues cloud en AWS y Azure. Si buscas potenciar tus productos con IA para empresas y agentes IA contamos con servicios especializados en integración de modelos y pipelines. También apoyamos proyectos de inteligencia de negocio y visualización con Power BI para convertir datos en decisiones estratégicas.

Si tu objetivo es crear una aplicación que incluya almacenamiento optimizado de imágenes con embeddings o desplegar APIs que trabajen con visión y semántica, en Q2BSTUDIO desarrollamos soluciones a medida y podemos ayudarte a implementar tanto la lógica de codificación AVJ como la infraestructura en la nube. Conoce nuestros servicios de software a medida en servicios de desarrollo de aplicaciones y software multicanal y descubre nuestras capacidades en inteligencia artificial en servicios de inteligencia artificial para empresas.

También ofrecemos auditorías y pruebas de seguridad para tus sistemas y pipelines de IA, garantizando buenas prácticas de ciberseguridad y cumplimiento. Si precisas integración con plataformas de inteligencia de negocio o Power BI, contamos con experiencia para conectar modelos de datos y visualizaciones, y optimizar flujos de trabajo con automatización y servicios cloud aws y azure.

Conclusión: crear un formato de imagen propio como AVJ en Python es directo cuando se estructuran cabeceras fijas y se aprovecha la potencia de bibliotecas ya consolidadas. El valor añadido proviene de incluir embeddings en el propio archivo, facilitando aplicaciones de búsqueda semántica, clasificación y despliegues de IA empresariales. En Q2BSTUDIO podemos acompañarte desde la idea hasta la puesta en producción con soluciones de software a medida, aplicaciones a medida, inteligencia artificial, agentes IA, ciberseguridad y servicios cloud.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat