- 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>
19 KiB
| id | title | type | project | version | updated_date |
|---|---|---|---|---|---|
| CMS-GUIDE | CMS Guide - Platform Marketing Content | Documentation | platform_marketing_content | 1.0.0 | 2026-01-04 |
CMS Guide - Platform Marketing Content
Overview
Esta guía explica cómo usar Platform Marketing Content (PMC) como un Content Management System (CMS) para gestión de contenido de marketing asistido por IA.
PMC combina las capacidades de un CMS tradicional con herramientas de generación de contenido AI, permitiendo a equipos de marketing crear, gestionar y distribuir contenido de manera eficiente.
Core Concepts
1. Projects (Proyectos)
Los proyectos son contenedores organizacionales para campañas de marketing.
Características:
- Nombre y descripción
- Miembros del equipo
- Assets asociados
- Campañas
- Timeline y deadlines
Casos de uso:
- Lanzamiento de producto
- Campaña estacional
- Rebranding
- Serie de contenido
Ejemplo:
Proyecto: Lanzamiento Producto X
├── Assets
│ ├── Logo del producto
│ ├── Imágenes promocionales (10)
│ └── Videos demo (3)
├── Campañas
│ ├── Email marketing
│ ├── Social media
│ └── Blog posts
└── Miembros
├── John (Owner)
├── Sarah (Designer)
└── Mike (Copywriter)
2. Assets (Recursos Digitales)
Los assets son archivos digitales (imágenes, videos, documentos) que se usan en las campañas.
Tipos soportados:
- Imágenes: JPG, PNG, SVG, WebP
- Videos: MP4, MOV, AVI
- Documentos: PDF, DOCX
- Otros: GIF, PSD (future)
Metadata:
- Tags (categorización)
- Colecciones
- Versiones
- Autor y fecha de creación
- Dimensiones (imágenes)
- Duración (videos)
Organización:
- Por proyecto
- Por tipo
- Por tags
- Por fecha
3. Templates (Plantillas)
Las templates son plantillas reutilizables para generación de contenido.
Tipos:
- Text templates (emails, blogs, social posts)
- Image templates (ComfyUI workflows)
- Video templates (future)
Componentes:
- Prompt base
- Variables dinámicas
- Configuración de modelo AI
- Post-processing rules
Ejemplo:
**Template:** Email promocional de producto
**Prompt:**
Escribe un email promocional para {product_name} dirigido a {target_audience}.
Características del producto:
{product_features}
Tono: {tone} (profesional, casual, entusiasta)
Longitud: {length} palabras
Incluye:
- Subject line llamativo
- Introducción atractiva
- Beneficios clave
- Call to action claro
4. Campaigns (Campañas)
Las campañas agrupan contenido relacionado con un objetivo específico.
Elementos:
- Nombre y objetivo
- Canales (email, social, web)
- Schedule (fechas de publicación)
- Audience segments
- Performance metrics
Workflow:
1. Crear campaña
2. Definir audiencia
3. Generar contenido (AI)
4. Revisar y editar
5. Programar publicación
6. Monitorear resultados
5. Generation Jobs (Trabajos de Generación)
Los generation jobs son trabajos asíncronos de generación de contenido con IA.
Estados:
pending- En colaprocessing- Generandocompleted- Completadofailed- Falló
Tipos:
- Text generation (GPT-4, Claude)
- Image generation (ComfyUI)
- Batch generation (múltiples items)
User Interface
Dashboard
El dashboard principal muestra:
┌─────────────────────────────────────────────┐
│ Platform Marketing Content │
│ ┌────────────┐ ┌────────────┐ ┌─────────┐ │
│ │ Projects │ │ Assets │ │ Queue │ │
│ │ 12 │ │ 1,234 │ │ 5 │ │
│ └────────────┘ └────────────┘ └─────────┘ │
│ │
│ Recent Projects │
│ ┌────────────────────────────────────────┐ │
│ │ Product Launch Q1 2025 Active │ │
│ │ Summer Campaign Planning │ │
│ │ Rebranding Project Paused │ │
│ └────────────────────────────────────────┘ │
│ │
│ Recent Generations │
│ ┌────────────────────────────────────────┐ │
│ │ Email copy for Product X Completed │ │
│ │ Hero image variations Processing │ │
│ │ Social media posts (10) Pending │ │
│ └────────────────────────────────────────┘ │
└─────────────────────────────────────────────┘
Project View
Tabs:
- Overview - Información general, timeline
- Assets - Biblioteca de assets del proyecto
- Campaigns - Campañas asociadas
- Generation - Historial de generaciones
- Analytics - Métricas de performance
Asset Library
Características:
- Grid/List view
- Search bar (full-text)
- Filters (tipo, tags, fecha)
- Bulk operations (delete, tag, move)
- Preview modal
- Download/Share
Actions:
- Upload new asset
- Generate with AI
- Edit metadata
- Create collection
- Share with team
Generation Interface
Text Generation:
┌─────────────────────────────────────────────┐
│ Generate Text Content │
│ │
│ Template: [Email Promocional ▼] │
│ │
│ Variables: │
│ Product Name: [________________] │
│ Target Audience: [________________] │
│ Tone: [Profesional ▼] │
│ Length: [200] words │
│ │
│ Model: [GPT-4 ▼] Temperature: [0.7] │
│ │
│ [Preview Prompt] [Generate] [Schedule] │
└─────────────────────────────────────────────┘
Image Generation:
┌─────────────────────────────────────────────┐
│ Generate Image │
│ │
│ Workflow: [Product Hero Image ▼] │
│ │
│ Prompt: │
│ ┌─────────────────────────────────────────┐│
│ │ Modern smartphone on clean background, ││
│ │ professional product photography, ││
│ │ soft lighting, high detail ││
│ └─────────────────────────────────────────┘│
│ │
│ Negative Prompt: [________________] │
│ │
│ Model: [FLUX-dev ▼] Steps: [30] │
│ Size: [1024x1024 ▼] Batch: [4] │
│ │
│ [Preview Settings] [Generate] │
└─────────────────────────────────────────────┘
Common Workflows
Workflow 1: Create Marketing Campaign
Step 1: Create Project
1. Dashboard → New Project
2. Name: "Summer Sale 2025"
3. Description: "Promote 30% discount on all products"
4. Add team members
5. Set deadline: June 1, 2025
Step 2: Generate Email Content
1. Projects → Summer Sale → Generate
2. Select template: "Promotional Email"
3. Fill variables:
- Product: "All Products"
- Discount: "30%"
- Tone: "Enthusiastic"
4. Click Generate
5. Wait for job completion
6. Review and edit generated copy
Step 3: Generate Visual Assets
1. Projects → Summer Sale → Generate
2. Select workflow: "Sale Banner"
3. Prompt: "Summer sale banner, 30% off, beach theme"
4. Generate 4 variations
5. Download best variant
6. Upload to asset library
Step 4: Create Campaign
1. Projects → Summer Sale → New Campaign
2. Name: "Email Blast - Week 1"
3. Channel: Email
4. Audience: All subscribers
5. Schedule: June 1, 2025, 9:00 AM
6. Attach email copy and banner
Step 5: Launch & Monitor
1. Review campaign
2. Click Launch
3. Monitor analytics dashboard
4. Track opens, clicks, conversions
Workflow 2: Batch Generate Social Media Posts
// API example
POST /api/generation/batch
{
"template_id": "social-media-post",
"model": "gpt-4",
"count": 10,
"variables": {
"product": "New Smartphone X",
"platform": ["twitter", "instagram", "facebook"],
"tone": "engaging",
"include_hashtags": true
}
}
// Response
{
"job_id": "uuid",
"status": "pending",
"estimated_time": "2 minutes"
}
Workflow 3: Create Asset Collection
Purpose: Organize brand assets
1. Asset Library → New Collection
2. Name: "Brand Kit 2025"
3. Description: "Official brand assets"
4. Add assets:
- Logo (all formats)
- Color palette
- Typography guide
- Brand guidelines PDF
5. Set permissions (view/download)
6. Share link with team
AI Generation Features
Text Generation
Supported Models:
- GPT-4 (OpenAI) - Best for long-form content
- GPT-3.5 Turbo - Faster, good for short content
- Claude 3 Opus (Anthropic) - Creative writing
- Claude 3 Sonnet - Balanced speed/quality
Use Cases:
- Email marketing copy
- Blog posts
- Social media captions
- Product descriptions
- Ad copy
- SEO meta descriptions
Parameters:
model- AI model to usetemperature- Creativity (0.0-1.0)max_tokens- Max output lengthtop_p- Nucleus samplingpresence_penalty- Avoid repetitionfrequency_penalty- Avoid common phrases
Example:
{
"model": "gpt-4",
"temperature": 0.7,
"max_tokens": 500,
"prompt": "Write a blog post about the benefits of AI in marketing"
}
Image Generation
Supported Models:
- Stable Diffusion 1.5
- Stable Diffusion XL
- FLUX-dev (realistic)
- FLUX-schnell (fast)
Use Cases:
- Product mockups
- Hero images
- Social media graphics
- Banner ads
- Illustrations
- Concept art
Parameters:
prompt- Description of imagenegative_prompt- What to avoidmodel- AI modelsteps- Quality (20-50)cfg_scale- Prompt adherence (7-12)width/height- Dimensionsseed- Reproducibilitybatch_size- Number of variations
Example:
{
"model": "flux-dev",
"prompt": "Professional product photo of a smartwatch, clean background",
"negative_prompt": "blurry, low quality, watermark",
"steps": 30,
"cfg_scale": 7.5,
"width": 1024,
"height": 1024,
"batch_size": 4
}
Advanced Features
ControlNet (Images):
- Pose control
- Depth control
- Edge detection
- Segmentation
Inpainting:
- Remove objects
- Replace backgrounds
- Modify specific areas
Upscaling:
- Increase resolution
- Enhance details
Template System
Create Text Template
Structure:
name: "Product Launch Email"
description: "Email template for product launches"
category: "email"
variables:
- name: product_name
type: string
required: true
- name: launch_date
type: date
required: true
- name: key_features
type: array
required: true
- name: tone
type: enum
options: [professional, casual, enthusiastic]
default: professional
prompt: |
Write an email announcing the launch of {product_name} on {launch_date}.
Key features:
{key_features}
Tone: {tone}
Include:
1. Exciting subject line
2. Brief introduction
3. 3-4 key benefits
4. Clear CTA to learn more
5. Professional sign-off
Keep it under 200 words.
settings:
model: gpt-4
temperature: 0.7
max_tokens: 500
Create Image Template
ComfyUI Workflow:
{
"name": "Product Hero Image",
"description": "Professional product photography style",
"workflow": {
"nodes": [
{
"id": 1,
"type": "CheckpointLoaderSimple",
"inputs": {
"ckpt_name": "flux-dev.safetensors"
}
},
{
"id": 2,
"type": "CLIPTextEncode",
"inputs": {
"text": "{{prompt}}, professional product photography, clean background, soft lighting"
}
},
{
"id": 3,
"type": "KSampler",
"inputs": {
"steps": 30,
"cfg": 7.5,
"width": 1024,
"height": 1024
}
}
]
},
"variables": {
"prompt": "Product description"
}
}
Asset Management
Upload Assets
Methods:
- Drag & Drop - Arrastra archivos al área de upload
- File Browser - Click para seleccionar
- Bulk Upload - Múltiples archivos simultáneos
- API Upload - Programático
Validation:
- Max file size: 50MB (configurable)
- Allowed types: images, videos, documents
- Malware scan (ClamAV)
- Duplicate detection
Metadata Management
Automatic:
- File type, size, dimensions
- Upload date, uploader
- Checksum (MD5)
Manual:
- Title and description
- Tags
- Category
- Copyright info
- Alt text (accessibility)
Search & Filter
Search by:
- Filename
- Tags
- Description
- File type
- Upload date
- Uploader
Full-text search:
GET /api/assets/search?q=product+launch&type=image&tags=hero
Response:
{
"results": [
{
"id": "uuid",
"filename": "product-hero-v2.png",
"tags": ["hero", "product", "launch"],
"url": "https://cdn.example.com/..."
}
],
"total": 15,
"page": 1
}
Collections
Purpose: Agrupar assets relacionados
Use Cases:
- Brand kit (logos, colors, fonts)
- Campaign assets (specific project)
- Stock photos (generic)
- Templates (reusable)
Features:
- Public/Private visibility
- Share links
- Bulk download
- Permissions (view/edit/download)
Automation
Scheduled Generation
Use Case: Generate content at specific times
POST /api/automation/schedule
{
"name": "Daily social post",
"template_id": "social-media-post",
"schedule": "0 9 * * *", // Cron: Every day at 9 AM
"variables": {
"topic": "Daily tip",
"platform": "twitter"
},
"auto_publish": false // Save as draft
}
Webhooks
Trigger on events:
- Asset uploaded
- Generation completed
- Campaign launched
- Analytics threshold reached
Example:
POST /api/webhooks
{
"url": "https://your-app.com/webhook",
"events": ["generation.completed", "asset.uploaded"],
"secret": "webhook_secret"
}
// Webhook payload
{
"event": "generation.completed",
"timestamp": "2025-12-12T10:00:00Z",
"data": {
"job_id": "uuid",
"type": "image",
"status": "completed",
"result_url": "https://..."
}
}
Batch Operations
Apply actions to multiple items:
- Bulk tag
- Bulk delete
- Bulk move to collection
- Bulk download
- Batch generation
Analytics & Reporting
Metrics Tracked
Asset Performance:
- Views
- Downloads
- Shares
- Usage in campaigns
Generation Stats:
- Jobs completed
- Success rate
- Average generation time
- Cost (API usage)
Campaign Performance:
- Impressions
- Clicks
- Conversions
- ROI
Reports
Available Reports:
- Asset Usage Report - Most/least used assets
- Generation Report - AI usage statistics
- Campaign Performance - Campaign metrics
- Team Activity - User activity logs
Export Formats:
- CSV
- JSON
Best Practices
Content Organization
-
Use consistent naming:
project-name_asset-type_version.ext- Example:
summer-sale_hero-banner_v2.png
-
Tag systematically:
- Type:
image,video,document - Category:
hero,thumbnail,icon - Project:
summer-sale,product-launch
- Type:
-
Create collections for:
- Brand assets
- Evergreen content
- Seasonal campaigns
Generation Tips
Text:
- Be specific in prompts
- Use examples for style
- Iterate on temperature
- Review and edit outputs
Images:
- Use descriptive prompts
- Include style keywords
- Generate multiple variations
- Use negative prompts
Performance
-
Optimize asset uploads:
- Compress before upload
- Use appropriate formats (WebP for web)
- Delete unused assets
-
Batch operations:
- Generate multiple items at once
- Use batch endpoints for efficiency
-
Cache management:
- Clear old generations
- Archive completed projects
Troubleshooting
Generation Failed
Possible causes:
- Invalid prompt
- Model timeout
- API quota exceeded
- ComfyUI error
Solution:
- Check job error message
- Retry with adjusted parameters
- Contact support if persists
Slow Upload
Possible causes:
- Large file size
- Network issues
- Server load
Solution:
- Compress files before upload
- Use batch upload for multiple files
- Check internet connection
Asset Not Found
Possible causes:
- Deleted asset
- Incorrect permissions
- Expired share link
Solution:
- Verify asset exists in library
- Check permissions
- Generate new share link
API Reference
See full API documentation: API.md
Quick Reference:
// Upload asset
POST /api/assets/upload
Content-Type: multipart/form-data
// Generate text
POST /api/generation/text
{
"template_id": "uuid",
"variables": {...}
}
// Generate image
POST /api/generation/image
{
"workflow_id": "uuid",
"prompt": "...",
"settings": {...}
}
// Get generation status
GET /api/generation/jobs/:jobId
// List assets
GET /api/assets?project_id=uuid&tags=hero&page=1&limit=20
Support & Resources
- Documentation: /docs
- API Docs: API.md
- Architecture: ARCHITECTURE.md
- Issues: GitHub Issues
- Discord: Community support (future)
Glossary
- Asset: Digital file (image, video, document)
- Campaign: Marketing initiative with content and schedule
- Collection: Grouped set of related assets
- Generation Job: Async AI content generation task
- Project: Container for campaigns and assets
- Template: Reusable content generation blueprint
- Workflow: ComfyUI image generation pipeline