platform-marketing-content/docs/03-requerimientos/RF-PMC-004-GENERATION.md
rckrdmrd 74b5ed7f38 feat: Complete documentation update and orchestration configuration
- Update vision, architecture and technical documentation
- Update module definitions (PMC-001 to PMC-008)
- Update requirements documentation
- Add CONTEXT-MAP.yml and ENVIRONMENT-INVENTORY.yml
- Add orchestration guidelines and references

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 05:38:31 -06:00

14 KiB

id title type status priority module project version rf_count created_date updated_date
RF-PMC-004 Generation Module Requirement Done Alta generation platform_marketing_content 1.0 18 2025-12-08 2026-01-04

Requerimientos Funcionales - PMC-004 Generation

Módulo: Generation (Motor IA) Versión: 1.0.0 Fecha: 2025-12-08


Generación de Imágenes

RF-PMC-004-001: Generar Imagen Text-to-Image

Campo Valor
ID RF-PMC-004-001
Nombre Generar Imagen Text-to-Image
Prioridad P1
Actor Creative

Datos de entrada:

  • prompt: string (requerido)
  • negative_prompt: string (opcional)
  • width: number (default: 1024)
  • height: number (default: 1024)
  • seed: number (opcional, aleatorio si no se especifica)
  • steps: number (default: 30)
  • cfg_scale: number (default: 7.5)
  • lora_id: UUID (opcional)
  • brand_id: UUID (opcional, para cargar LoRA automáticamente)

Criterios de aceptación:

  • Imagen se genera correctamente
  • Parámetros se aplican
  • LoRA se carga si especificado
  • Asset se crea automáticamente

RF-PMC-004-002: Generar Imagen Image-to-Image

Campo Valor
ID RF-PMC-004-002
Nombre Generar Imagen Image-to-Image
Prioridad P1
Actor Creative

Datos de entrada:

  • input_image: file/URL (requerido)
  • prompt: string (requerido)
  • strength: number (0.0-1.0, default: 0.75)
  • Otros parámetros de T2I

Criterios de aceptación:

  • Imagen input se procesa correctamente
  • Strength afecta resultado
  • Formatos soportados: PNG, JPG, WebP

RF-PMC-004-003: Aplicar Inpainting

Campo Valor
ID RF-PMC-004-003
Nombre Aplicar Inpainting
Prioridad P2
Actor Creative

Datos de entrada:

  • input_image: file/URL (requerido)
  • mask_image: file (requerido)
  • prompt: string (requerido)
  • Otros parámetros de generación

Descripción: Regenerar solo la parte enmascarada de una imagen.

Criterios de aceptación:

  • Máscara define área a regenerar
  • Resto de imagen preservado
  • Editor de máscara en UI

RF-PMC-004-004: Aplicar Upscaling

Campo Valor
ID RF-PMC-004-004
Nombre Aplicar Upscaling
Prioridad P1
Actor Creative

Datos de entrada:

  • input_image: file/URL (requerido)
  • scale: number (2 o 4)
  • model: string (default: "RealESRGAN")

Criterios de aceptación:

  • Imagen se escala correctamente
  • Calidad mejorada, no solo interpolación
  • Formatos de salida preservados

RF-PMC-004-005: Generar Batch de Imágenes

Campo Valor
ID RF-PMC-004-005
Nombre Generar Batch de Imágenes
Prioridad P1
Actor Creative

Datos de entrada:

  • base_params: object (parámetros comunes)
  • count: number (cantidad a generar)
  • variation_type: string (seed, prompt_variation)

Criterios de aceptación:

  • N imágenes generadas
  • Seeds diferentes por imagen
  • Todas vinculadas al mismo job

RF-PMC-004-006: Remover Fondo

Campo Valor
ID RF-PMC-004-006
Nombre Remover Fondo
Prioridad P2
Actor Creative

Datos de entrada:

  • input_image: file/URL (requerido)

Criterios de aceptación:

  • Fondo removido correctamente
  • Salida PNG con transparencia
  • Bordes suaves en objetos

Generación de Texto

RF-PMC-004-007: Generar Copy Publicitario

Campo Valor
ID RF-PMC-004-007
Nombre Generar Copy Publicitario
Prioridad P1
Actor Creative

Datos de entrada:

  • context: object
    • product_name: string
    • product_description: string
    • brand_tone: string
    • target_audience: string
    • objective: string
  • type: enum (title, description, cta, full_post)
  • max_length: number (opcional)
  • variations: number (default: 3)

Criterios de aceptación:

  • Texto generado coherente
  • Tono respeta brand guidelines
  • Múltiples variaciones disponibles

RF-PMC-004-008: Generar Hashtags

Campo Valor
ID RF-PMC-004-008
Nombre Generar Hashtags
Prioridad P2
Actor Creative

Datos de entrada:

  • context: string (descripción del contenido)
  • count: number (default: 10)
  • platform: string (instagram, twitter, linkedin)

Criterios de aceptación:

  • Hashtags relevantes generados
  • Formato correcto (#hashtag)
  • Sin espacios ni caracteres inválidos

RF-PMC-004-009: Adaptar Tono de Texto

Campo Valor
ID RF-PMC-004-009
Nombre Adaptar Tono de Texto
Prioridad P2
Actor Creative

Datos de entrada:

  • input_text: string (requerido)
  • target_tone: string (formal, casual, playful, professional)

Criterios de aceptación:

  • Mensaje preservado, tono cambiado
  • Opciones de tono claras

Workflows

RF-PMC-004-010: Listar Workflow Templates

Campo Valor
ID RF-PMC-004-010
Nombre Listar Workflow Templates
Prioridad P1
Actor Creative

Datos de salida:

  • Lista de workflows disponibles
  • Por cada uno: nombre, descripción, tipo, inputs requeridos

Criterios de aceptación:

  • Workflows de sistema incluidos
  • Workflows custom del tenant incluidos
  • Filtro por tipo/categoría

RF-PMC-004-011: Ver Detalle de Workflow

Campo Valor
ID RF-PMC-004-011
Nombre Ver Detalle de Workflow
Prioridad P1
Actor Creative

Datos de salida:

  • Descripción completa
  • Inputs requeridos y opcionales
  • Outputs esperados
  • Ejemplos de resultado
  • Tiempo estimado

Criterios de aceptación:

  • Schema de inputs documentado
  • Ejemplos visuales disponibles

RF-PMC-004-012: Ejecutar Workflow

Campo Valor
ID RF-PMC-004-012
Nombre Ejecutar Workflow
Prioridad P1
Actor Creative

Datos de entrada:

  • workflow_id: UUID (requerido)
  • inputs: object (según schema del workflow)
  • campaign_id: UUID (opcional)
  • brand_id: UUID (opcional)

Flujo:

  1. Sistema valida inputs contra schema
  2. Sistema verifica cuotas del tenant
  3. Sistema crea GenerationJob
  4. Sistema encola job
  5. Sistema retorna job_id

Criterios de aceptación:

  • Validación de inputs funciona
  • Job se crea correctamente
  • ID retornado para tracking

RF-PMC-004-013: Crear Workflow Template (Admin)

Campo Valor
ID RF-PMC-004-013
Nombre Crear Workflow Template
Prioridad P3
Actor Tenant Admin

Datos de entrada:

  • name: string
  • description: text
  • type: enum
  • comfyui_workflow: JSON
  • input_schema: JSON
  • output_config: object

Criterios de aceptación:

  • Workflow se almacena correctamente
  • Schema de inputs validado
  • Disponible para usuarios del tenant

Modelos Personalizados

RF-PMC-004-014: Listar Modelos Custom

Campo Valor
ID RF-PMC-004-014
Nombre Listar Modelos Custom
Prioridad P1
Actor Creative

Datos de salida:

  • Lista de LoRAs, checkpoints disponibles
  • Status de cada uno
  • Brand asociada (si aplica)

Criterios de aceptación:

  • Solo modelos del tenant
  • Filtro por tipo y brand
  • Preview images mostradas

RF-PMC-004-015: Registrar Modelo Custom

Campo Valor
ID RF-PMC-004-015
Nombre Registrar Modelo Custom
Prioridad P1
Actor Tenant Admin

Datos de entrada:

  • name: string (requerido)
  • type: enum (lora, checkpoint, embedding)
  • file: upload (requerido)
  • purpose: string
  • trigger_word: string (para LoRAs)
  • brand_id: UUID (opcional)
  • preview_images: array[file]

Criterios de aceptación:

  • Archivo subido a storage
  • Registro en BD
  • Disponible para generación

RF-PMC-004-016: Eliminar Modelo Custom

Campo Valor
ID RF-PMC-004-016
Nombre Eliminar Modelo Custom
Prioridad P2
Actor Tenant Admin

Criterios de aceptación:

  • Confirmación requerida
  • Archivo eliminado de storage
  • Registro eliminado de BD

RF-PMC-004-017: Iniciar Entrenamiento de LoRA

Campo Valor
ID RF-PMC-004-017
Nombre Iniciar Entrenamiento de LoRA
Prioridad P2
Actor Tenant Admin

Datos de entrada:

  • name: string
  • training_images: array[file] (mínimo 10)
  • base_model: string
  • steps: number (default: 1000)
  • learning_rate: number (default: 0.0001)
  • trigger_word: string (requerido)

Criterios de aceptación:

  • Mínimo 10 imágenes validado
  • Job de entrenamiento creado
  • Status actualizado durante entrenamiento
  • Modelo disponible al completar

Cola de Tareas

RF-PMC-004-018: Ver Estado de Cola

Campo Valor
ID RF-PMC-004-018
Nombre Ver Estado de Cola
Prioridad P1
Actor Creative, Tenant Admin

Datos de salida:

  • Jobs en cola (pending)
  • Jobs procesando
  • Jobs completados (recientes)
  • Jobs fallidos (recientes)

Criterios de aceptación:

  • Actualización en tiempo real
  • Filtro por usuario/campaña
  • Progreso visible para jobs activos

RF-PMC-004-019: Ver Detalle de Job

Campo Valor
ID RF-PMC-004-019
Nombre Ver Detalle de Job
Prioridad P1
Actor Creative

Datos de salida:

  • Parámetros de entrada
  • Status y progreso
  • Timestamps
  • Outputs generados
  • Error (si falló)

Criterios de aceptación:

  • Toda la información visible
  • Links a assets generados

RF-PMC-004-020: Cancelar Job

Campo Valor
ID RF-PMC-004-020
Nombre Cancelar Job
Prioridad P2
Actor Creative

Precondiciones:

  • Job en status "queued"

Criterios de aceptación:

  • Job cambia a "cancelled"
  • No se ejecuta
  • Cuota no consumida

RF-PMC-004-021: Reintentar Job Fallido

Campo Valor
ID RF-PMC-004-021
Nombre Reintentar Job Fallido
Prioridad P2
Actor Creative

Precondiciones:

  • Job en status "failed"

Criterios de aceptación:

  • Nuevo job creado con mismos parámetros
  • Original marcado como "retried"
  • Hasta 3 reintentos permitidos

RF-PMC-004-022: Cambiar Prioridad de Job (Admin)

Campo Valor
ID RF-PMC-004-022
Nombre Cambiar Prioridad de Job
Prioridad P3
Actor Tenant Admin

Precondiciones:

  • Job en status "queued"

Criterios de aceptación:

  • Prioridad actualizada
  • Posición en cola recalculada

Integración ComfyUI

RF-PMC-004-023: Enviar Workflow a ComfyUI

Campo Valor
ID RF-PMC-004-023
Nombre Enviar Workflow a ComfyUI
Prioridad P1
Actor Sistema

Descripción: El sistema debe enviar workflows a ComfyUI para ejecución.

Criterios de aceptación:

  • Payload correcto enviado
  • Respuesta de ComfyUI procesada
  • Errores manejados correctamente

RF-PMC-004-024: Recibir Resultados de ComfyUI

Campo Valor
ID RF-PMC-004-024
Nombre Recibir Resultados de ComfyUI
Prioridad P1
Actor Sistema

Descripción: El sistema debe procesar callbacks/webhooks de ComfyUI con resultados.

Criterios de aceptación:

  • Imágenes descargadas y almacenadas
  • Assets creados automáticamente
  • Job actualizado a "completed"

RF-PMC-004-025: Monitorear Progreso en ComfyUI

Campo Valor
ID RF-PMC-004-025
Nombre Monitorear Progreso en ComfyUI
Prioridad P2
Actor Sistema

Descripción: Tracking de progreso durante ejecución del workflow.

Criterios de aceptación:

  • Websocket conectado a ComfyUI
  • Progreso actualizado en tiempo real
  • Propagado a frontend

Validaciones

RF-PMC-004-026: Validar Cuota Antes de Generación

Campo Valor
ID RF-PMC-004-026
Nombre Validar Cuota Antes de Generación
Prioridad P1
Actor Sistema

Descripción: Verificar límites del tenant antes de aceptar job.

Criterios de aceptación:

  • Generaciones mensuales verificadas
  • Storage verificado para outputs
  • Error claro si excede límite

RF-PMC-004-027: Agregar Negative Prompts Automáticos

Campo Valor
ID RF-PMC-004-027
Nombre Agregar Negative Prompts Automáticos
Prioridad P2
Actor Sistema

Descripción: Añadir negative prompts de calidad estándar.

Negative prompts por defecto:

  • "blurry, low quality, watermark, signature, bad anatomy, deformed..."

Criterios de aceptación:

  • Negativos agregados automáticamente
  • Usuario puede sobreescribir
  • Configurables por tenant

RF-PMC-004-028: Cargar Identidad de Marca Automáticamente

Campo Valor
ID RF-PMC-004-028
Nombre Cargar Identidad de Marca Automáticamente
Prioridad P1
Actor Sistema

Descripción: Al generar para una campaña/marca, cargar automáticamente:

  • LoRAs asociados
  • Colores de marca (para prompts)
  • Forbidden words (para negative prompts)
  • Tono de voz (para texto)

Criterios de aceptación:

  • LoRA se inyecta en workflow
  • Colores incluidos en prompt si aplica
  • Forbidden words en negative prompt

Resumen

Prioridad Cantidad
P1 17
P2 9
P3 2
Total 28

Documento generado por: Requirements-Analyst Fecha: 2025-12-08