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

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

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

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

Comentarios

Aún no hay comentarios. ¿Por qué no comienzas el debate?

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.