HiLucyHelp Center

Extracción con IA — convierte el PDF de tu menú en platillos que se pueden pedir

HiLucy Team·Actualizado 2026-04-26·5 min read

Capturar 40 platillos a mano en el Menu Manager es algo que nadie disfruta. El panel de extracción lo hace por ti en unos 30 segundos: sube un PDF o una foto del menú y un modelo de visión te devuelve los platillos ya estructurados para que los revises y publiques.

Qué se admite

  • Tipos de archivo: PNG, JPG, WEBP o PDF
  • Tamaño máximo: 12 MB
  • Idiomas: inglés y español funcionan bien hoy; otros alfabetos latinos también. Los idiomas de derecha a izquierda funcionan lo mejor posible en la v1.

La ruta de PDF usa el soporte nativo de PDF de GPT-4o-mini: sin paso de OCR y sin pasar por una API de archivos aparte. Las fotos van por el mismo proceso de visión.

Paso a paso

  1. Elige el listado en la parte superior del Menu Manager.
  2. En la tarjeta Extract from PDF or photo, haz clic en Choose File y selecciona tu menú.
  3. Haz clic en Extract items. El botón cambia a "Extracting…" y normalmente termina en 20 a 40 segundos, según lo largo del menú.
  4. Abajo aparece una tabla de revisión con cada platillo detectado, ya marcado para publicarse.

Antes de publicar, puedes editar cada fila directamente:

  • Name — lo que el modelo leyó en el menú
  • Description — la línea de ingredientes, si la había
  • Price (USD) — consulta abajo la regla de conversión de moneda
  • Category — la mejor suposición del modelo (puedes cambiarla)
  • Prep min — un estimado aproximado; queda en 0 si el modelo no estaba seguro
  • Etiqueta de confianza — AI 95% (verde) o AI 60% (roja)

Desmarca las filas que no quieras publicar, corrige lo que esté mal y haz clic en Publish N items. El panel los publica en bloques de 3 por detrás (más detalles abajo) y la lista de platillos se va llenando conforme llega cada bloque.

Confianza — qué revisar dos veces

La confianza se reporta por platillo. Es una señal aproximada pero útil:

  • 0.95 o más (verde) — nombre y precio se leen claros en la página. Casi siempre puedes publicarlo sin cambios.
  • 0.80 a 0.94 (verde) — alguna ambigüedad menor. Revisa el precio.
  • Menos de 0.80 (roja) — el modelo no estaba seguro. Probablemente el precio estaba borroso, el platillo estaba en una esquina o el menú tenía dos precios (por ejemplo, copa / botella) y el modelo eligió uno. Léelos con cuidado.

Una forma práctica de trabajar: publica primero el lote de alta confianza y luego corrige y publica por separado las filas de baja confianza.

MXN y otras monedas

Si tu menú está en pesos mexicanos, el extractor lo detecta: los precios se convierten automáticamente a USD con el tipo de cambio actual (17.5 MXN ≈ 1 USD al momento de escribir esto; se puede ajustar con el filtro hilucy_mxn_usd_rate). Por eso un platillo de 130 MXN aparece como $7.43.

Con cualquier otra moneda, los precios llegan tal cual. El Menu Manager guarda price_cents en USD, así que corrige tú mismo los precios que no estén en MXN ni en USD antes de publicar.

Por qué se publica en bloques

Cada vez que se guarda un producto de WooCommerce se dispara una larga cadena de hooks de WordPress y WooCommerce (taxonomías, índice de búsqueda, sincronización de datos del proveedor, etc.). Cada platillo tarda de 5 a 15 segundos de principio a fin. Publicar 35 platillos en una sola petición HTTP superaría el límite de 100 segundos de Cloudflare, así que el panel divide el lote en peticiones de 3 platillos y te muestra "Publishing 18 / 34…" mientras avanza. No cierres la pestaña del navegador mientras corre: el bloque en curso termina, pero los siguientes no se envían.

Qué instrucciones recibe el modelo

Por si te da curiosidad, el prompt del sistema le pide al modelo:

  • Omitir encabezados de sección y textos descriptivos; solo devolver platillos que se puedan pedir.
  • Separar los platillos con varios precios (por ejemplo, "Mojito — copa $6 / jarra $20") en dos filas distinguidas por un sufijo en el nombre.
  • Bajar la confianza cuando el precio falta, no se lee o la categoría fue una suposición.
  • Devolver categorías de una lista fija: breakfast, appetizer, main, dessert, beverage, snack, general.

Cuando la extracción falla

Si la petición responde "AI extraction is not configured", en este entorno no está definida la constante OPENAI_API_KEY ni la opción hilucy_openai_api_key. Define una (define('OPENAI_API_KEY', '...') en wp-config.php es la forma estándar) e inténtalo de nuevo.

Si la extracción devuelve 0 platillos, probablemente el archivo no era un menú. Confirma que sea el PDF correcto antes de volver a intentarlo.

Si una publicación se atora (viste "signal aborted" o HTTP 524), recarga la página; los platillos que alcanzaron a publicarse siguen en la lista del menú. Vuelve a extraer, desmarca los que ya están y publica el resto.

¿Te resultó útil este artículo?