Files
reformix-hackaton/mvp/image-worker

Reformix Image Worker

Worker de generación de renders fotorrealistas "después" para Reformix. Recibe el perfil completo de un lead desde la app principal, genera imágenes del resultado de la reforma usando IA, las valida y las entrega de vuelta a la app.

Rol en el sistema

App Reformix
    │  POST /perfil-completo (webhook)
    ▼
Render Worker  ←  este proyecto
    │
    ├── Etapa 1: Claude Haiku 4.5 via OpenRouter genera prompt técnico en inglés
    ├── Etapa 2: Gemini 2.0 Flash via OpenRouter genera imagen
    └── Etapa 3: Claude Haiku 4.5 Vision via OpenRouter valida coherencia
    │
    │  POST /api/leads/:id/ingesta (con finalizar:true)
    ▼
App Reformix → PDF → Email → WhatsApp → Cliente

Requisitos

  • Node.js 18+
  • API key de OpenRouter (unica clave para todos los modelos)

Instalación

cd mvp/image-worker
npm install
cp .env.example .env
# Editar .env con tu OPENROUTER_API_KEY
npm run start:dev

Variables de entorno

Variable Descripción Default
PORT Puerto del servidor HTTP 3001
OPENROUTER_API_KEY API key de OpenRouter (unica para todos los modelos)
OPENROUTER_MODEL_TEXTO Modelo para prompt-builder y supervisor anthropic/claude-3.5-haiku-20241022
OPENROUTER_MODEL_IMAGEN Modelo para generación de imágenes google/gemini-2.0-flash-exp-image-generation
REFORMIX_API_URL URL base de la app Reformix http://localhost:3000
FUNNEL_API_KEY API key compartida con la app Reformix
MAX_RETRIES Reintentos por zona si el supervisor rechaza 2
SUPERVISOR_MIN_SCORE Score mínimo para aprobar un render (0-100) 70

Conexión con la app Reformix

En el .env de la app Reformix (mvp/b2c/), configurar:

PERFIL_WEBHOOK_URL=http://localhost:3001/perfil-completo

Pipeline de 3 etapas (todo via OpenRouter)

Etapa 1 — Prompt Builder (Claude Haiku 4.5 via OpenRouter)

Genera un prompt técnico detallado en inglés para el modelo de image-to-image. Incluye materiales, iluminación, paleta de colores, estilo y palabras clave de render arquitectónico.

Modelo: anthropic/claude-3.5-haiku-20241022 Prompt base: prompts/prompt-builder.txt

Etapa 2 — Image Generator (Gemini 2.0 Flash via OpenRouter)

Toma el prompt generado + la foto "antes" del cliente y produce el render "después". Maneja rate limiting (429) con reintento automático.

Modelo: google/gemini-2.0-flash-exp-image-generation

Etapa 3 — Supervisor (Claude Haiku 4.5 Vision via OpenRouter)

Compara la foto "antes" con el render "después" y evalúa coherencia: estilo, materiales, calidad, artefactos. Devuelve score 0-100. Si el score es menor a SUPERVISOR_MIN_SCORE, reintenta desde la Etapa 2 (máximo MAX_RETRIES veces).

Modelo: anthropic/claude-3.5-haiku-20241022

Skills

Archivo Descripción
skills/pipeline.md Orquestación del pipeline de 3 etapas
skills/webhook.md Contrato del webhook entrante /perfil-completo
skills/prompt-builder.md Llamada a OpenRouter para generar prompts
skills/image-generator.md Llamada a OpenRouter para generación de imágenes
skills/supervisor.md Validación de calidad con Claude Haiku Vision via OpenRouter
skills/reformix-api.md Entrega de renders al endpoint /ingesta de la app