8. Flutter: subida de imagen y creación de invitaciones

Curso Flutter y .NET 8 con Novita AI: índice completo paso a paso

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

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

  1. Tener clonado o disponible codigo/ de esta serie.
  2. Contar con Firebase y Novita configurados para pruebas.
  3. 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:

  1. Selector de estilo base/LoRA.
  2. Prompt libre.
  3. Selector de foto (cámara/galería).
  4. Botón “Generar”.

Paso 2: subida de imagen

Archivo:

  • codigo/app/lib/services/api_service.dart

uploadFile(File file):

  1. Redimensiona si hace falta.
  2. Sube a Firebase Storage.
  3. Devuelve URL pública.

Paso 3: construir request de creación

Se envían campos como:

  1. photoUrl (si hay imagen)
  2. prompt (si hay texto)
  3. modelBaseId y opcional loraId
  4. format, 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

  1. Error de subida: revisa reglas de Storage y sesión autenticada.
  2. create devuelve 400: payload incompleto (modelo/prompt/imagen).
  3. 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.dart
    • codigo/app/lib/services/api_service.dart
    • codigo/backend/InvitaIA.Api/Controllers/InvitationsController.cs

Share this content:

Curso Flutter y .NET 8 con Novita AI: índice completo paso a paso

7. Flutter: login Google y configuración API 9. Listado, estado y detalle de invitaciones

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.