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 |