Sitio web en mantenimiento
Saltar al contenido principal
Marketing Digital

Búsqueda visual en tu catálogo: cuando el cliente sube una foto y tu web la entiende

Búsqueda visual para ecommerce: cómo funciona, cuándo vale la pena y qué modelo elegir entre CLIP, GPT-4o y Gemini Vision.

EC
Equipo Codify Tech
AI + Ecommerce
6 min lectura

Tu cliente ve una camiseta en Instagram que le gusta. No sabe cómo describirla para buscar en tu tienda. Si tu web no entiende la foto, perdiste la venta. Si la entiende, encontraste al cliente que estaba buscando sin saber qué palabras usar.

La búsqueda visual (también llamada “visual search” o “search by image”) es exactamente eso: el usuario sube una foto y tu catálogo le muestra productos similares. Pinterest, Google Lens, ASOS ya lo hacen. Tu ecommerce también puede.

En este artículo te explico cómo funciona, qué modelo usar (CLIP, GPT-4o, Gemini Vision), cuánto cuesta y cuándo vale la pena versus búsqueda por texto.

Si quieres el contexto, lee nuestro pilar IA multimodal para ecommerce y turismo y la guía de descripción automática desde fotos.

¿Qué es búsqueda visual y por qué importa?

Búsqueda visual = encontrar productos similares a una imagen de referencia. No necesitas describir nada con palabras: subes la foto y la IA encuentra matches.

Las cifras que importan:

  • 62% de los millennials prefiere búsqueda visual sobre texto cuando busca moda (Pinterest, 2025)
  • Google Lens procesa 20 mil millones de búsquedas visuales por mes (Google, 2025)
  • ASOS reporta +35% de conversión en usuarios que usan búsqueda visual vs solo texto
  • Pinterest Lens tiene 600M de búsquedas visuales al mes y +30% de CTR en resultados

Insight: si vendes moda, decoración, diseño de interiores o cualquier producto visual, la búsqueda por texto deja dinero sobre la mesa. Hay clientes que no saben qué quieren hasta que lo ven.

Cómo funciona por dentro

El flujo técnico:

[Foto del usuario]

[Modelo de visión convierte la imagen en un vector numérico]
    - CLIP ViT-L/14 → vector de 768 dimensiones
    - SigLIP → vector de 1152 dimensiones
    - GPT-4o Vision → vector OpenAI de 1536 dimensiones

[Tu BD de productos ya tiene vectores pre-calculados]
    - Cada producto del catálogo tiene su embedding
    - Se calcula una sola vez al subir el producto

[Búsqueda por similitud coseno]
    - Top 10 productos más cercanos al vector del usuario
    - 50 a 200ms de latencia

[Resultado: productos similares con score de match]

La clave: los embeddings de visión entienden estilo, color, forma, textura, composición. No solo pixels. Por eso funciona con fotos del mundo real, no solo con fotos de catálogo.

Comparativa: CLIP vs GPT-4o Vision vs Gemini Vision

ModeloPrecisiónCosto por 1000 imágenesLatenciaMejor para
CLIP ViT-L/14Buena (75 a 85% top-5)Gratis (self-hosted) o costo muy bajo por API50 a 150msBúsqueda visual pura, escala
GPT-4o VisionExcelente (90 a 95% top-5)0.01 a 0.05 USD por imagen800 a 2000msCuando necesitas razonar sobre la imagen
Gemini 2.5 Pro VisionExcelente (88 a 93% top-5)0.001 a 0.005 USD por imagen400 a 1000msAlternativa más barata a GPT-4o
SigLIPMuy buena (80 a 90% top-5)Gratis (self-hosted)100 a 300msOpen source, escala masiva

Recomendación por caso:

  • Ecommerce con más de 10.000 productos: CLIP self-hosted (gratis, escala)
  • Ecommerce pequeño o mediano (menos de 5.000 productos): OpenAI CLIP API o Gemini Vision
  • Cuando necesitas entender contexto complejo (“esta silla pero en versión moderna”): GPT-4o Vision

Caso real: tienda de decoración con 2.500 productos

Cliente: tienda online de decoración y muebles en Medellín con 2.500 productos. Problema: los clientes querían encontrar “ese estilo que vi en Pinterest” pero no sabían describirlo. Solución: búsqueda visual con CLIP + frontend embebido.

Implementación:

Frontend (botón "Buscar con foto" en cada categoría):

[Usuario sube foto]
    ↓ (compresión client-side a 800px)
[API call a backend]

[CLIP embedding de la foto] (alrededor de 100ms)

[Supabase pgvector busca top 10 similares] (alrededor de 80ms)

[Mostrar productos con score visual: 92% match, 87% match, etc.]

[Filtros adicionales: rango de precio, color, material]

Stack técnico:

  • Embeddings: OpenAI CLIP API (ViT-L/14)
  • Vector DB: Supabase pgvector (gratis hasta 1M vectores)
  • Storage: Supabase Storage
  • Frontend: widget JS embebido en Shopify
  • Costo mensual: aproximadamente 120 USD al mes (incluye API + infraestructura)

Resultados en 5 meses:

  • Búsquedas visuales al mes: 0 → 4.500 (18% del tráfico de búsqueda)
  • Conversión de búsqueda visual a compra: 6.8% (vs 3.2% en búsqueda por texto)
  • Ticket promedio de usuarios con búsqueda visual: +28% vs texto
  • Tiempo en sitio: +45% (más engagement)

ROI: cerca de 120 USD al mes en costos vs +8.500 USD al mes en revenue incremental. ROI: 70x.

Cuándo SÍ vale la pena

Tu producto es visualmente identificable (moda, decoración, arte, diseño de interiores) ✅ Tienes más de 500 productos en tu catálogo (menos hace que el setup no se amortice) ✅ Tu cliente típico es millennial o Gen Z (más probable que use búsqueda visual) ✅ Tienes tráfico mobile significativo (el mobile es donde más se usa cámara para buscar) ✅ Vendes productos similares (variantes de estilo, no productos únicos)

Cuándo NO vale la pena

Tu producto no es visual (software, servicios, B2B industrial) ❌ Tienes menos de 200 productos (no vale el setup) ❌ Tus productos son altamente técnicos (partes industriales, repuestos) ❌ Tu cliente típico es de edad mayor (baja adopción de búsqueda visual) ❌ No tienes capacidad de moderar los resultados (sin QA, salen matches malos)

Implementación técnica paso a paso

import openai
from supabase import create_client

# Para cada producto:
imagen_url = "https://tu-cdn.com/producto-123.jpg"
embedding = openai.CLIP.create_embedding(image=imagen_url)

# Guardar en Supabase
supabase.table('productos').update({
    'embedding': embedding.embedding
}).eq('id', producto_id).execute()

Tiempo de cálculo: cerca de 1 segundo por producto. Para 1.000 productos son 17 minutos.

Paso 2: Endpoint de búsqueda

@app.post("/search-visual")
async def search_visual(image: UploadFile):
    # Generar embedding de la imagen del usuario
    embedding = openai.CLIP.create_embedding(image=image.file)

    # Buscar top 10 similares en Supabase pgvector
    results = supabase.rpc('match_products', {
        'query_embedding': embedding.embedding,
        'match_threshold': 0.7,
        'match_count': 10
    }).execute()

    return results.data

Latencia total: 200 a 400ms.

Paso 3: Frontend

<input type="file" accept="image/*" capture="environment" id="visualSearch">
<button onclick="searchByImage()">Buscar con foto</button>

<script>
async function searchByImage() {
    const file = document.getElementById('visualSearch').files[0];
    const formData = new FormData();
    formData.append('image', file);

    const response = await fetch('/search-visual', {
        method: 'POST',
        body: formData
    });

    const products = await response.json();
    renderResults(products);
}
</script>

Siguiente paso

¿Quieres implementar búsqueda visual en tu ecommerce? En Codify Tech montamos pipelines de CLIP o GPT-4o Vision más base vectorial adaptados a tu CMS.

Setup típico:

  • Generación de embeddings de tu catálogo: 2 a 3 días
  • Endpoint de búsqueda + widget frontend: 3 a 5 días
  • QA con 100 queries reales: 1 semana
  • Total: 2 a 3 semanas

👉 Solicita tu demo de búsqueda visual o escríbenos a [email protected].

Otros artículos del cluster IA Multimodal que te van a servir:

Etiquetas

#busqueda visual #ecommerce visual search #clip #gpt-4o vision #gemini vision