Búsqueda por imagen
El widget permite buscar productos a partir de una imagen, ya sea seleccionando un archivo del dispositivo o capturando con la cámara. El componente es ImageSearchModal.
Cómo funciona
- El usuario hace click en el botón "imagen" del input. Si
features.imageSearch = false, el botón se oculta. - Se abre el modal con dos vías:
- Upload: drag & drop o
<input type="file">para JPG/PNG/WebP. - Cámara:
getUserMedia({ video: true })y captura en<canvas>.
- Upload: drag & drop o
- La imagen se envía al backend como
multipart/form-data:
POST
/api/widget/search/visualcurl -X POST https://api.neuroon.ai/api/widget/search/visual \
-H "X-Widget-Token: $WIDGET_TOKEN" \
-F "image=@product.jpg"
Controlador en WidgetSearchController.java.
- El backend extrae embeddings visuales, identifica posibles productos similares, genera un query en lenguaje natural y devuelve
SearchResponseconaiResponseindicando la query usada.
Validaciones cliente-side
| Restricción | Valor |
|---|---|
| Formatos | image/jpeg, image/png, image/webp |
| Tamaño máximo | 10 MB |
| Resolución mínima recomendada | 256 × 256 |
Si el archivo no cumple, el modal muestra image.unsupportedFormat o image.fileTooLarge (requiere HTTPS y permiso explícito. Si el host aplicaPermissions-Policy, recomendamos camera=(self "https://cdn.neuroon.ai")`.
Próximas lecturas
- Búsqueda por texto
- Accesibilidad — el modal cumple focus trap.
- Reference → Errores