Lienzo Abierto: una galería de imágenes para aprender, adaptar y hacer tuya
Una galería de imágenes con búsqueda, favoritos e importación local. Código abierto, ilustraciones de ejemplo y un recorrido para adaptarla.
Guía completa para activar ControlNet en Flutter y backend .NET 8 usando Novita AI con imagen guía, modelo de control y strength.

Actualizado: 20 de febrero de 2026.
Este capítulo añade control estructural real al resultado IA mediante ControlNet.
codigo/ de esta serie.controlPreprocessor.Invitation: controlPreprocessor.NovitaService.StartGenerationAsync añade request.controlnet.units cuando hay imagen guía.controlModelIdcontrolStrengthcontrolPreprocessorCuando ControlNet está activo se añade a request:
controlnet.units[0].modelcontrolnet.units[0].weightcontrolnet.units[0].preprocessorcontrolnet.units[0].image (base64)flowchart LR
A[Flutter Create Screen] --> B[controlImage + model + strength + preprocessor]
B --> C[POST /api/invitations/create]
C --> D[NovitaService StartGenerationAsync]
D --> E[request.controlnet.units]
E --> F[Novita async task]
cd codigo
rg -n "controlPreprocessor|controlnet|controlImageUrl|controlStrength" backend app -S
controlStrength demasiado bajo.controlModelId inválido.controlImageUrl no subió correctamente.No, lo condiciona; el prompt sigue siendo clave.
controlStrength?Empieza en 0.8 y ajusta según rigidez deseada.
controlPreprocessor?No, backend inferirá uno por defecto si no se envía.
codigo/backend/InvitaIA.Api/Models/InvitationRequest.cscodigo/backend/InvitaIA.Api/Services/NovitaService.cscodigo/app/lib/screens/create_invitation_screen.dart