- 0. Curso Flutter + .NET 8 + Novita AI: índice completo
- 1. Arquitectura Flutter + backend .NET 8 con Novita AI
- 2. Configurar entorno .NET 8 + Flutter + Firebase + Novita AI
- 3. Backend .NET 8: Auth Firebase y esqueleto API
- 4. Integrar Novita AI: text-to-image e image-to-image en .NET 8
- 5. Webhook Novita y procesamiento asíncrono
- 6. Firestore, modelos y endpoints de dominio
- 7. Flutter: login Google y configuración API
- 8. Flutter: subida de imagen y creación de invitaciones
- 9. Listado, estado y detalle de invitaciones
- 10. ControlNet completo en backend y Flutter
- 11. LLM con Novita: img2prompt y adaptación de prompts
- 12. Despliegue, checklist final y publicación WordPress
- Bonus 01: vídeo con FFmpeg y flujo opcional
- Bonus 02: importador de modelos Novita a Firestore
- Bonus 03: Prompt Generator y administración básica
Actualizado: 20 de febrero de 2026.
En este capítulo cierras el flujo de entrada de usuario: prompt, foto, estilo y envío al backend.
Prerrequisitos
- Tener clonado o disponible
codigo/de esta serie. - Contar con Firebase y Novita configurados para pruebas.
- Haber completado el capítulo anterior del curso.
Paso 1: pantalla de creación
Archivo:
codigo/app/lib/screens/create_invitation_screen.dart
Componentes principales:
- Selector de estilo base/LoRA.
- Prompt libre.
- Selector de foto (cámara/galería).
- Botón “Generar”.
Paso 2: subida de imagen
Archivo:
codigo/app/lib/services/api_service.dart
uploadFile(File file):
- Redimensiona si hace falta.
- Sube a Firebase Storage.
- Devuelve URL pública.
Paso 3: construir request de creación
Se envían campos como:
photoUrl(si hay imagen)prompt(si hay texto)modelBaseIdy opcionalloraIdformat,orientation,style
Paso 4: llamada al backend
createInvitation(Map<String, dynamic> request) hace POST /api/invitations/create.
Verificación rápida
cd codigo/app
rg -n "createInvitation|uploadFile|photoUrl|modelBaseId" lib -S
Troubleshooting
- Error de subida: revisa reglas de Storage y sesión autenticada.
createdevuelve 400: payload incompleto (modelo/prompt/imagen).- Error CORS en web: ajusta policy en backend.
FAQ corta
¿Puedo crear invitación solo con prompt?
Sí, el backend usa txt2img cuando no hay photoUrl.
¿Puedo crear solo con imagen?
Sí, si hay photoUrl el backend usa img2img.
¿Dónde se ve el resultado final?
En “Mis Creaciones” cuando webhook actualiza la invitación.
Fuente verificada
- Código del curso:
codigo/app/lib/screens/create_invitation_screen.dartcodigo/app/lib/services/api_service.dartcodigo/backend/InvitaIA.Api/Controllers/InvitationsController.cs
Share this content: