Drake Designer es la herramienta interna de Drakorp que genera paquetes-producto entregables (mockup de envase + etiqueta integrada nativamente) con calidad comercial premium tipo Montelobos / 400 Conejos / Amarás. Cada paquete se vende al cliente entre 45 y 80 mil pesos MXN. El costo de generación interno es de ~$0.18 USD por paquete final (incluye botella + etiqueta integrada + QC visual).
Diferencia clave vs M7.2: la etiqueta ya NO es un PNG plano sobrepuesto. Ahora OpenAI gpt-image-1 redibuja la zona de la etiqueta como parte de la foto original, respetando curvatura, iluminación y sombras de la escena. El resultado se ve como fotografía real de producto, no como mockup con sticker pegado encima.
Vision check independiente con Claude Haiku 4.5 reporta Quality 9/10, integración natural en las 3 botellas de referencia.
[Brief: brand_id, brand_name, prompt_botella, subtitle, style]
│
▼
[1. image_cascade] → Botella foto realista (1024x1024)
Cloudflare SDXL / FLUX / Dreamshaper - 6 modelos gratis
│ ~7-10 s
▼
[2. vision_analyst] → Claude Haiku 4.5 vision analiza la botella
• tipo_envase, contraste, curvatura, fuente recomendada
• para auto-seleccionar color de etiqueta (copper/gold)
│ ~5-7 s
▼
[3. image_integrator] → OpenAI gpt-image-1 (quality=high) redibuja la zona
de etiqueta integrada nativamente al envase
• Sin texto alucinado (texto exacto en prompt)
• Sin border duro de PNG sobrepuesto
• Sigue curvatura e iluminación real
│ ~30-50 s (~$0.17 USD)
▼
[4. qc_visual] → Claude Haiku vision evalúa el composite final
• score 0-100, aprobado true/false
• issues estructurados + fortalezas
│ ~5-7 s
▼
[Output: composite_final.png, bottle_base.png, analisis.json,
debug.json, qc_report.json, manifest.json]
Tiempo total: 60-90 segundos por botella. Costo total: ~$0.17 USD por composite + $0.01 USD vision LLM = ~$0.18 USD = ~$3 MXN.
curl -X POST https://design.drakorpgroup.com/api/designer/run \
-H "Content-Type: application/json" \
-d '{
"brand_id": 14,
"brand_name": "MEZCAL CIELO ROTO",
"prompt_botella": "Premium artisan Mexican mezcal in elegant black ceramic bottle, hand-thrown Oaxacan barro negro, matte finish, smooth wide central body for label placement, copper colored cap, dark moody studio lighting, professional product photography",
"subtitle": "Barro Negro Coyotepec",
"style": "vintage"
}'
Respuesta típica:
{
"ok": true,
"session": "marca_14_1779347073",
"status": "approved",
"qc_score": 85,
"integrator": "openai_gpt-image-1",
"editor_url": "/editor?s=marca_14_1779347073",
"composite_url": "/files/marca_14_1779347073/composite_final.png",
"total_time_s": 63.05
}
cd /opt/drake/designer
./venv/bin/python3 engine/pipeline_v3.py \
14 "MEZCAL CIELO ROTO" \
"<prompt botella>" \
"Barro Negro Coyotepec" \
"vintage"
| Método | Endpoint | Función |
|---|---|---|
| GET | /galeria |
Vista visual de todas las sesiones aprobadas |
| GET | /editor?s=<session> |
Editor (modo visualización en M7.3) |
| GET | /manual |
Este manual en HTML |
| GET | /manual.md |
Este manual en Markdown descargable |
| GET | /entregables |
JSON con lista de todas las sesiones + scores |
| GET | /files/<session>/<archivo> |
Servir archivos finales |
| POST | /api/designer/run |
Pipeline V3 completo end-to-end |
| POST | /api/designer/recompose |
(Solo M7.2) Re-aplicar etiqueta con valores nuevos |
| POST | /api/designer/reqc |
Re-correr QC sobre composite existente |
| POST | /api/designer/save |
Marcar versión actual como final |
| GET | /api/health |
Health check del service |
style)| Estilo | Descripción |
|---|---|
vintage |
Vintage artisan premium, serif clásico tipo Cinzel/Trajan, papel cream |
modern |
Minimal moderno premium, serif limpio, papel cream/blanco |
art_deco |
Art deco luxury, tipografía geométrica decorativa, papel cream/dorado |
color)| Color | Descripción | Cuándo usar |
|---|---|---|
copper |
Copper-foil cobre brillante | Botellas oscuras, mezcal premium |
gold |
Gold-foil dorado | Decanters claros, edición limitada |
black |
Negro profundo | Botellas claras, minimalista |
dark_brown |
Marrón chocolate | Tequilas añejos, vinos |
URL: https://design.drakorpgroup.com/editor?s=<session_id>
Cuando una sesión es M7.3 con integrator=openai_gpt-image-1, el editor muestra:
- El composite final con la etiqueta integrada nativamente
- Los sliders y campos de texto quedan deshabilitados porque la etiqueta es parte del píxel, no una capa sobrepuesta
- Aparece un aviso verde: "Etiqueta integrada nativamente. Las ediciones requieren regenerar (~$0.17 USD por iteración)"
Si quieres cambiar texto/posición/estilo en M7.3, debes regenerar desde el pipeline completo con los nuevos parámetros.
Para sesiones m7.2.0 (anteriores), el editor sí permite editar en vivo: - Texto: línea 1, línea 2, subtítulo - Estilo: preset de contraste, fuente - Posición: X, Y, Width, Height (% del envase) - Live preview con debounce de 600ms - Re-evaluar QC, Guardar final, Descargar PNG
| Score | Color | Significado |
|---|---|---|
| 90-100 | 🟢 Verde | Perfecto, listo para cliente |
| 80-89 | 🟢 Lima | Aprobable, ajustes opcionales |
| 60-79 | 🟡 Amarillo | Requiere correcciones |
| <60 | 🔴 Rojo | Rechazar, regenerar |
| Severidad | Acción sugerida |
|---|---|
| 🔴 crítico | Bloquea entrega — debe corregirse |
| 🟡 mayor | Recomendado corregir |
| 🔵 menor | Ajuste cosmético opcional |
/opt/drake/designer/entregables/marca_<brand_id>_<timestamp>/
| Archivo | Contenido |
|---|---|
bottle_base.png |
Botella generada por cascade (1024x1024, sin etiqueta) |
composite_final.png |
Resultado final — botella + etiqueta integrada nativamente |
analisis.json |
Output de vision_analyst (tipo envase, paleta, fuente) |
debug.json |
Metadata del integrator (modelo, quality, usage, prompt) |
qc_report.json |
Score + issues + fortalezas del QC |
manifest.json |
Metadata final + status + layers |
Permisos esperados: vpsexec:www-data 664 (uvicorn escribe, nginx lee).
Validados mayo 2026:
| Modelo | Provider | Tiempo medio | Calidad | Uso |
|---|---|---|---|---|
| cf-sdxl | Cloudflare Workers AI | 7.14s | Alta — fotorealismo | Default photo task |
| cf-dreamshaper | Cloudflare Workers AI | 5.85s | Alta — estilizado | Variante artistic |
| cf-flux-schnell | Cloudflare Workers AI | 2.66s | Media — FLUX rápido | Fast iterations |
| cf-sdxl-lightning | Cloudflare Workers AI | 2.74s | Media — SDXL turbo | Fast iterations |
| polli-flux | Pollinations | 6.55s | Media — FLUX 1.1 | Fallback |
| polli-zimage | Pollinations | 5.97s | Media — alternativa | Fallback |
Cuota Cloudflare: 10K neurons/día. Sobrado para uso intensivo.
En /opt/drake/.env:
ANTHROPIC_API_KEY=sk-ant-... # Para vision_analyst y qc_visual (Haiku 4.5)
OPENAI_API_KEY=sk-proj-... # Para image_integrator (gpt-image-1)
CLOUDFLARE_API_TOKEN=... # Para cascade Cloudflare
CLOUDFLARE_ACCOUNT_ID=...
GEMINI_API_KEY=... # Opcional (text-only OK, image bloqueado en free tier)
En /opt/drake/designer/config/secrets.json:
{
"pollinations_api_key": "sk_..."
}
sudo systemctl status drake-designer.service
sudo systemctl restart drake-designer.service
sudo journalctl -u drake-designer -f
cd /opt/drake/designer
./venv/bin/python3 engine/pipeline_v3.py 14 "MEZCAL CIELO ROTO" \
"Premium artisan mezcal bottle, ..." \
"Barro Negro Coyotepec" "vintage"
./venv/bin/python3 engine/image_cascade.py health
./venv/bin/python3 engine/image_integrator.py \
/opt/drake/designer/entregables/marca_14_1779347073/bottle_base.png \
"MEZCAL CIELO ROTO" "Barro Negro Coyotepec"
Causa: el composite_final.png quedó con owner www-data:www-data y uvicorn corre como vpsexec. Solución:
sudo chown -R vpsexec:www-data /opt/drake/designer/entregables/marca_XXX/
sudo chmod -R 775 /opt/drake/designer/entregables/marca_XXX/
sudo find /opt/drake/designer/entregables/marca_XXX/ -type f -exec chmod 664 {} \;
Causa: quality=medium o low en el integrator. Solución: usar quality=high siempre en producción. M7.3 ya lo hace por default.
Probablemente el prompt del cascade no está pidiendo zona limpia para etiqueta. Mejorar prompt: pedir explícitamente "smooth flat surface for label", "clean middle section", "no engravings in middle".
La key está en /opt/drake/.env como OPENAI_API_KEY. Verificar saldo en https://platform.openai.com/usage.
Pollinations rechaza prompts cortos o sin descriptores ricos. El cascade los marca como fail y pasa al siguiente modelo. No es bloqueante (Cloudflare cubre).
Verificar HTTP 200 en /files/<session>/composite_final.png y perms 664.
| Item | Costo USD |
|---|---|
| Generación botella (cf-sdxl) | $0.00 |
| Análisis vision (Haiku) | $0.005 |
| Integración etiqueta (gpt-image-1 high 1024) | $0.17 |
| QC vision (Haiku) | $0.005 |
| Total por paquete final | ~$0.18 = ~$3 MXN |
| Precio venta Drakorp | 45,000 - 80,000 MXN |
| Margen IA puro | >99.99% |
Las 3 sesiones M7.3 validadas:
| Sesión | Score QC | Visual (Haiku) | Texto detectado |
|---|---|---|---|
| marca_14_1779347073 (Barro Negro Coyotepec) | 85/100 | 9/10 natural | MEZCAL CIELO ROTO Barro Negro Coyotepec |
| marca_14_1779347136 (Edición Limitada Decanter) | 85/100 | 9/10 natural | MEZCAL CIELO ROTO Edición Limitada |
| marca_14_1779347203 (Cerámica Zapoteca) | 87/100 | 9/10 natural | MEZCAL CIELO ROTO Cerámica Zapoteca |
URLs visuales: - https://design.drakorpgroup.com/galeria - https://design.drakorpgroup.com/files/marca_14_1779347073/composite_final.png - https://design.drakorpgroup.com/files/marca_14_1779347136/composite_final.png - https://design.drakorpgroup.com/files/marca_14_1779347203/composite_final.png
Versión: m7.3.0 Última actualización: 2026-05-21 Mantenedor: Drakorp Group · Mario Ayrton