Base code
This commit is contained in:
875
docs/product marketing/AI_PRODUCT_MARKETING_SUITE.md
Normal file
875
docs/product marketing/AI_PRODUCT_MARKETING_SUITE.md
Normal file
@@ -0,0 +1,875 @@
|
||||
# AI Product Marketing Suite – Complete Feature Plan & Implementation Guide
|
||||
|
||||
**Last Updated**: December 2024
|
||||
**Status**: ~60% Complete - Core infrastructure in place, workflow completion needed
|
||||
|
||||
---
|
||||
|
||||
## Executive Summary
|
||||
|
||||
The **AI Product Marketing Suite** turns ALwrity into a full-funnel product launch platform that delivers consistent, personalized brand storytelling across every digital touchpoint. It combines the Image Studio stack, WaveSpeed AI models (`WAN 2.5`, `Hunyuan Avatar`, `Ideogram V3`, `Qwen Image`, `Minimax Voice Clone`), and the existing AI Persona system to:
|
||||
|
||||
- Guide non-designers and marketing pros through a structured campaign blueprint.
|
||||
- Generate or enhance every marketing asset (text, image, video, avatar, voice) even when the user has zero inputs.
|
||||
- Enforce brand voice, tone, and visual identity automatically via the Persona graph.
|
||||
- Publish tailored variants for each platform (social, ads, landing pages, marketplaces, email) with analytics loops.
|
||||
|
||||
**Current State**: The Product Marketing Suite has a **solid foundation** with most backend services and APIs implemented (100% backend services, 100% APIs, 80% frontend components). The main gap is **workflow completion** - connecting the pieces to create a smooth end-to-end user journey. The MVP is achievable within 1-2 weeks with focused effort.
|
||||
|
||||
---
|
||||
|
||||
## Vision & Goals
|
||||
|
||||
| Goal | Description | Alignment |
|
||||
|------|-------------|-----------|
|
||||
| **Unified Campaign Orchestration** | One workspace orchestrates assets, copy, formats, approvals, and publishing. | Builds on Image Studio workflow guides & Social Optimizer |
|
||||
| **Always-On Brand Consistency** | Persona DNA (voice, tone, visuals, vocabulary) drives every generated asset. | Uses persona system + Minimax + Hunyuan Avatar |
|
||||
| **Asset-Agnostic Onboarding** | Whether the user has zero assets or a full library, ALwrity leads the journey. | Leverages Asset Library + WaveSpeed ingestion |
|
||||
| **Cross-Platform Delivery** | Auto-tailored packages for Instagram, TikTok, YouTube, LinkedIn, Shopify, Amazon, email & paid ads. | Uses Templates, Social Optimizer, upcoming Transform Studio |
|
||||
| **Closed-Loop Optimization** | Engagement + conversion insights feed back into prompts, providers, and templates. | Extends Cost/Analytics services |
|
||||
|
||||
---
|
||||
|
||||
## Implementation Status
|
||||
|
||||
**Overall Progress**: ~60% Complete | **MVP Timeline**: 1-2 weeks remaining
|
||||
|
||||
### ✅ What's Fully Implemented
|
||||
|
||||
#### Backend Services (100%)
|
||||
|
||||
1. **ProductMarketingOrchestrator** ✅
|
||||
- Campaign blueprint creation
|
||||
- Asset proposal generation
|
||||
- Asset generation (via Image Studio)
|
||||
- Pre-flight validation
|
||||
- Location: `backend/services/product_marketing/orchestrator.py`
|
||||
|
||||
2. **BrandDNASyncService** ✅
|
||||
- Extracts brand DNA from onboarding data
|
||||
- Normalizes persona, writing style, target audience
|
||||
- Channel-specific adaptations
|
||||
- Location: `backend/services/product_marketing/brand_dna_sync.py`
|
||||
|
||||
3. **ProductMarketingPromptBuilder** ✅
|
||||
- Marketing image prompt enhancement
|
||||
- Marketing copy prompt enhancement
|
||||
- Brand DNA injection
|
||||
- Channel optimization
|
||||
- Location: `backend/services/product_marketing/prompt_builder.py`
|
||||
|
||||
4. **ChannelPackService** ✅
|
||||
- Platform-specific templates
|
||||
- Copy frameworks
|
||||
- Optimization tips
|
||||
- Multi-channel pack building
|
||||
- Location: `backend/services/product_marketing/channel_pack.py`
|
||||
|
||||
5. **AssetAuditService** ✅
|
||||
- Image quality assessment
|
||||
- Enhancement recommendations
|
||||
- Batch auditing
|
||||
- Location: `backend/services/product_marketing/asset_audit.py`
|
||||
|
||||
6. **CampaignStorageService** ✅
|
||||
- Campaign persistence
|
||||
- Proposal persistence
|
||||
- Campaign listing/retrieval
|
||||
- Status updates
|
||||
- Location: `backend/services/product_marketing/campaign_storage.py`
|
||||
|
||||
#### Backend APIs (100%)
|
||||
|
||||
All endpoints implemented in `backend/routers/product_marketing.py`:
|
||||
|
||||
- ✅ `POST /api/product-marketing/campaigns/create-blueprint`
|
||||
- ✅ `POST /api/product-marketing/campaigns/{campaign_id}/generate-proposals`
|
||||
- ✅ `POST /api/product-marketing/assets/generate`
|
||||
- ✅ `GET /api/product-marketing/brand-dna`
|
||||
- ✅ `GET /api/product-marketing/brand-dna/channel/{channel}`
|
||||
- ✅ `POST /api/product-marketing/assets/audit`
|
||||
- ✅ `GET /api/product-marketing/channels/{channel}/pack`
|
||||
- ✅ `GET /api/product-marketing/campaigns`
|
||||
- ✅ `GET /api/product-marketing/campaigns/{campaign_id}`
|
||||
- ✅ `GET /api/product-marketing/campaigns/{campaign_id}/proposals`
|
||||
|
||||
#### Database Models (100%)
|
||||
|
||||
All models defined in `backend/models/product_marketing_models.py`:
|
||||
|
||||
- ✅ `Campaign` - Campaign blueprint storage
|
||||
- ✅ `CampaignProposal` - Asset proposals
|
||||
- ✅ `CampaignAsset` - Generated assets
|
||||
|
||||
**⚠️ Action Required**: Database migration needs to be created and run.
|
||||
|
||||
#### Frontend Components (80%)
|
||||
|
||||
1. **ProductMarketingDashboard** ✅ - Main dashboard, journey selection, campaign listing
|
||||
2. **CampaignWizard** ✅ - Multi-step wizard, campaign creation flow
|
||||
3. **ProposalReview** ✅ - Asset proposal review (may need UI refinements)
|
||||
4. **AssetAuditPanel** ✅ - Asset upload and audit
|
||||
5. **ChannelPackBuilder** ✅ - Component exists (may need integration testing)
|
||||
6. **CampaignFlowIndicator** ✅ - Progress visualization
|
||||
|
||||
#### Frontend Hooks (100%)
|
||||
|
||||
**useProductMarketing** hook (`frontend/src/hooks/useProductMarketing.ts`):
|
||||
- ✅ All API methods implemented
|
||||
- ✅ State management, error handling, loading states
|
||||
|
||||
### ⚠️ What Needs Completion
|
||||
|
||||
#### High Priority (MVP Blockers) 🔴
|
||||
|
||||
1. **Proposal Persistence Flow**
|
||||
- **Issue**: Proposals are generated but not automatically saved to database
|
||||
- **Location**: `backend/routers/product_marketing.py::generate_asset_proposals`
|
||||
- **Fix**: Call `campaign_storage.save_proposals()` after generating proposals
|
||||
- **Impact**: Critical - proposals won't persist between sessions
|
||||
|
||||
2. **Database Migration**
|
||||
- **Issue**: Models exist but tables may not be created in database
|
||||
- **Action**: Create Alembic migration for `product_marketing_campaigns`, `product_marketing_proposals`, `product_marketing_assets`
|
||||
- **Impact**: Critical - no data persistence without tables
|
||||
|
||||
3. **Asset Generation Workflow** 🟡
|
||||
- **Issue**: Endpoint exists but frontend integration may be incomplete
|
||||
- **Location**: `ProposalReview.tsx` - verify "Generate Asset" button calls API
|
||||
- **Impact**: High - users can't generate assets from proposals
|
||||
|
||||
4. **Text Generation Integration** 🟡
|
||||
- **Issue**: Text asset generation is placeholder
|
||||
- **Location**: `orchestrator.py::generate_asset()` - text generation returns placeholder
|
||||
- **Fix**: Integrate `llm_text_gen` service similar to image generation
|
||||
- **Impact**: Medium - text assets (captions, CTAs) won't work
|
||||
|
||||
5. **Pre-flight Validation UI** 🟡
|
||||
- **Issue**: Backend validation exists but frontend may not show cost/limits
|
||||
- **Location**: Campaign wizard - add validation step before proposal generation
|
||||
- **Impact**: Medium - users may hit subscription limits unexpectedly
|
||||
|
||||
#### Medium Priority (UX Improvements) 🟢
|
||||
|
||||
6. **Proposal Review UI Enhancements** - Add prompt editing, better cost display, batch actions
|
||||
7. **Campaign Progress Tracking** - Enhanced visual progress indicators
|
||||
8. **Channel Pack Builder Integration** - Connect to Social Optimizer API, multi-variant generation
|
||||
|
||||
#### Low Priority (Future Enhancements) 🔵
|
||||
|
||||
9. **Approval Board (Kanban)** - Trello-like board (Phase 2)
|
||||
10. **Performance Loop** - Analytics integration, optimization suggestions (Phase 2)
|
||||
11. **Batch Asset Generation** - Generate multiple assets at once (Phase 2)
|
||||
|
||||
### 📊 Implementation Completeness
|
||||
|
||||
| Component | Status | Completeness |
|
||||
|-----------|--------|--------------|
|
||||
| Backend Services | ✅ | 100% |
|
||||
| Backend APIs | ✅ | 100% |
|
||||
| Database Models | ✅ | 100% |
|
||||
| Database Migration | ⚠️ | 0% (needs creation) |
|
||||
| Frontend Components | ✅ | 80% |
|
||||
| Frontend Hooks | ✅ | 100% |
|
||||
| Workflow Integration | ⚠️ | 60% (needs connection) |
|
||||
| **Overall MVP** | ⚠️ | **~60%** |
|
||||
|
||||
---
|
||||
|
||||
## Onboarding Intelligence Inputs
|
||||
|
||||
The onboarding stack (`backend/models/onboarding.py`, `services/onboarding/*.py`) already captures rich brand context we can reuse instead of presenting generic templates.
|
||||
|
||||
| Source | Key Fields (examples) | How It Personalizes Campaigns |
|
||||
|--------|-----------------------|-------------------------------|
|
||||
| `onboarding_sessions` + `api_keys` | `user_id`, progress, connected providers | Keeps provider access ready and remembers which services each user trusts. |
|
||||
| `website_analyses` | `website_url`, `writing_style.tone`, `content_characteristics`, `target_audience.demographics/industry/expertise`, `content_type`, `recommended_settings`, optional `brand_analysis`, `style_guidelines` | Seeds tone, vocabulary, CTA language, and visual cues for all creative proposals. |
|
||||
| `research_preferences` | `research_depth`, `content_types`, `auto_research`, `factual_content`, mirrored style fields | Dictates how deep scripts/briefs go and whether to auto-run research for each asset. |
|
||||
| `persona_data` | `core_persona`, `platform_personas`, `selected_platforms`, `quality_metrics`, cached `research_persona` | Determines voice clone parameters, avatar demeanor, and channel prioritization. |
|
||||
| `competitor_analyses` | `competitor_url`, `analysis_data` | Supplies differentiators and guardrails when recommending hooks and CTAs. |
|
||||
|
||||
```49:152:backend/models/onboarding.py
|
||||
# WebsiteAnalysis + ResearchPreferences store detailed writing style, content types, target audiences,
|
||||
# recommended settings, and metadata needed to drive channel-specific prompts.
|
||||
```
|
||||
|
||||
```154:192:backend/models/onboarding.py
|
||||
# PersonaData captures selected platforms, platform personas, quality metrics, and cached research personas
|
||||
# that we can reuse to keep voice, avatar, and channel choices aligned.
|
||||
```
|
||||
|
||||
`OnboardingDataService.get_personalized_ai_inputs()` composes these records into ready-to-use prompt scaffolds (writing style, competitor list, gap analysis, keyword targets, research directives). That same service exposes helper methods to fetch raw website analysis and research preferences so Product Marketing Suite flows can stay user-scoped without reimplementing queries.
|
||||
|
||||
```97:165:backend/services/onboarding/data_service.py
|
||||
# get_personalized_ai_inputs() loads website analysis + research preferences and emits AI-ready structures
|
||||
# including tone, audience, competitor suggestions, gap analysis, and keyword starters.
|
||||
```
|
||||
|
||||
### Personalization Hooks
|
||||
1. **Campaign graph defaults** from `persona_data.selected_platforms` and onboarding launch goals.
|
||||
2. **Prompt builders** auto-inject `website_analyses.writing_style` + `target_audience` descriptors into Create/Transform prompts.
|
||||
3. **Voice/avatar mapping** keeps Minimax + Hunyuan settings aligned with `core_persona` and `platform_personas`.
|
||||
4. **Research automation** respects `research_preferences.research_depth` and `auto_research` flags when generating scripts or briefs.
|
||||
5. **Gap detection** compares `competitor_analyses.analysis_data` with current assets to propose differentiated concepts.
|
||||
|
||||
---
|
||||
|
||||
## User Personas & Scenarios
|
||||
|
||||
1. **Zero-Asset Founder** – Has a product idea + rough notes. Needs help from naming to launch visuals.
|
||||
2. **Resource-Strapped Marketer** – Has some copy/images but needs cross-platform consistency, voice alignment, and faster production.
|
||||
3. **Digital Team Lead** – Has brand library, wants automation + governance so teammates stay on-brand.
|
||||
|
||||
---
|
||||
|
||||
## Feature Pillars
|
||||
|
||||
### 1. Campaign Blueprint Wizard
|
||||
- Interactive workflow (Mermaid-style UI) collects product info, target persona, launch goals, channels, timelines.
|
||||
- Outputs a **Campaign Graph**: phases (teaser, launch, retention) + required assets per channel.
|
||||
- Each node is linked to templates, cost estimates, and recommended AI providers.
|
||||
|
||||
### 2. Brand DNA Sync
|
||||
- Pulls Persona voice, tone sliders, vocabulary, approved colors, typography, reference assets.
|
||||
- Trains/links Minimax voice clone + future avatar assets to persona automatically.
|
||||
- Maintains **Brand DNA tokens** (JSON schema) reused in prompts, style presets, safe words.
|
||||
|
||||
### 3. Asset Onboarding & Enhancement
|
||||
- **Drop Zone**: upload photos, videos, PDFs, packaging files. Auto-tag in Asset Library.
|
||||
- Smart audit classifies assets: *usable as-is*, *enhance*, *replace*, *missing*.
|
||||
- Enhancement actions route to Image Studio (edit/upscale), Transform (image-to-video, avatar), Audio (voice clean-up).
|
||||
|
||||
### 4. Creation & Transformation Hub
|
||||
- **Create Studio** for new hero shots, product renders, lifestyle scenes via Ideogram/Qwen/Stability.
|
||||
- **Transform Studio** (planned) generates product animations, avatar explainers, 3D models.
|
||||
- **Voice Lab** spins up voice clones, writes scripts, generates narration tied to persona.
|
||||
- **Script-to-Scene** builder: Story Writer scenes + Transform outputs = product story videos.
|
||||
|
||||
### 5. Channel Orchestrator
|
||||
- Channel packs: Instagram, TikTok, LinkedIn, X, Pinterest, YouTube, Shopify PDP, Amazon A+ content, email drips, ads.
|
||||
- Each pack auto-selects templates, dimensions, copy tone, compliance hints.
|
||||
- Batch export (images, videos, captions, CTAs) plus API hooks (Buffer, HubSpot, Shopify).
|
||||
|
||||
### 6. Performance Loop
|
||||
- Campaign dashboard aggregates metrics per asset & channel (import via APIs).
|
||||
- Feedback cycle: low-performing assets flagged → wizard suggests new variations, provider switches, or persona adjustments.
|
||||
- Cost vs. ROI view to surface efficient providers (e.g., Qwen for drafts, Ideogram for finals).
|
||||
|
||||
---
|
||||
|
||||
## AI Prompt Builders & Intelligent Defaults
|
||||
|
||||
Once onboarding is complete, the suite should auto-generate prompts, presets, and provider choices instead of asking users to tune sliders manually.
|
||||
|
||||
### Prompt Context Layers
|
||||
|
||||
| Layer | Data Feed | Usage |
|
||||
|-------|-----------|-------|
|
||||
| **Brand DNA Token** | `website_analyses.writing_style`, `target_audience`, `brand_analysis`, persona lexicon | Injected into Create/Transform prompts, script writers, CTA suggestions. |
|
||||
| **Channel Persona Modulation** | `persona_data.platform_personas`, `selected_platforms` | Swaps tone/CTA defaults per platform (e.g., B2B authoritative on LinkedIn, playful on TikTok). |
|
||||
| **Research Depth Controls** | `research_preferences.research_depth`, `auto_research`, `content_types` | Determines whether prompts call for stats, citations, or quick riffs. |
|
||||
| **Competitor Differentiators** | `competitor_analyses.analysis_data` | Adds “contrast vs X competitor” instructions automatically. |
|
||||
| **Asset Quality Targets** | Past asset metadata + analytics | Adjusts provider choice (Qwen for drafts vs Ideogram/Stability for finals) and prompt strictness. |
|
||||
|
||||
### Default Selection Matrix
|
||||
|
||||
1. **Providers & Models**
|
||||
- Use `ImagePromptOptimizer` (see `services/image_studio/create_service.py`) to score prompts, then pick provider/model from `CreateStudioService.PROVIDER_MODELS` based on quality tier and budget.
|
||||
- Auto-upgrade to WAN 2.5 / Hunyuan when persona indicates heavy video usage and budget allows.
|
||||
|
||||
2. **Prompt Templates**
|
||||
- Maintain prompt blueprints in a shared registry (e.g., `PromptCatalog[asset_type][channel]`).
|
||||
- Each blueprint exposes slots (tone, hook, CTA, focal subject, shot type) filled with onboarding data before passing into the prompt optimizer.
|
||||
|
||||
3. **Control Defaults**
|
||||
- For Edit/Transform operations, infer mask/region settings based on asset audit tags (e.g., “product_centered”).
|
||||
- For Transform Studio, auto-select motion preset + audio voice clone using persona mood + research depth.
|
||||
|
||||
4. **Safety Guardrails**
|
||||
- Run every generated prompt through `ai_prompt_optimizer` with persona-specific guardrails (forbidden phrases, compliance tags).
|
||||
- Log prompt provenance for later auditing.
|
||||
|
||||
### User Interaction Pattern
|
||||
|
||||
1. Show the AI-generated proposal (prompt summary, provider, cost, expected output).
|
||||
2. Offer “Edit advanced settings” drawer for power users.
|
||||
3. Default action is **Approve**—which triggers the backend with the pre-filled prompt + settings.
|
||||
4. Any manual change feeds back into the prompt optimizer to improve future defaults for that user.
|
||||
|
||||
---
|
||||
|
||||
## User Journeys & Guided Flows
|
||||
|
||||
> The user has already completed onboarding, shared brand guidelines, product catalog, preferred channels, and connected social/commerce accounts. Templates become optional because we now operate from *personalized brand data* (Persona DNA + existing digital footprint).
|
||||
|
||||
### Journey A – “Launch Net-New Campaign from Personalized Blueprint”
|
||||
|
||||
| Step | What ALwrity Asks/Does | Onboarding Signals Used | User Action |
|
||||
|------|-----------------------|-------------------------|-------------|
|
||||
| 1. **Campaign Kickoff** | Wizard preloads campaign goal, hero offer, ICP, and tone. | `persona_data.core_persona`, `website_analyses.target_audience`, `research_preferences.content_types` | Confirm KPI or tweak launch window. |
|
||||
| 2. **Persona & Brand DNA Sync** | Pulls Minimax voice clone + Hunyuan avatar mood plus approved palette/CTA language from crawl. | `persona_data.platform_personas`, `website_analyses.writing_style`, `brand_analysis`, `style_guidelines` | Toggle tone per channel if desired. |
|
||||
| 3. **Blueprint Draft** | Generates campaign graph (teaser → launch → nurture) aligned to prioritized channels. | `persona_data.selected_platforms`, `competitor_analyses.analysis_data` (to avoid overlaps) | Approve blueprint or reorder stages. |
|
||||
| 4. **AI Proposal Review** | For each asset node, generates hook, media type, provider choice referencing competitive gaps and research depth. | `research_preferences.research_depth`, `website_analyses.content_type`, `competitor_analyses.analysis_data` | Accept, tweak, or request alternate angle. |
|
||||
| 5. **Asset Autopilot** | Runs Create/Edit/Transform using pre-selected providers + brand tokens; auto-writes captions/voiceovers with persona vocabulary. | `website_analyses.writing_style`, `persona_data.core_persona`, `api_keys` | Review and approve results; edits propagate downstream. |
|
||||
| 6. **Approval Board** | Trello-like kanban auto-populated with cost estimates and recommended publish dates. | Asset metadata, cost service, onboarding timeline | Approve/push back. |
|
||||
| 7. **Distribution Pack** | Builds scheduling bundle and maps channel-specific copy using platform personas; warns if cadence conflicts with prior campaigns. | `persona_data.platform_personas`, analytics baseline | Approve publish plan or reschedule. |
|
||||
| 8. **Performance Loop** | Compares live metrics vs onboarding KPIs and suggests next experiments (“Avatar video for TikTok?”). | Analytics + stored onboarding baselines | Approve next iteration. |
|
||||
|
||||
**Key Principle**: Every step is personalized; user primarily approves AI suggestions. No template hunting—ALwrity already knows the brand’s aesthetic, messaging pillars, and asset gaps.
|
||||
|
||||
---
|
||||
|
||||
### Journey B – “Enhance & Reuse Existing Assets with Minimal Input”
|
||||
|
||||
| Step | System Behavior | Onboarding Signals Used | User Action |
|
||||
|------|-----------------|-------------------------|-------------|
|
||||
| 1. **Asset Inventory Sync** | Pulls connected drives + Shopify + historical crawl snapshots for baseline comparison. | `website_analyses.crawl_result`, existing asset metadata | Spot-check flagged “needs attention” items. |
|
||||
| 2. **Quality & Consistency Audit** | Scores tone/visual consistency against stored guidelines & persona lexicon. | `website_analyses.style_guidelines`, `persona_data.core_persona`, `brand_analysis` | Approve suggested fixes (e.g., recolor, rephrase). |
|
||||
| 3. **Enhancement Pipeline** | Routes ops (Edit, Upscale, Transform) with preferred providers and cost tiers remembered from onboarding/API keys. | `api_keys`, `research_preferences.content_types` | Monitor progress; intervene only if requested. |
|
||||
| 4. **Variant Generation** | Auto-creates derivatives for each selected platform (square carousel, TikTok vertical, Amazon A+). | `persona_data.selected_platforms`, `platform_personas` | Approve variant packages; toggle channels on/off. |
|
||||
| 5. **Smart Suggestions** | Identifies missing steps vs campaign plan using competitor gaps + research depth. | `research_preferences.research_depth`, `competitor_analyses.analysis_data` | Approve or request edits. |
|
||||
| 6. **One-Click Publish** | Batch schedule/export, logging lineage back to persona + onboarding records. | Persona metadata, publishing APIs | Approve deployment queue. |
|
||||
|
||||
---
|
||||
|
||||
### Journey C – “Always-On Optimization Companion”
|
||||
|
||||
Designed for digital teams that run overlapping campaigns.
|
||||
|
||||
1. **Pulse Check** – Dashboard compares live KPIs to onboarding benchmarks (e.g., `research_preferences` goals, persona engagement targets).
|
||||
2. **Insight Cards** – “LinkedIn thought-leadership posts are outperforming Instagram videos by 2.3x; suggest repurposing using the LinkedIn platform persona voice.”
|
||||
3. **Actionable Playbooks** – Each insight links to an AI task seeded with stored `website_analyses` tone + `competitor_analyses` differentiators (e.g., convert top blog into avatar video with existing voice clone).
|
||||
4. **Approval Stream** – User confirms; ALwrity generates the asset, schedules it, and feeds the results back into the persona record for future optimization.
|
||||
|
||||
This loop ensures marketing teams approve curated ideas instead of starting from blank prompts or templates.
|
||||
|
||||
|
||||
---
|
||||
|
||||
## AI & Provider Mapping
|
||||
|
||||
| Need | Provider(s) | Module |
|
||||
|------|-------------|--------|
|
||||
| Net-new product imagery | WaveSpeed Ideogram V3, Stability Ultra/Core | Create Studio |
|
||||
| Fast draft visuals | WaveSpeed Qwen Image | Create Studio (draft tier) |
|
||||
| Asset cleanup/enhancement | Stability Edit/Upscale | Edit + Upscale Studio |
|
||||
| Product animation | WaveSpeed WAN 2.5 image-to-video | Transform Studio |
|
||||
| Avatar explainers | Hunyuan Avatar / InfiniteTalk | Transform Studio |
|
||||
| Voice consistency | Minimax Voice Clone | Persona Voice Lab |
|
||||
| Template packs | TemplateManager + Social Optimizer | Channel Orchestrator |
|
||||
|
||||
---
|
||||
|
||||
## System Architecture
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
User --> Wizard[Campaign Blueprint Wizard ✅]
|
||||
Wizard --> PersonaSync[Persona & Brand DNA Sync ✅]
|
||||
PersonaSync --> CampaignGraph
|
||||
AssetIngest[[Asset Intake & Audit ✅]] --> CampaignGraph
|
||||
CampaignGraph --> Orchestrator[ProductMarketingOrchestrator Service ✅]
|
||||
Orchestrator --> ImageStudio[Image Studio ✅]
|
||||
Orchestrator --> TransformStudio[Transform Studio ✅]
|
||||
Orchestrator --> VoiceLab[Voice Lab ⏳]
|
||||
Orchestrator --> SocialOptimizer[Social Optimizer ✅]
|
||||
Orchestrator --> PublishingAPI[Publishing API ⏳]
|
||||
Performance[Analytics + Cost Service ⏳] --> Orchestrator
|
||||
Performance --> Wizard
|
||||
```
|
||||
|
||||
**Legend**: ✅ Implemented | ⏳ Planned
|
||||
|
||||
### Services
|
||||
|
||||
1. **`ProductMarketingOrchestrator`** ✅ (backend)
|
||||
- Location: `backend/services/product_marketing/orchestrator.py`
|
||||
- Builds campaign graph, tracks asset states, orchestrates provider calls.
|
||||
- Interfaces with ImageStudioManager, TransformStudioService, Persona services.
|
||||
- Status: Fully implemented
|
||||
|
||||
2. **`BrandDNASyncService`** ✅
|
||||
- Location: `backend/services/product_marketing/brand_dna_sync.py`
|
||||
- Normalizes persona data (voice embeddings, tone sliders, color palettes) into reusable JSON.
|
||||
- Provides "brand token" to all prompt builders.
|
||||
- Status: Fully implemented
|
||||
|
||||
3. **`AssetAuditService`** ✅
|
||||
- Location: `backend/services/product_marketing/asset_audit.py`
|
||||
- Uses Vision + metadata to classify uploads.
|
||||
- Suggests enhancement operations (remove background, upscale, transform).
|
||||
- Status: Fully implemented
|
||||
|
||||
4. **`ChannelPackService`** ✅
|
||||
- Location: `backend/services/product_marketing/channel_pack.py`
|
||||
- Maps channels → templates, copy frameworks, safe zones, scheduling metadata.
|
||||
- Works with Social Optimizer + upcoming Batch Processor.
|
||||
- Status: Fully implemented
|
||||
|
||||
5. **`PerformanceInsightsService`** ⏳
|
||||
- Aggregates metrics via integrations (Meta, TikTok, Shopify, ESPs).
|
||||
- Feeds insights into Orchestrator for iteration suggestions.
|
||||
- Status: Planned (Phase 2)
|
||||
|
||||
### Frontend Components
|
||||
- `ProductMarketingDashboard.tsx` – overall campaign cockpit (uses global default themes).
|
||||
- `CampaignWizard.tsx` – multi-step guided setup (reuses Image Studio UI patterns).
|
||||
- `AssetAuditPanel.tsx` – ingestion + enhancement recommendations.
|
||||
- `ChannelPackBuilder.tsx` – preview channel-specific outputs.
|
||||
- `PerformanceLoop.tsx` – show KPI trends + actionable prompts.
|
||||
|
||||
---
|
||||
|
||||
## Backend API Reuse & Integration
|
||||
|
||||
### Existing APIs to Reuse
|
||||
|
||||
The Product Marketing Suite **reuses existing backend APIs** rather than creating new endpoints. This ensures consistency, subscription validation, and asset tracking.
|
||||
|
||||
#### Image Generation APIs
|
||||
|
||||
**Primary Endpoint**: `POST /api/image-studio/create`
|
||||
- **Service**: `ImageStudioManager.create_image()`
|
||||
- **Request Model**: `CreateStudioRequest` (supports `use_persona`, `enhance_prompt`, `template_id`)
|
||||
- **Subscription Check**: Built-in via `PricingService` in `generate_image()` flow
|
||||
- **Asset Tracking**: Automatic via `save_asset_to_library()` in `backend/api/images.py`
|
||||
- **Usage**: Product Marketing Suite calls this with **specialized marketing prompts** (see below)
|
||||
|
||||
**Alternative**: `POST /api/images/generate` (legacy, but still functional)
|
||||
- Also includes subscription validation and asset tracking
|
||||
- Can be used for simpler image generation needs
|
||||
|
||||
#### Image Editing APIs
|
||||
|
||||
**Primary Endpoint**: `POST /api/image-studio/edit/process`
|
||||
- **Service**: `ImageStudioManager.edit_image()`
|
||||
- **Operations**: `remove_background`, `inpaint`, `outpaint`, `search_replace`, `search_recolor`, `general_edit`
|
||||
- **Subscription Check**: Built-in
|
||||
- **Asset Tracking**: Automatic
|
||||
- **Usage**: Enhance existing product photos, remove backgrounds, add product variations
|
||||
|
||||
#### Image Upscaling APIs
|
||||
|
||||
**Primary Endpoint**: `POST /api/image-studio/upscale`
|
||||
- **Service**: `ImageStudioManager.upscale_image()`
|
||||
- **Modes**: `fast`, `conservative`, `creative`
|
||||
- **Subscription Check**: Built-in
|
||||
- **Asset Tracking**: Automatic
|
||||
- **Usage**: Upscale product images for print, high-res social, or e-commerce
|
||||
|
||||
#### Social Optimization APIs
|
||||
|
||||
**Primary Endpoint**: `POST /api/image-studio/social/optimize`
|
||||
- **Service**: `ImageStudioManager.optimize_for_social()`
|
||||
- **Features**: Multi-platform optimization, smart cropping, safe zones
|
||||
- **Subscription Check**: Built-in
|
||||
- **Asset Tracking**: Automatic (tracks each platform variant)
|
||||
- **Usage**: Generate platform-specific variants from single source image
|
||||
|
||||
#### Text Generation APIs
|
||||
|
||||
**Service**: `services/llm_providers/main_text_generation.py::llm_text_gen()`
|
||||
- **Subscription Check**: Built-in via `PricingService`
|
||||
- **Persona Integration**: Supports persona-enhanced prompts (see `FacebookWriterBaseService._build_persona_enhanced_prompt()`)
|
||||
- **Usage**: Generate marketing copy, captions, CTAs, email content, product descriptions
|
||||
- **Asset Tracking**: Use `save_and_track_text_content()` from `utils/text_asset_tracker.py`
|
||||
|
||||
#### Video Generation APIs (Planned)
|
||||
|
||||
**Story Writer Endpoints**: `POST /api/story-writer/generate-video`
|
||||
- **Service**: `StoryWriterService` (will integrate WaveSpeed WAN 2.5)
|
||||
- **Subscription Check**: Built-in
|
||||
- **Asset Tracking**: Automatic
|
||||
- **Usage**: Product demo videos, explainer videos, social video content
|
||||
|
||||
#### Audio/Voice APIs (Planned)
|
||||
|
||||
**Voice Cloning**: Minimax integration (planned)
|
||||
- **Service**: `services/minimax/` (to be created)
|
||||
- **Subscription Check**: Via `PricingService`
|
||||
- **Asset Tracking**: Via `save_asset_to_library()` with `asset_type="audio"`
|
||||
- **Usage**: Consistent brand voice for all video content
|
||||
|
||||
### Subscription Pre-Flight Validation
|
||||
|
||||
**All API calls go through pre-flight validation** using existing infrastructure:
|
||||
|
||||
1. **Pre-Flight Endpoint**: `POST /api/subscription/preflight-check`
|
||||
- Validates subscription tier, usage limits, cost estimates
|
||||
- Returns detailed error if limits exceeded
|
||||
- Used by frontend before making generation requests
|
||||
|
||||
2. **Service-Level Validation**: `services/subscription/preflight_validator.py`
|
||||
- `validate_research_operations()` pattern can be extended for marketing workflows
|
||||
- Validates entire campaign graph before any API calls
|
||||
- Prevents wasted API calls if subscription limits would block later steps
|
||||
|
||||
3. **Built-in Validation**: Most generation services already call `PricingService.check_comprehensive_limits()`
|
||||
- Image Studio: Validates in `generate_image()` flow
|
||||
- Story Writer: Validates in media generation endpoints
|
||||
- Text Generation: Validates in `llm_text_gen()`
|
||||
|
||||
**Product Marketing Suite Integration**:
|
||||
- Call `preflight-check` before starting campaign wizard
|
||||
- Validate entire campaign graph (all assets) upfront
|
||||
- Show cost breakdown and subscription status before generation
|
||||
- Block workflow if limits exceeded (with clear upgrade prompts)
|
||||
|
||||
### Asset Library Integration
|
||||
|
||||
**All generated assets automatically appear in Asset Library** via existing tracking:
|
||||
|
||||
1. **Image Assets**:
|
||||
- Tracked via `save_asset_to_library()` in `backend/api/images.py`
|
||||
- Metadata includes: `source_module="product_marketing"`, `prompt`, `provider`, `cost`, `tags`
|
||||
- Appears in Asset Library dashboard with filtering by `source_module`
|
||||
|
||||
2. **Text Assets**:
|
||||
- Tracked via `save_and_track_text_content()` in `utils/text_asset_tracker.py`
|
||||
- Saves to `.txt` or `.md` files, tracks in database
|
||||
- Metadata includes: `source_module="product_marketing"`, `title`, `description`, `tags`
|
||||
|
||||
3. **Video/Audio Assets**:
|
||||
- Tracked via `save_asset_to_library()` with `asset_type="video"` or `"audio"`
|
||||
- Metadata includes: `source_module="product_marketing"`, generation details, cost
|
||||
|
||||
4. **Asset Library API**: `GET /api/content-assets/`
|
||||
- Filter by `source_module="product_marketing"`
|
||||
- Filter by `asset_type`, `tags`, `campaign_id` (if added to metadata)
|
||||
- Supports favorites, bulk operations, usage tracking
|
||||
|
||||
**Product Marketing Suite Integration**:
|
||||
- All generated assets tagged with `campaign_id`, `asset_type`, `channel`
|
||||
- Campaign dashboard shows all assets from Asset Library filtered by campaign
|
||||
- Users can browse, favorite, and reuse assets across campaigns
|
||||
- Asset Library becomes the single source of truth for all marketing content
|
||||
|
||||
---
|
||||
|
||||
## Specialized Marketing Prompt Builders
|
||||
|
||||
### Marketing-Specific Prompt Enhancement
|
||||
|
||||
The Product Marketing Suite uses **specialized prompt builders** that inject onboarding data, persona DNA, and marketing context into all AI generation requests.
|
||||
|
||||
#### Image Generation Prompts
|
||||
|
||||
**Service**: `ProductMarketingPromptBuilder` (new service, extends `AIPromptOptimizer`)
|
||||
|
||||
**Prompt Structure**:
|
||||
```
|
||||
[Base Product Description]
|
||||
+ [Brand DNA Tokens] (from onboarding: writing_style, target_audience, brand_analysis)
|
||||
+ [Persona Visual Style] (from persona_data: visual_identity, color_palette, aesthetic_preferences)
|
||||
+ [Channel Optimization] (from platform_personas: Instagram vs LinkedIn vs TikTok)
|
||||
+ [Competitive Differentiation] (from competitor_analyses: unique positioning)
|
||||
+ [Quality Descriptors] (professional photography, high quality, detailed, sharp focus)
|
||||
+ [Marketing Context] (product launch, social media, e-commerce, email campaign)
|
||||
```
|
||||
|
||||
**Example Enhanced Prompt**:
|
||||
```
|
||||
Original: "Modern laptop on desk"
|
||||
|
||||
Enhanced for Instagram (photorealistic, brand-aligned):
|
||||
"Modern minimalist laptop on clean desk, professional photography, high quality, detailed, sharp focus, natural lighting, [brand color palette: #2C3E50, #3498DB], [brand tone: professional yet approachable], [target audience: tech professionals], [differentiator: premium quality focus], Instagram-optimized composition, product showcase style, marketing photography"
|
||||
```
|
||||
|
||||
**Implementation**:
|
||||
- Extends `CreateStudioService._enhance_prompt()` with marketing context
|
||||
- Uses `OnboardingDataService.get_personalized_ai_inputs()` for brand DNA
|
||||
- Uses `PersonaDataService` for visual identity
|
||||
- Uses `CompetitorAnalysis` for differentiation cues
|
||||
|
||||
#### Text Generation Prompts
|
||||
|
||||
**Service**: Extends persona prompt builders (`PersonaPromptBuilder`, `LinkedInPersonaPrompts`, etc.)
|
||||
|
||||
**Prompt Structure**:
|
||||
```
|
||||
[Base Content Request]
|
||||
+ [Persona Linguistic Fingerprint] (from persona_data: sentence_length, vocabulary, go-to_words)
|
||||
+ [Platform Optimization] (from platform_personas: character_limit, hashtag_strategy, engagement_patterns)
|
||||
+ [Brand Voice] (from website_analyses.writing_style: tone, voice, complexity)
|
||||
+ [Target Audience] (from website_analyses.target_audience: demographics, expertise_level)
|
||||
+ [Marketing Goal] (awareness, conversion, retention, launch)
|
||||
+ [Competitive Positioning] (from competitor_analyses: differentiation, unique value props)
|
||||
```
|
||||
|
||||
**Example Enhanced Prompt**:
|
||||
```
|
||||
Original: "Write Instagram caption for product launch"
|
||||
|
||||
Enhanced (persona-aware, brand-aligned):
|
||||
"Write Instagram caption for product launch following [persona_name] persona:
|
||||
- Linguistic fingerprint: [average_sentence_length] words, [vocabulary_level], use [go-to_words], avoid [avoid_words]
|
||||
- Platform optimization: [character_limit] limit, [hashtag_strategy], [engagement_patterns]
|
||||
- Brand voice: [tone], [voice], [complexity]
|
||||
- Target audience: [demographics], [expertise_level]
|
||||
- Marketing goal: Product launch awareness
|
||||
- Competitive positioning: [differentiation], [unique_value_props]
|
||||
- Product: [product_description]
|
||||
Generate caption that matches persona style, optimizes for Instagram engagement, and differentiates from competitors."
|
||||
```
|
||||
|
||||
**Implementation**:
|
||||
- Extends `FacebookWriterBaseService._build_persona_enhanced_prompt()` pattern
|
||||
- Uses `OnboardingDataService` for brand voice and audience
|
||||
- Uses `PersonaDataService` for linguistic fingerprint
|
||||
- Uses `CompetitorAnalysis` for positioning
|
||||
|
||||
#### Video Generation Prompts (Planned)
|
||||
|
||||
**Service**: `ProductMarketingVideoPromptBuilder` (new service)
|
||||
|
||||
**Prompt Structure**:
|
||||
```
|
||||
[Base Video Concept]
|
||||
+ [Brand DNA] (visual style, tone, color palette)
|
||||
+ [Persona Voice] (voice clone parameters, emotion, pacing)
|
||||
+ [Channel Optimization] (duration, aspect ratio, platform-specific hooks)
|
||||
+ [Marketing Goal] (demo, explainer, testimonial, launch)
|
||||
+ [Product Context] (features, benefits, use cases)
|
||||
```
|
||||
|
||||
**Implementation**:
|
||||
- Integrates with WaveSpeed WAN 2.5 text-to-video
|
||||
- Uses Minimax voice clone for narration
|
||||
- Uses Hunyuan Avatar for talking head videos
|
||||
- Applies platform-specific optimizations
|
||||
|
||||
### Prompt Optimization Service Integration
|
||||
|
||||
**Existing Service**: `services/ai_prompt_optimizer.py::AIPromptOptimizer`
|
||||
|
||||
**Extension**: `ProductMarketingPromptOptimizer` (extends `AIPromptOptimizer`)
|
||||
|
||||
**New Prompt Templates**:
|
||||
- `product_hero_image`: Optimized for product photography, e-commerce, social
|
||||
- `marketing_copy`: Optimized for captions, CTAs, email, ads
|
||||
- `video_script`: Optimized for product demos, explainers, testimonials
|
||||
- `avatar_narration`: Optimized for talking head videos, brand spokesperson
|
||||
- `social_caption`: Platform-specific (Instagram, LinkedIn, TikTok, etc.)
|
||||
|
||||
**Usage**:
|
||||
- Product Marketing Suite calls `ProductMarketingPromptOptimizer.optimize_marketing_prompt()`
|
||||
- Service injects onboarding data, persona DNA, competitive insights
|
||||
- Returns fully enhanced prompt ready for AI generation
|
||||
- Tracks prompt variations for A/B testing
|
||||
|
||||
---
|
||||
|
||||
## Frontend Implementation
|
||||
|
||||
### Global Theme Reuse
|
||||
|
||||
**Frontend components use existing global default themes** from Image Studio and Story Writer:
|
||||
|
||||
1. **UI Components**:
|
||||
- Reuse `GlassyCard`, `SectionHeader`, `StatusChip` from Image Studio
|
||||
- Reuse `AsyncStatusBanner`, `ZoomablePreview` patterns
|
||||
- Reuse form patterns from Story Writer wizard
|
||||
|
||||
2. **Layout Patterns**:
|
||||
- Reuse `ImageStudioLayout` structure for dashboard
|
||||
- Reuse wizard step patterns from onboarding
|
||||
- Reuse approval board patterns from Story Writer
|
||||
|
||||
3. **Theme System**:
|
||||
- Use existing Tailwind/CSS theme variables
|
||||
- Maintain visual consistency with Image Studio
|
||||
- No custom theme overrides (unless absolutely necessary)
|
||||
|
||||
### Component Structure
|
||||
|
||||
```
|
||||
frontend/src/components/ProductMarketing/
|
||||
├── ProductMarketingDashboard.tsx # Main dashboard (reuses ImageStudioLayout)
|
||||
├── CampaignWizard/
|
||||
│ ├── CampaignWizard.tsx # Multi-step wizard (reuses onboarding patterns)
|
||||
│ ├── CampaignGoalStep.tsx # Step 1: Goal & KPI
|
||||
│ ├── BrandDNASyncStep.tsx # Step 2: Persona sync
|
||||
│ ├── BlueprintDraftStep.tsx # Step 3: Campaign graph
|
||||
│ └── AIProposalReviewStep.tsx # Step 4: Asset proposals
|
||||
├── AssetAuditPanel.tsx # Asset intake & recommendations
|
||||
├── ChannelPackBuilder.tsx # Platform-specific previews
|
||||
├── ApprovalBoard.tsx # Trello-like kanban (reuses Story Writer patterns)
|
||||
└── PerformanceLoop.tsx # Analytics & optimization suggestions
|
||||
```
|
||||
|
||||
### API Integration Pattern
|
||||
|
||||
**All frontend components call existing backend APIs** with specialized prompts:
|
||||
|
||||
```typescript
|
||||
// Example: Generate product hero image
|
||||
const generateProductImage = async (productInfo, campaignContext) => {
|
||||
// 1. Build specialized marketing prompt
|
||||
const enhancedPrompt = await buildMarketingPrompt({
|
||||
base: productInfo.description,
|
||||
onboardingData: userOnboardingData,
|
||||
personaData: userPersonaData,
|
||||
channel: 'instagram',
|
||||
assetType: 'hero_image'
|
||||
});
|
||||
|
||||
// 2. Call existing Image Studio API
|
||||
const response = await fetch('/api/image-studio/create', {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({
|
||||
prompt: enhancedPrompt,
|
||||
template_id: 'instagram_feed_square',
|
||||
use_persona: true,
|
||||
enhance_prompt: true,
|
||||
quality: 'premium',
|
||||
provider: 'wavespeed',
|
||||
model: 'ideogram-v3-turbo'
|
||||
})
|
||||
});
|
||||
|
||||
// 3. Asset automatically tracked in Asset Library
|
||||
// 4. Subscription validated automatically
|
||||
// 5. Result appears in campaign dashboard
|
||||
};
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Handling Asset Availability
|
||||
|
||||
| User State | ALwrity Response |
|
||||
|------------|------------------|
|
||||
| **No assets** | Wizard requests minimal info → auto-generates hero copy, product visuals, digital spokesperson, launch kit. |
|
||||
| **Partial assets** | Audit identifies gaps, recommends AI-generation or enhancement flows. |
|
||||
| **Full library** | Enforces persona alignment, creates derivatives per channel, links to analytics for optimization. |
|
||||
|
||||
Guided **Asset Trails** (progress indicators) show users exactly what is left: e.g., “Hero Image ✓, Launch Video ▢, Email Kit ▢”.
|
||||
|
||||
---
|
||||
|
||||
## Roadmap
|
||||
|
||||
| Phase | Timeline | Focus | Key Deliverables | Status |
|
||||
|-------|----------|-------|------------------|--------|
|
||||
| **MVP** | 1-2 weeks remaining | Workflow completion + critical fixes | Proposal persistence, database migration, asset generation integration, text generation | ⚠️ In Progress (60%) |
|
||||
| **Beta** | 2-4 weeks | Video & avatar automation | Transform Studio image-to-video ✅, InfiniteTalk avatar pipeline ✅, voice clone onboarding | 🔵 Planned |
|
||||
| **GA** | 4-8 weeks | Commerce + automation | Shopify/Amazon packs, email drip builder, analytics loop, auto-refresh suggestions | 🔵 Planned |
|
||||
|
||||
Dependencies: WaveSpeed APIs ✅, Transform Studio ✅, Template expansions ✅, Publishing partner APIs (Buffer, Shopify, Klaviyo) 🔵.
|
||||
|
||||
---
|
||||
|
||||
## Success Metrics
|
||||
|
||||
- **Campaign Completion Rate**: % of users who finish all required assets per campaign.
|
||||
- **Brand Consistency Score**: Automated rating of tone/style adherence pre- and post-suite.
|
||||
- **Time-to-Launch**: Average days from wizard start → published assets (target: <3 days).
|
||||
- **Cross-Channel Coverage**: Number of channels activated per campaign.
|
||||
- **Revenue Impact**: Upsell/conversion to Pro/Enterprise tiers due to multimedia features.
|
||||
- **Engagement Lift**: CTR/engagement improvements vs. baseline campaigns using analytics loop.
|
||||
|
||||
---
|
||||
|
||||
## Implementation Next Steps & Quick Fixes
|
||||
|
||||
### 🚀 Critical Fixes (Priority Order)
|
||||
|
||||
#### 1. Fix Proposal Persistence (30 minutes)
|
||||
|
||||
**Issue**: Proposals are generated but not automatically saved to database.
|
||||
|
||||
```python
|
||||
# backend/routers/product_marketing.py
|
||||
# Around line 195, after generating proposals:
|
||||
|
||||
proposals = orchestrator.generate_asset_proposals(...)
|
||||
|
||||
# ADD THIS:
|
||||
campaign_storage = get_campaign_storage()
|
||||
campaign_storage.save_proposals(user_id, campaign_id, proposals)
|
||||
|
||||
return proposals
|
||||
```
|
||||
|
||||
#### 2. Create Database Migration (1 hour)
|
||||
|
||||
```bash
|
||||
cd backend
|
||||
alembic revision --autogenerate -m "Add product marketing tables"
|
||||
alembic upgrade head
|
||||
```
|
||||
|
||||
#### 3. Test End-to-End Flow
|
||||
|
||||
1. Create campaign via wizard
|
||||
2. Generate proposals
|
||||
3. Review proposals
|
||||
4. Generate assets
|
||||
5. Verify assets in Asset Library
|
||||
6. Check campaign status updates
|
||||
|
||||
### 📋 Phase 1: MVP Completion (1-2 weeks)
|
||||
|
||||
**Week 1: Core Workflow Fixes**
|
||||
|
||||
1. **Fix Proposal Persistence** (1 day) - See above
|
||||
2. **Create Database Migration** (1 day) - See above
|
||||
3. **Complete Asset Generation Flow** (2 days)
|
||||
- Test ProposalReview → Generate Asset → Asset Library flow
|
||||
- Add loading states
|
||||
- Handle errors gracefully
|
||||
- Update campaign status after generation
|
||||
4. **Integrate Text Generation** (2 days)
|
||||
- Update `orchestrator.py::generate_asset()` for text assets
|
||||
- Use `llm_text_gen` service
|
||||
- Save text assets to Asset Library
|
||||
- Test with campaign workflow
|
||||
|
||||
**Week 2: UX Polish**
|
||||
|
||||
5. **Add Pre-flight Validation UI** (1 day)
|
||||
- Show cost estimates in wizard
|
||||
- Validate before proposal generation
|
||||
- Clear subscription limit warnings
|
||||
6. **Enhance Proposal Review** (2 days)
|
||||
- Editable prompts
|
||||
- Better cost display
|
||||
- Batch actions
|
||||
- Status indicators
|
||||
7. **Testing & Bug Fixes** (2 days)
|
||||
- End-to-end workflow testing
|
||||
- Fix any discovered issues
|
||||
- Polish UI/UX
|
||||
|
||||
### 📋 Phase 2: Enhanced Features (2-3 weeks)
|
||||
|
||||
- Approval board/Kanban
|
||||
- Performance analytics
|
||||
- Batch generation
|
||||
- Advanced channel packs
|
||||
|
||||
### 🔍 Code Review Checklist
|
||||
|
||||
Before considering MVP complete, verify:
|
||||
|
||||
- [ ] Proposals save to database automatically
|
||||
- [ ] Database tables exist and migrations run
|
||||
- [ ] Asset generation works from proposal review
|
||||
- [ ] Text generation works for captions/CTAs
|
||||
- [ ] Pre-flight validation shows in UI
|
||||
- [ ] Campaign progress updates correctly
|
||||
- [ ] Assets appear in Asset Library with proper metadata
|
||||
- [ ] Error handling covers all edge cases
|
||||
- [ ] Subscription limits are enforced
|
||||
- [ ] Brand DNA loads from onboarding data
|
||||
|
||||
---
|
||||
|
||||
## Notes & References
|
||||
|
||||
- All backend services are well-structured and follow existing patterns
|
||||
- Frontend components use consistent UI patterns from Image Studio
|
||||
- Integration points with Image Studio are clean and maintainable
|
||||
- The foundation is solid - main work is connecting the pieces
|
||||
|
||||
**References**: `WAVESPEED_AI_FEATURE_PROPOSAL.md`, `WAVESPEED_AI_FEATURE_SUMMARY.md`, `WAVESPEED_IMPLEMENTATION_ROADMAP.md`, AI Image Studio documentation suite.
|
||||
50
docs/product marketing/PRODUCT_MARKETING_FIXES.md
Normal file
50
docs/product marketing/PRODUCT_MARKETING_FIXES.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# Product Marketing Suite - Critical Fixes
|
||||
|
||||
## Issues Identified
|
||||
|
||||
1. **Campaigns lost on refresh** - Campaigns stored only in component state
|
||||
2. **User journey paths not clear** - No visible guided flows
|
||||
3. **APIs not properly mapped to UI** - Missing proposal review and asset generation flows
|
||||
|
||||
## Fixes Implemented
|
||||
|
||||
### 1. Campaign Persistence (Backend)
|
||||
|
||||
#### Database Models Created
|
||||
- `Campaign` - Stores campaign blueprints
|
||||
- `CampaignProposal` - Stores AI-generated proposals
|
||||
- `CampaignAsset` - Links generated assets to campaigns
|
||||
|
||||
#### New API Endpoints
|
||||
- `GET /api/product-marketing/campaigns` - List all campaigns
|
||||
- `GET /api/product-marketing/campaigns/{id}` - Get specific campaign
|
||||
- `GET /api/product-marketing/campaigns/{id}/proposals` - Get proposals for campaign
|
||||
|
||||
#### Campaign Storage Service
|
||||
- `CampaignStorageService` - Handles all database operations
|
||||
- Auto-saves campaigns when created
|
||||
- Auto-saves proposals when generated
|
||||
|
||||
### 2. User Journey Flows (Frontend - TODO)
|
||||
|
||||
Need to create:
|
||||
- **Journey A**: "Launch Net-New Campaign" - Multi-step wizard with clear progress
|
||||
- **Journey B**: "Enhance & Reuse Existing Assets" - Asset audit → enhancement flow
|
||||
- **Journey C**: "Always-On Optimization" - Dashboard insights and suggestions
|
||||
|
||||
### 3. API-UI Mapping (Frontend - TODO)
|
||||
|
||||
Need to implement:
|
||||
- Proposal review screen after blueprint creation
|
||||
- Asset generation queue
|
||||
- Campaign detail view with progress tracking
|
||||
- Proposal approval/rejection workflow
|
||||
|
||||
## Next Steps
|
||||
|
||||
1. Update frontend to load campaigns from API
|
||||
2. Create user journey selection screen
|
||||
3. Implement proposal review component
|
||||
4. Connect asset generation flow
|
||||
5. Add campaign detail view
|
||||
|
||||
400
docs/product marketing/PRODUCT_MARKETING_NEXT_STEPS.md
Normal file
400
docs/product marketing/PRODUCT_MARKETING_NEXT_STEPS.md
Normal file
@@ -0,0 +1,400 @@
|
||||
# Product Marketing Suite - Action Plan & Next Steps
|
||||
|
||||
**Created**: December 2024
|
||||
**Status**: Ready for Implementation
|
||||
**Timeline**: 1-2 weeks to MVP
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Immediate Action Items (Do First)
|
||||
|
||||
### ✅ Priority 1: Fix Proposal Persistence (30 minutes) 🔴
|
||||
|
||||
**Issue**: Proposals generated but not saved to database - line 195-202 in `backend/routers/product_marketing.py`
|
||||
|
||||
**Fix Required**:
|
||||
```python
|
||||
# backend/routers/product_marketing.py
|
||||
# After line 199, before line 201:
|
||||
|
||||
proposals = orchestrator.generate_asset_proposals(
|
||||
user_id=user_id,
|
||||
blueprint=blueprint,
|
||||
product_context=request.product_context,
|
||||
)
|
||||
|
||||
# ADD THIS (save proposals to database):
|
||||
campaign_storage.save_proposals(user_id, campaign_id, proposals)
|
||||
|
||||
logger.info(f"[Product Marketing] ✅ Generated {proposals['total_assets']} proposals")
|
||||
return proposals
|
||||
```
|
||||
|
||||
**Impact**: Critical - Without this, proposals are lost between sessions
|
||||
|
||||
---
|
||||
|
||||
### ✅ Priority 2: Create Database Migration (1 hour) 🔴
|
||||
|
||||
**Issue**: Database tables don't exist - models exist but migration not created
|
||||
|
||||
**Steps**:
|
||||
```bash
|
||||
cd backend
|
||||
alembic revision --autogenerate -m "Add product marketing tables"
|
||||
# Review the generated migration file
|
||||
alembic upgrade head
|
||||
```
|
||||
|
||||
**Verify Tables Created**:
|
||||
- `product_marketing_campaigns`
|
||||
- `product_marketing_proposals`
|
||||
- `product_marketing_assets`
|
||||
|
||||
**Impact**: Critical - No data persistence without tables
|
||||
|
||||
---
|
||||
|
||||
### ✅ Priority 3: Test End-to-End Flow (30 minutes) 🟡
|
||||
|
||||
**Manual Testing Checklist**:
|
||||
|
||||
1. **Campaign Creation**
|
||||
- [ ] Navigate to `/product-marketing`
|
||||
- [ ] Click "Create Campaign"
|
||||
- [ ] Complete wizard (name, goal, channels, product info)
|
||||
- [ ] Verify campaign appears in dashboard
|
||||
|
||||
2. **Proposal Generation**
|
||||
- [ ] After wizard, verify proposals are generated
|
||||
- [ ] Check database: `SELECT * FROM product_marketing_proposals WHERE campaign_id = '...'`
|
||||
- [ ] Verify proposals appear in ProposalReview component
|
||||
|
||||
3. **Asset Generation**
|
||||
- [ ] Select proposals to generate
|
||||
- [ ] Click "Generate Selected Assets"
|
||||
- [ ] Verify assets appear in Asset Library
|
||||
- [ ] Check database: `SELECT * FROM content_assets WHERE source_module = 'product_marketing'`
|
||||
|
||||
4. **Campaign Status**
|
||||
- [ ] Verify campaign status updates to "ready" after asset generation
|
||||
- [ ] Check asset node statuses update correctly
|
||||
|
||||
**Impact**: High - Validates entire workflow works
|
||||
|
||||
---
|
||||
|
||||
## 📋 Week 1: Core Workflow Completion
|
||||
|
||||
### Day 1-2: Database & Persistence ✅
|
||||
|
||||
**Tasks**:
|
||||
- [x] Fix proposal persistence (30 min)
|
||||
- [x] Create database migration (1 hour)
|
||||
- [x] Test end-to-end flow (30 min)
|
||||
- [ ] **Add error handling** for database operations (1 hour)
|
||||
- [ ] **Add logging** for proposal generation lifecycle (30 min)
|
||||
|
||||
**Deliverable**: All data persists correctly through workflow
|
||||
|
||||
---
|
||||
|
||||
### Day 3-4: Asset Generation Integration 🟡
|
||||
|
||||
**Current State**:
|
||||
- `ProposalReview.tsx` calls `generateAsset()` hook ✅
|
||||
- Backend endpoint exists ✅
|
||||
- **Issue**: Need to verify Image Studio integration works
|
||||
|
||||
**Tasks**:
|
||||
- [ ] **Test image generation** from proposal review
|
||||
- [ ] **Verify asset tracking** - assets appear in Asset Library with correct metadata
|
||||
- [ ] **Update campaign status** after asset generation completes
|
||||
- [ ] **Handle errors gracefully** - show user-friendly messages
|
||||
- [ ] **Add loading states** - show progress for each asset being generated
|
||||
|
||||
**Code Locations to Verify**:
|
||||
- `frontend/src/components/ProductMarketing/ProposalReview.tsx` (lines 110-158)
|
||||
- `backend/routers/product_marketing.py` (lines 209-240)
|
||||
- `backend/services/product_marketing/orchestrator.py` (lines 199-259)
|
||||
|
||||
**Deliverable**: Users can generate images from proposals successfully
|
||||
|
||||
---
|
||||
|
||||
### Day 5-6: Text Generation Integration 🟡
|
||||
|
||||
**Current State**:
|
||||
- Text generation in orchestrator returns placeholder (line 245-252 in `orchestrator.py`)
|
||||
- Need to integrate `llm_text_gen` service
|
||||
|
||||
**Implementation Required**:
|
||||
|
||||
```python
|
||||
# backend/services/product_marketing/orchestrator.py
|
||||
# Replace lines 245-252:
|
||||
|
||||
elif asset_type == "text":
|
||||
# Import text generation service
|
||||
from services.llm_providers.main_text_generation import llm_text_gen
|
||||
from utils.text_asset_tracker import save_and_track_text_content
|
||||
from services.database import SessionLocal
|
||||
|
||||
# Get enhanced prompt from proposal
|
||||
text_prompt = asset_proposal.get('proposed_prompt')
|
||||
|
||||
# Generate text using LLM
|
||||
db = SessionLocal()
|
||||
try:
|
||||
text_result = await llm_text_gen(
|
||||
prompt=text_prompt,
|
||||
user_id=user_id,
|
||||
# Add persona/context if available
|
||||
)
|
||||
|
||||
# Save to Asset Library
|
||||
save_and_track_text_content(
|
||||
db=db,
|
||||
user_id=user_id,
|
||||
content=text_result.get('content', ''),
|
||||
title=f"{asset_proposal.get('channel', '')} {asset_proposal.get('asset_type', 'copy')}",
|
||||
description=f"Marketing copy for {asset_proposal.get('channel')}",
|
||||
source_module="product_marketing",
|
||||
tags=["product_marketing", asset_proposal.get('channel', ''), "text"],
|
||||
asset_metadata={
|
||||
"campaign_id": campaign_id, # Need to pass this
|
||||
"asset_type": "text",
|
||||
"channel": asset_proposal.get('channel'),
|
||||
}
|
||||
)
|
||||
|
||||
return {
|
||||
"success": True,
|
||||
"asset_type": "text",
|
||||
"content": text_result.get('content'),
|
||||
"asset_id": text_result.get('asset_id'),
|
||||
}
|
||||
finally:
|
||||
db.close()
|
||||
```
|
||||
|
||||
**Tasks**:
|
||||
- [ ] **Integrate `llm_text_gen` service** for text asset generation
|
||||
- [ ] **Save text assets** to Asset Library using `save_and_track_text_content`
|
||||
- [ ] **Test text generation** with campaign workflow
|
||||
- [ ] **Handle errors** - what if LLM fails?
|
||||
|
||||
**Deliverable**: Text assets (captions, CTAs) generate and save correctly
|
||||
|
||||
---
|
||||
|
||||
## 📋 Week 2: UX Polish & Testing
|
||||
|
||||
### Day 7-8: Pre-flight Validation UI 🟢
|
||||
|
||||
**Current State**:
|
||||
- Backend validation exists in `orchestrator.validate_campaign_preflight()` ✅
|
||||
- Frontend doesn't show cost/limits before generation
|
||||
|
||||
**Implementation Required**:
|
||||
|
||||
1. **Add validation step in CampaignWizard** (before proposal generation):
|
||||
```typescript
|
||||
// In CampaignWizard.tsx, add validation before generating proposals:
|
||||
|
||||
const [validationResult, setValidationResult] = useState<any>(null);
|
||||
|
||||
const validateCampaign = async () => {
|
||||
// Call pre-flight check API
|
||||
const response = await fetch('/api/product-marketing/campaigns/validate', {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({
|
||||
campaign_id: blueprint.campaign_id,
|
||||
channels: selectedChannels,
|
||||
})
|
||||
});
|
||||
const result = await response.json();
|
||||
setValidationResult(result);
|
||||
|
||||
if (!result.can_proceed) {
|
||||
// Show error with upgrade prompt
|
||||
}
|
||||
};
|
||||
```
|
||||
|
||||
2. **Show cost breakdown** before proposal generation
|
||||
3. **Display subscription limits** clearly
|
||||
4. **Block workflow** if limits exceeded (with upgrade CTA)
|
||||
|
||||
**Tasks**:
|
||||
- [ ] **Create validation endpoint** (or use existing orchestrator method)
|
||||
- [ ] **Add validation UI** in CampaignWizard
|
||||
- [ ] **Show cost estimates** for all assets
|
||||
- [ ] **Handle subscription limit errors** gracefully
|
||||
- [ ] **Add upgrade prompts** when limits exceeded
|
||||
|
||||
**Deliverable**: Users see costs and limits before generating assets
|
||||
|
||||
---
|
||||
|
||||
### Day 9-10: Proposal Review Enhancements 🟢
|
||||
|
||||
**Current State**:
|
||||
- ProposalReview component exists ✅
|
||||
- Basic functionality works
|
||||
- **Missing**: Better UX features
|
||||
|
||||
**Enhancements Needed**:
|
||||
|
||||
1. **Prompt Editing** (Partially implemented):
|
||||
- [x] Edit prompt UI exists (line 97-108)
|
||||
- [ ] **Save edited prompt** back to proposal in database
|
||||
- [ ] **Validate prompt** before saving
|
||||
|
||||
2. **Cost Display**:
|
||||
- [ ] **Show individual costs** prominently for each proposal
|
||||
- [ ] **Total cost** calculation for selected assets
|
||||
- [ ] **Cost breakdown** by asset type
|
||||
|
||||
3. **Batch Actions**:
|
||||
- [x] Select all/none exists
|
||||
- [ ] **Batch approve/reject** proposals
|
||||
- [ ] **Bulk edit prompts** (for similar assets)
|
||||
|
||||
4. **Status Indicators**:
|
||||
- [ ] **Visual status** for each proposal (proposed, generating, ready, approved)
|
||||
- [ ] **Progress tracking** - show which assets are being generated
|
||||
- [ ] **Success/error states** for generated assets
|
||||
|
||||
**Tasks**:
|
||||
- [ ] **Enhance prompt editing** - save to database
|
||||
- [ ] **Improve cost display** - make it prominent
|
||||
- [ ] **Add batch operations** - approve/reject multiple
|
||||
- [ ] **Add status indicators** - visual feedback
|
||||
|
||||
**Deliverable**: Better user experience in proposal review
|
||||
|
||||
---
|
||||
|
||||
### Day 11-12: Testing & Bug Fixes ✅
|
||||
|
||||
**End-to-End Testing**:
|
||||
|
||||
1. **Happy Path**:
|
||||
- [ ] Create campaign → Generate proposals → Review → Generate assets → Verify in Asset Library
|
||||
|
||||
2. **Error Scenarios**:
|
||||
- [ ] Subscription limits exceeded
|
||||
- [ ] API failures during generation
|
||||
- [ ] Network timeouts
|
||||
- [ ] Invalid proposal data
|
||||
|
||||
3. **Edge Cases**:
|
||||
- [ ] User with no onboarding data
|
||||
- [ ] Campaign with many assets (20+)
|
||||
- [ ] Rapid sequential operations
|
||||
- [ ] Browser refresh mid-workflow
|
||||
|
||||
4. **Performance**:
|
||||
- [ ] Page load times
|
||||
- [ ] Large proposal lists (50+ proposals)
|
||||
- [ ] Concurrent asset generation
|
||||
|
||||
**Bug Fixes**:
|
||||
- [ ] Fix any discovered issues
|
||||
- [ ] Improve error messages
|
||||
- [ ] Add loading states where missing
|
||||
- [ ] Polish UI/UX inconsistencies
|
||||
|
||||
**Deliverable**: Stable, tested MVP
|
||||
|
||||
---
|
||||
|
||||
## 🔍 Code Review Checklist
|
||||
|
||||
Before considering MVP complete, verify all items:
|
||||
|
||||
### Backend ✅
|
||||
- [ ] Proposals save to database automatically
|
||||
- [ ] Database tables exist and migrations run
|
||||
- [ ] Asset generation works for images
|
||||
- [ ] Text generation works for captions/CTAs
|
||||
- [ ] Error handling covers all edge cases
|
||||
- [ ] Subscription limits are enforced
|
||||
- [ ] Brand DNA loads from onboarding data
|
||||
- [ ] Campaign status updates correctly
|
||||
|
||||
### Frontend ✅
|
||||
- [ ] Asset generation works from proposal review
|
||||
- [ ] Pre-flight validation shows in UI
|
||||
- [ ] Assets appear in Asset Library with proper metadata
|
||||
- [ ] Campaign progress updates correctly
|
||||
- [ ] Error states show user-friendly messages
|
||||
- [ ] Loading states provide feedback
|
||||
- [ ] Mobile responsive (test on mobile)
|
||||
|
||||
### Integration ✅
|
||||
- [ ] End-to-end workflow works smoothly
|
||||
- [ ] Data flows correctly: Wizard → Proposals → Assets → Library
|
||||
- [ ] Campaign state persists across page refreshes
|
||||
- [ ] Asset metadata links back to campaigns
|
||||
|
||||
---
|
||||
|
||||
## 📊 Success Criteria
|
||||
|
||||
**MVP is complete when**:
|
||||
1. ✅ User can create campaign via wizard
|
||||
2. ✅ Proposals generate automatically with brand DNA
|
||||
3. ✅ User can review and edit proposals
|
||||
4. ✅ User can generate assets (images + text) from proposals
|
||||
5. ✅ Generated assets appear in Asset Library
|
||||
6. ✅ Campaign status tracks progress correctly
|
||||
7. ✅ Subscription limits are enforced
|
||||
8. ✅ Error handling works gracefully
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Quick Start Commands
|
||||
|
||||
### 1. Fix Proposal Persistence
|
||||
```bash
|
||||
# Edit backend/routers/product_marketing.py
|
||||
# Add save_proposals() call after line 199
|
||||
```
|
||||
|
||||
### 2. Create Migration
|
||||
```bash
|
||||
cd backend
|
||||
alembic revision --autogenerate -m "Add product marketing tables"
|
||||
alembic upgrade head
|
||||
```
|
||||
|
||||
### 3. Test Flow
|
||||
```bash
|
||||
# Start backend
|
||||
cd backend && python -m uvicorn app:app --reload
|
||||
|
||||
# Start frontend
|
||||
cd frontend && npm start
|
||||
|
||||
# Navigate to http://localhost:3000/product-marketing
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📝 Notes
|
||||
|
||||
- All backend services follow existing patterns ✅
|
||||
- Frontend components use Image Studio UI patterns ✅
|
||||
- Integration points are clean and maintainable ✅
|
||||
- **Main work**: Connect the pieces and add error handling
|
||||
|
||||
**Estimated Time**: 1-2 weeks for MVP completion
|
||||
**Priority**: High - Unlocks full campaign workflow
|
||||
|
||||
---
|
||||
|
||||
**Last Updated**: December 2024
|
||||
**Next Review**: After MVP completion
|
||||
|
||||
162
docs/product marketing/PRODUCT_MARKETING_PHASE1_FRONTEND.md
Normal file
162
docs/product marketing/PRODUCT_MARKETING_PHASE1_FRONTEND.md
Normal file
@@ -0,0 +1,162 @@
|
||||
# Product Marketing Suite - Phase 1 Frontend Implementation
|
||||
|
||||
## Overview
|
||||
|
||||
Phase 1 frontend implementation includes the main dashboard, campaign wizard, asset audit panel, and channel pack builder components.
|
||||
|
||||
## Implementation Status
|
||||
|
||||
### ✅ Completed Frontend Components
|
||||
|
||||
#### 1. useProductMarketing Hook (`frontend/src/hooks/useProductMarketing.ts`)
|
||||
- **Features**:
|
||||
- Campaign blueprint creation
|
||||
- Asset proposal generation
|
||||
- Asset generation
|
||||
- Brand DNA retrieval
|
||||
- Channel pack loading
|
||||
- Asset auditing
|
||||
- **API Integration**: Uses `aiApiClient` to call `/api/product-marketing/*` endpoints
|
||||
- **Status**: ✅ Complete
|
||||
|
||||
#### 2. ProductMarketingDashboard (`frontend/src/components/ProductMarketing/ProductMarketingDashboard.tsx`)
|
||||
- **Features**:
|
||||
- Main dashboard with quick actions
|
||||
- Brand DNA status display
|
||||
- Campaign creation button
|
||||
- Asset audit button
|
||||
- Active campaigns list with progress tracking
|
||||
- **Integration**: Uses `ImageStudioLayout`, `GlassyCard`, `SectionHeader` from Image Studio
|
||||
- **Status**: ✅ Complete
|
||||
|
||||
#### 3. CampaignWizard (`frontend/src/components/ProductMarketing/CampaignWizard.tsx`)
|
||||
- **Features**:
|
||||
- Multi-step wizard (4 steps):
|
||||
1. Campaign Goal & KPI
|
||||
2. Select Channels
|
||||
3. Product Context
|
||||
4. Review & Create
|
||||
- Brand DNA integration (shows personalized info)
|
||||
- Channel selection with visual cards
|
||||
- Product information input
|
||||
- Campaign blueprint creation
|
||||
- **Integration**: Uses Material-UI Stepper, integrates with `useProductMarketing` hook
|
||||
- **Status**: ✅ Complete
|
||||
|
||||
#### 4. AssetAuditPanel (`frontend/src/components/ProductMarketing/AssetAuditPanel.tsx`)
|
||||
- **Features**:
|
||||
- Drag & drop image upload
|
||||
- Image preview
|
||||
- Asset quality assessment display
|
||||
- Enhancement recommendations with priority levels
|
||||
- Quality score visualization
|
||||
- Action buttons (Upload Another, Enhance Asset)
|
||||
- **Integration**: Uses `useProductMarketing.auditAsset()`
|
||||
- **Status**: ✅ Complete
|
||||
|
||||
#### 5. ChannelPackBuilder (`frontend/src/components/ProductMarketing/ChannelPackBuilder.tsx`)
|
||||
- **Features**:
|
||||
- Channel tabs for switching between platforms
|
||||
- Template recommendations display
|
||||
- Platform format specifications
|
||||
- Copy framework guidelines
|
||||
- Optimization tips
|
||||
- **Integration**: Uses `useProductMarketing.getChannelPack()`
|
||||
- **Status**: ✅ Complete
|
||||
|
||||
### ✅ Routing
|
||||
|
||||
**Route Added**: `/product-marketing`
|
||||
- **File**: `frontend/src/App.tsx`
|
||||
- **Component**: `ProductMarketingDashboard`
|
||||
- **Protection**: Protected route (requires authentication)
|
||||
- **Status**: ✅ Complete
|
||||
|
||||
## Component Structure
|
||||
|
||||
```
|
||||
frontend/src/components/ProductMarketing/
|
||||
├── ProductMarketingDashboard.tsx # Main dashboard
|
||||
├── CampaignWizard.tsx # Multi-step campaign creation
|
||||
├── AssetAuditPanel.tsx # Asset upload and audit
|
||||
├── ChannelPackBuilder.tsx # Channel-specific configs
|
||||
└── index.ts # Exports
|
||||
```
|
||||
|
||||
## Design Patterns
|
||||
|
||||
### 1. Reuses Image Studio UI Components
|
||||
- `ImageStudioLayout` - Consistent layout with gradient background
|
||||
- `GlassyCard` - Glassmorphism card component
|
||||
- `SectionHeader` - Section headers with icons
|
||||
- Global theme from Image Studio
|
||||
|
||||
### 2. Material-UI Components
|
||||
- Stepper for multi-step wizards
|
||||
- Cards, Chips, Alerts for information display
|
||||
- Grid system for responsive layouts
|
||||
- Motion animations from framer-motion
|
||||
|
||||
### 3. API Integration
|
||||
- All API calls through `useProductMarketing` hook
|
||||
- Error handling via hook state
|
||||
- Loading states for async operations
|
||||
|
||||
## User Flows
|
||||
|
||||
### Flow 1: Create Campaign
|
||||
1. User clicks "Create Campaign" on dashboard
|
||||
2. Campaign Wizard opens
|
||||
3. User fills in campaign details (4 steps)
|
||||
4. Blueprint is created
|
||||
5. User is redirected back to dashboard with new campaign listed
|
||||
|
||||
### Flow 2: Audit Asset
|
||||
1. User clicks "Audit Assets" on dashboard
|
||||
2. Asset Audit Panel opens
|
||||
3. User uploads image (drag & drop or click)
|
||||
4. AI analyzes asset and shows recommendations
|
||||
5. User can enhance asset or upload another
|
||||
|
||||
### Flow 3: View Channel Packs
|
||||
1. ChannelPackBuilder component displays channel-specific configurations
|
||||
2. User can switch between channels via tabs
|
||||
3. Shows templates, formats, copy frameworks, and optimization tips
|
||||
|
||||
## Integration Points
|
||||
|
||||
### Backend APIs
|
||||
- `/api/product-marketing/campaigns/create-blueprint` - Create campaign
|
||||
- `/api/product-marketing/campaigns/{id}/generate-proposals` - Generate proposals
|
||||
- `/api/product-marketing/assets/generate` - Generate asset
|
||||
- `/api/product-marketing/assets/audit` - Audit asset
|
||||
- `/api/product-marketing/brand-dna` - Get brand DNA
|
||||
- `/api/product-marketing/channels/{channel}/pack` - Get channel pack
|
||||
|
||||
### Image Studio Integration
|
||||
- Reuses Image Studio layout and UI components
|
||||
- Follows same design patterns and animations
|
||||
- Consistent user experience
|
||||
|
||||
## Next Steps
|
||||
|
||||
1. **Asset Proposal Review Component** - Display and approve AI-generated proposals
|
||||
2. **Campaign Detail View** - View campaign progress, assets, and generate more
|
||||
3. **Asset Generation Queue** - Track asset generation progress
|
||||
4. **Channel Preview** - Preview assets in platform-specific formats
|
||||
|
||||
## Testing Checklist
|
||||
|
||||
- [ ] Test campaign wizard flow end-to-end
|
||||
- [ ] Test asset upload and audit
|
||||
- [ ] Test channel pack loading for all platforms
|
||||
- [ ] Test brand DNA loading and display
|
||||
- [ ] Test error handling and loading states
|
||||
- [ ] Test responsive design on mobile/tablet
|
||||
- [ ] Verify routing works correctly
|
||||
- [ ] Test integration with backend APIs
|
||||
|
||||
---
|
||||
|
||||
*Phase 1 Frontend Implementation Complete - Ready for Testing & Integration*
|
||||
|
||||
@@ -0,0 +1,155 @@
|
||||
# Product Marketing Suite - Phase 1 Implementation Summary
|
||||
|
||||
## Overview
|
||||
|
||||
Phase 1 implementation of the Product Marketing Suite focuses on the MVP: Campaign wizard, asset audit, and channel packs for social media platforms.
|
||||
|
||||
## Implementation Status
|
||||
|
||||
### ✅ Completed Backend Services
|
||||
|
||||
#### 1. ProductMarketingPromptBuilder (`backend/services/product_marketing/prompt_builder.py`)
|
||||
- **Extends**: `AIPromptOptimizer`
|
||||
- **Features**:
|
||||
- `build_marketing_image_prompt()`: Enhances image prompts with brand DNA, persona style, channel optimization
|
||||
- `build_marketing_copy_prompt()`: Enhances text prompts with persona linguistic fingerprint, brand voice
|
||||
- `optimize_marketing_prompt()`: Main entry point for prompt optimization
|
||||
- **Integration**: Uses `OnboardingDataService`, `OnboardingDatabaseService`, `PersonaDataService`
|
||||
- **Status**: ✅ Complete
|
||||
|
||||
#### 2. BrandDNASyncService (`backend/services/product_marketing/brand_dna_sync.py`)
|
||||
- **Features**:
|
||||
- `get_brand_dna_tokens()`: Extracts brand DNA from onboarding and persona data
|
||||
- `get_channel_specific_dna()`: Gets channel-specific brand adaptations
|
||||
- **Integration**: Uses `OnboardingDatabaseService` to fetch website analysis, persona data, competitor analyses
|
||||
- **Status**: ✅ Complete
|
||||
|
||||
#### 3. AssetAuditService (`backend/services/product_marketing/asset_audit.py`)
|
||||
- **Features**:
|
||||
- `audit_asset()`: Analyzes uploaded assets and recommends enhancements
|
||||
- `batch_audit_assets()`: Batch processing for multiple assets
|
||||
- Quality scoring, resolution checks, format recommendations
|
||||
- **Integration**: Uses PIL for image analysis
|
||||
- **Status**: ✅ Complete
|
||||
|
||||
#### 4. ChannelPackService (`backend/services/product_marketing/channel_pack.py`)
|
||||
- **Features**:
|
||||
- `get_channel_pack()`: Gets channel-specific templates, formats, copy frameworks
|
||||
- `build_multi_channel_pack()`: Builds optimized packs for multiple channels
|
||||
- **Integration**: Uses `TemplateManager` and `SocialOptimizerService` from Image Studio
|
||||
- **Status**: ✅ Complete
|
||||
|
||||
#### 5. ProductMarketingOrchestrator (`backend/services/product_marketing/orchestrator.py`)
|
||||
- **Features**:
|
||||
- `create_campaign_blueprint()`: Creates personalized campaign blueprint
|
||||
- `generate_asset_proposals()`: Generates AI proposals for all assets
|
||||
- `generate_asset()`: Generates single asset using Image Studio APIs
|
||||
- `validate_campaign_preflight()`: Validates subscription limits before generation
|
||||
- **Integration**:
|
||||
- Reuses `ImageStudioManager` for image generation
|
||||
- Uses all other Product Marketing services
|
||||
- Integrates with `PricingService` for subscription validation
|
||||
- **Status**: ✅ Complete
|
||||
|
||||
### ✅ Completed API Endpoints
|
||||
|
||||
**Router**: `backend/routers/product_marketing.py`
|
||||
**Prefix**: `/api/product-marketing`
|
||||
|
||||
#### Campaign Endpoints
|
||||
- `POST /api/product-marketing/campaigns/create-blueprint` - Create campaign blueprint
|
||||
- `POST /api/product-marketing/campaigns/{campaign_id}/generate-proposals` - Generate asset proposals
|
||||
|
||||
#### Asset Endpoints
|
||||
- `POST /api/product-marketing/assets/generate` - Generate single asset
|
||||
- `POST /api/product-marketing/assets/audit` - Audit uploaded asset
|
||||
|
||||
#### Brand DNA Endpoints
|
||||
- `GET /api/product-marketing/brand-dna` - Get brand DNA tokens
|
||||
- `GET /api/product-marketing/brand-dna/channel/{channel}` - Get channel-specific DNA
|
||||
|
||||
#### Channel Pack Endpoints
|
||||
- `GET /api/product-marketing/channels/{channel}/pack` - Get channel pack configuration
|
||||
|
||||
#### Health Check
|
||||
- `GET /api/product-marketing/health` - Service health check
|
||||
|
||||
**Status**: ✅ Complete and registered in `backend/app.py`
|
||||
|
||||
### 🔄 Next Steps (Frontend)
|
||||
|
||||
1. **ProductMarketingDashboard.tsx** - Main dashboard component
|
||||
2. **CampaignWizard.tsx** - Multi-step wizard for campaign creation
|
||||
3. **AssetAuditPanel.tsx** - Asset intake and audit interface
|
||||
4. **ChannelPackBuilder.tsx** - Channel-specific preview builder
|
||||
|
||||
## Key Integration Points
|
||||
|
||||
### 1. Reuses Existing Image Studio APIs
|
||||
- All image generation goes through `ImageStudioManager.create_image()`
|
||||
- Subscription validation built-in via `PricingService`
|
||||
- Asset tracking automatic via `save_asset_to_library()`
|
||||
|
||||
### 2. Onboarding Data Integration
|
||||
- Uses `OnboardingDatabaseService` to fetch:
|
||||
- Website analysis (writing style, target audience, brand analysis)
|
||||
- Persona data (core persona, platform personas)
|
||||
- Competitor analyses (differentiation points)
|
||||
- Research preferences (research depth, content types)
|
||||
|
||||
### 3. Persona System Integration
|
||||
- Uses `PersonaDataService` for:
|
||||
- Linguistic fingerprint (sentence length, vocabulary, go-to words)
|
||||
- Platform-specific adaptations
|
||||
- Visual identity preferences
|
||||
|
||||
### 4. Subscription & Usage Limits
|
||||
- Pre-flight validation via `PricingService.check_comprehensive_limits()`
|
||||
- Cost estimation for campaign blueprints
|
||||
- Automatic validation before asset generation
|
||||
|
||||
### 5. Asset Library Integration
|
||||
- All generated assets automatically tracked via Image Studio's `save_asset_to_library()`
|
||||
- Assets tagged with `source_module="product_marketing"`
|
||||
- Campaign metadata stored in asset metadata
|
||||
|
||||
## Testing Checklist
|
||||
|
||||
- [ ] Test campaign blueprint creation with onboarding data
|
||||
- [ ] Test asset proposal generation with brand DNA
|
||||
- [ ] Test asset generation via Image Studio APIs
|
||||
- [ ] Test subscription pre-flight validation
|
||||
- [ ] Test asset audit service with sample images
|
||||
- [ ] Test channel pack service for all platforms
|
||||
- [ ] Verify assets appear in Asset Library
|
||||
- [ ] Test API endpoints with authentication
|
||||
|
||||
## Files Created
|
||||
|
||||
```
|
||||
backend/
|
||||
├── services/
|
||||
│ └── product_marketing/
|
||||
│ ├── __init__.py
|
||||
│ ├── orchestrator.py
|
||||
│ ├── prompt_builder.py
|
||||
│ ├── brand_dna_sync.py
|
||||
│ ├── asset_audit.py
|
||||
│ └── channel_pack.py
|
||||
└── routers/
|
||||
└── product_marketing.py
|
||||
```
|
||||
|
||||
## Dependencies
|
||||
|
||||
- `services.image_studio` - Image Studio Manager and services
|
||||
- `services.onboarding` - Onboarding data services
|
||||
- `services.persona_data_service` - Persona data access
|
||||
- `services.subscription` - Subscription and pricing services
|
||||
- `services.ai_prompt_optimizer` - Base prompt optimizer
|
||||
- `utils.asset_tracker` - Asset Library integration
|
||||
|
||||
---
|
||||
|
||||
*Phase 1 Backend Implementation Complete - Ready for Frontend Development*
|
||||
|
||||
653
docs/product marketing/PRODUCT_MARKETING_SUITE_PLAN.md
Normal file
653
docs/product marketing/PRODUCT_MARKETING_SUITE_PLAN.md
Normal file
@@ -0,0 +1,653 @@
|
||||
# Product Marketing Suite: Detailed Feature Plan
|
||||
|
||||
**Last Updated**: January 2025
|
||||
**Status**: Planning Phase
|
||||
**Vision**: Professional product asset creation for e-commerce and product marketing
|
||||
|
||||
---
|
||||
|
||||
## Executive Summary
|
||||
|
||||
The **Product Marketing Suite** is a specialized module focused on creating professional marketing assets specifically ABOUT products. Unlike the Campaign Creator (which orchestrates multi-channel campaigns), this suite enables users to create product images, animations, and voice-overs that showcase their products professionally.
|
||||
|
||||
**Key Differentiator**: Product Marketing Suite is PRODUCT-FOCUSED, not campaign-focused. It's about making products look great, move beautifully, and sound professional.
|
||||
|
||||
---
|
||||
|
||||
## Vision & Goals
|
||||
|
||||
### Core Vision
|
||||
Transform product asset creation from expensive, time-consuming processes (photography studios, video production teams, voice-over artists) into an AI-powered, accessible workflow that delivers professional results in minutes.
|
||||
|
||||
### Primary Goals
|
||||
|
||||
| Goal | Description | Business Value |
|
||||
|------|-------------|----------------|
|
||||
| **AI Product Photoshoots** | Generate professional product images without photography studios | Save $500-2000 per product shoot |
|
||||
| **Product Animations** | Animate product images into engaging videos | Replace $300-800 animation costs |
|
||||
| **Product Voice-Overs** | Professional product narration in multiple languages | Save $200-500 per voice-over |
|
||||
| **E-commerce Integration** | Direct export to Shopify, Amazon, WooCommerce | Reduce time-to-market from weeks to hours |
|
||||
| **Consistent Branding** | Maintain brand style across all product assets | Professional, cohesive product presentations |
|
||||
|
||||
---
|
||||
|
||||
## Target Users
|
||||
|
||||
### Primary Personas
|
||||
|
||||
1. **E-commerce Store Owners**
|
||||
- Need product images for listings
|
||||
- Want consistent product photography
|
||||
- Multiple products to showcase
|
||||
- Limited budget for professional photography
|
||||
|
||||
2. **Product Marketers**
|
||||
- Launching new products
|
||||
- Need product demo videos
|
||||
- Creating product catalogs
|
||||
- Trade show materials
|
||||
|
||||
3. **Small Business Owners**
|
||||
- Launching products on limited budget
|
||||
- Need professional-looking assets
|
||||
- Multiple channels (website, social, marketplaces)
|
||||
- Time-constrained
|
||||
|
||||
4. **Marketing Teams**
|
||||
- Need product assets for campaigns
|
||||
- Want brand-consistent visuals
|
||||
- Multiple product variations
|
||||
- Fast turnaround requirements
|
||||
|
||||
---
|
||||
|
||||
## Feature Pillars
|
||||
|
||||
### 1. 🎬 AI Product Photoshoot Studio
|
||||
|
||||
**Purpose**: Generate professional product images with AI models in various environments
|
||||
|
||||
#### Core Features
|
||||
|
||||
**1.1 Product Image Generation**
|
||||
- **AI Models in Scenarios**: Place products with AI-generated models in lifestyle settings
|
||||
- **Studio Photography**: Clean, professional studio-style product shots
|
||||
- **Lifestyle Scenes**: Products in realistic use environments
|
||||
- **360° Product Views**: Generate product from multiple angles
|
||||
- **Product Variations**: Different colors, sizes, configurations
|
||||
|
||||
**1.2 Product Composition**
|
||||
- **Background Selection**: Studio white, lifestyle backgrounds, branded environments
|
||||
- **Lighting Control**: Natural, studio, dramatic lighting presets
|
||||
- **Product Positioning**: Center, rule of thirds, custom placement
|
||||
- **Shadow & Reflection**: Realistic shadows and reflections
|
||||
- **Multi-Product Shots**: Group products together
|
||||
|
||||
**1.3 Product Styles**
|
||||
- **Minimalist**: Clean, simple, modern aesthetic
|
||||
- **Luxury**: High-end, premium feel
|
||||
- **Lifestyle**: Products in use, relatable scenarios
|
||||
- **Technical**: Detailed, feature-focused
|
||||
- **Packaging Focus**: Showcase product packaging
|
||||
|
||||
#### Use Cases
|
||||
- E-commerce product listings (Shopify, Amazon, eBay)
|
||||
- Product catalog creation
|
||||
- Product portfolio
|
||||
- Marketing materials
|
||||
- Trade show displays
|
||||
|
||||
#### WaveSpeed AI Integration
|
||||
- **Ideogram V3 Turbo**: Photorealistic product images
|
||||
- **Qwen Image**: Fast product image generation
|
||||
- **Stability AI**: Advanced product renders
|
||||
|
||||
---
|
||||
|
||||
### 2. 🎥 Product Animation Studio
|
||||
|
||||
**Purpose**: Animate static product images into dynamic videos
|
||||
|
||||
#### Core Features
|
||||
|
||||
**2.1 Image-to-Video Transformation**
|
||||
- **Product Reveal Animations**: Smooth reveal of product features
|
||||
- **360° Rotation**: Rotating product showcase
|
||||
- **Product in Action**: Show product being used
|
||||
- **Feature Highlights**: Zoom and highlight product features
|
||||
- **Before/After**: Transform product states
|
||||
|
||||
**2.2 Animation Styles**
|
||||
- **Smooth Reveal**: Elegant product unveiling
|
||||
- **Dynamic Rotation**: 360° product rotation
|
||||
- **Motion Graphics**: Animated text and graphics overlay
|
||||
- **Cinematic**: Movie-like product presentation
|
||||
- **Social Media**: Optimized for Instagram, TikTok
|
||||
|
||||
**2.3 Video Output Options**
|
||||
- **Resolutions**: 480p, 720p, 1080p
|
||||
- **Durations**: 3s, 5s, 10s, 15s
|
||||
- **Aspect Ratios**: 16:9, 9:16, 1:1, 4:5
|
||||
- **Formats**: MP4, optimized for platforms
|
||||
|
||||
#### Use Cases
|
||||
- Product demo videos
|
||||
- Social media product posts
|
||||
- Product launch videos
|
||||
- E-commerce video listings
|
||||
- Email marketing videos
|
||||
|
||||
#### WaveSpeed AI Integration
|
||||
- **WAN 2.5 Image-to-Video**: Transform product images into videos
|
||||
- **Custom Audio**: Add product narration or music
|
||||
|
||||
---
|
||||
|
||||
### 3. 🎙️ Product Voice Studio
|
||||
|
||||
**Purpose**: Generate professional product narration and descriptions
|
||||
|
||||
#### Core Features
|
||||
|
||||
**3.1 Product Voice-Overs**
|
||||
- **Product Descriptions**: Read product descriptions professionally
|
||||
- **Feature Highlights**: Narrate product features
|
||||
- **Product Stories**: Tell product story/brand narrative
|
||||
- **Multi-Language**: Generate in multiple languages
|
||||
- **Voice Cloning**: Use brand voice for consistency
|
||||
|
||||
**3.2 Voice Styles**
|
||||
- **Professional**: Clear, authoritative
|
||||
- **Friendly**: Warm, approachable
|
||||
- **Energetic**: Exciting, dynamic
|
||||
- **Luxury**: Sophisticated, premium
|
||||
- **Technical**: Detailed, informative
|
||||
|
||||
**3.3 Audio Formats**
|
||||
- **Standard**: MP3, WAV
|
||||
- **Platform-Optimized**: Optimized for video platforms
|
||||
- **Podcast-Ready**: High-quality for podcast use
|
||||
|
||||
#### Use Cases
|
||||
- Product demo video narration
|
||||
- Product description audio
|
||||
- E-commerce audio descriptions (accessibility)
|
||||
- Product launch announcements
|
||||
- Multilingual product content
|
||||
|
||||
#### WaveSpeed AI Integration
|
||||
- **Minimax Voice Clone**: Brand voice consistency
|
||||
- **WAN 2.5 Synchronized Audio**: Add voice-over to product videos
|
||||
- **Multilingual Support**: Generate in multiple languages
|
||||
|
||||
---
|
||||
|
||||
### 4. 📦 Product Showcase Assets
|
||||
|
||||
**Purpose**: Create all product presentation assets
|
||||
|
||||
#### Core Features
|
||||
|
||||
**4.1 Product Hero Shots**
|
||||
- **Main Product Image**: Eye-catching primary image
|
||||
- **Multiple Angles**: Front, back, side, detail views
|
||||
- **Hero Video**: Dynamic hero video for landing pages
|
||||
|
||||
**4.2 Product Detail Views**
|
||||
- **Close-Ups**: Detailed feature shots
|
||||
- **Zoom Views**: Highlight specific features
|
||||
- **Detail Comparison**: Before/after or feature comparison
|
||||
|
||||
**4.3 Product Comparison Assets**
|
||||
- **Side-by-Side**: Compare product variations
|
||||
- **Feature Grid**: Visual feature comparison
|
||||
- **Before/After**: Show transformation or upgrade
|
||||
|
||||
**4.4 Product in Use**
|
||||
- **Lifestyle Scenarios**: Products in real use cases
|
||||
- **User Demonstrations**: AI-generated users with products
|
||||
- **Context Shots**: Products in relevant environments
|
||||
|
||||
---
|
||||
|
||||
### 5. 🛒 E-commerce Platform Integration
|
||||
|
||||
**Purpose**: Direct export and optimization for e-commerce platforms
|
||||
|
||||
---
|
||||
|
||||
### 6. 🎨 Brand Consistency Engine
|
||||
|
||||
**Purpose**: Maintain brand style across all product assets
|
||||
|
||||
#### Core Features
|
||||
|
||||
**6.1 Brand Style Application**
|
||||
- **Color Palette**: Apply brand colors to backgrounds/accents
|
||||
- **Typography**: Consistent text styling (for overlaid text)
|
||||
- **Visual Style**: Maintain consistent aesthetic
|
||||
- **Logo Integration**: Seamless logo placement
|
||||
|
||||
**6.2 Product Style Templates**
|
||||
- **Brand Templates**: Save brand-specific templates
|
||||
- **Style Presets**: Quick style application
|
||||
- **Consistency Checking**: Ensure all assets match brand guidelines
|
||||
|
||||
---
|
||||
|
||||
## User Journeys
|
||||
|
||||
### Journey 1: New Product Launch
|
||||
|
||||
**User**: E-commerce store owner launching new product
|
||||
|
||||
**Steps**:
|
||||
1. Upload product photo or describe product
|
||||
2. Select "Product Photoshoot" mode
|
||||
3. Choose environment (studio, lifestyle, outdoor)
|
||||
4. Select product variations (colors, sizes)
|
||||
5. Generate product images
|
||||
6. Review and select best images
|
||||
7. Animate selected images into videos
|
||||
8. Generate product voice-over
|
||||
9. Export to Shopify/Amazon
|
||||
10. Publish product listing
|
||||
|
||||
**Time Saved**: 2-3 weeks → 2-3 hours
|
||||
**Cost Saved**: $1,500-3,000 → $5-20
|
||||
|
||||
---
|
||||
|
||||
### Journey 2: Product Catalog Creation
|
||||
|
||||
**User**: Product marketer creating product catalog
|
||||
|
||||
**Steps**:
|
||||
1. Upload multiple product images
|
||||
2. Batch process: apply consistent style
|
||||
3. Generate product variations
|
||||
4. Create product detail views
|
||||
5. Generate product comparison assets
|
||||
6. Export formatted catalog
|
||||
7. Generate PDF or web catalog
|
||||
|
||||
**Time Saved**: 4-6 weeks → 1-2 days
|
||||
**Output**: Professional product catalog
|
||||
|
||||
---
|
||||
|
||||
### Journey 3: Product Demo Video
|
||||
|
||||
**User**: Marketing team creating product demo
|
||||
|
||||
**Steps**:
|
||||
1. Select product image
|
||||
2. Choose animation style (reveal, rotation, in-use)
|
||||
3. Generate animated video
|
||||
4. Add product voice-over
|
||||
5. Add music or sound effects
|
||||
6. Export video for social media/website
|
||||
7. Optimize for multiple platforms
|
||||
|
||||
**Time Saved**: 1-2 weeks → 1-2 hours
|
||||
**Output**: Professional product demo video
|
||||
|
||||
---
|
||||
|
||||
### Journey 4: Multilingual Product Assets
|
||||
|
||||
**User**: Global product launch
|
||||
|
||||
**Steps**:
|
||||
1. Create product images (language-neutral)
|
||||
2. Generate product descriptions in multiple languages
|
||||
3. Generate voice-overs in each language
|
||||
4. Create platform-specific variants
|
||||
5. Export assets for each market
|
||||
6. Bulk upload to regional marketplaces
|
||||
|
||||
**Time Saved**: 6-8 weeks → 2-3 days
|
||||
**Output**: Product assets in 10+ languages
|
||||
|
||||
---
|
||||
|
||||
## Technical Architecture
|
||||
|
||||
### Backend Services
|
||||
|
||||
```
|
||||
backend/services/product_marketing/
|
||||
├── product_image_service.py # Product image generation
|
||||
├── product_animation_service.py # Image-to-video transformation
|
||||
├── product_voice_service.py # Voice-over generation
|
||||
├── ecommerce_integration.py # Platform integrations
|
||||
├── product_style_service.py # Brand consistency
|
||||
└── product_asset_manager.py # Asset organization
|
||||
```
|
||||
|
||||
### Frontend Components
|
||||
|
||||
```
|
||||
frontend/src/components/ProductMarketing/
|
||||
├── ProductPhotoshootStudio.tsx # Product image generation
|
||||
├── ProductAnimationStudio.tsx # Animation creation
|
||||
├── ProductVoiceStudio.tsx # Voice-over generation
|
||||
├── ProductShowcaseBuilder.tsx # Asset organization
|
||||
├── EcommerceExporter.tsx # Platform export
|
||||
└── ProductStyleTemplate.tsx # Brand templates
|
||||
```
|
||||
|
||||
### API Endpoints
|
||||
|
||||
```
|
||||
/api/product-marketing/
|
||||
├── POST /products/photoshoot # Generate product images
|
||||
├── POST /products/animate # Animate product images
|
||||
├── POST /products/voice-over # Generate product voice-over
|
||||
├── GET /products/assets # List product assets
|
||||
├── POST /products/export # Export to e-commerce platforms
|
||||
├── POST /products/batch-process # Batch product processing
|
||||
└── GET /products/templates # Get brand templates
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## WaveSpeed AI Integration
|
||||
|
||||
### Models & Use Cases
|
||||
|
||||
| WaveSpeed Model | Use Case | Integration Point |
|
||||
|----------------|----------|-------------------|
|
||||
| **Ideogram V3 Turbo** | Photorealistic product images | Product Photoshoot Studio |
|
||||
| **Qwen Image** | Fast product image generation | Quick product renders |
|
||||
| **WAN 2.5 Image-to-Video** | Product animations | Product Animation Studio |
|
||||
| **WAN 2.5 Text-to-Video** | Product demo videos | Product demo creation |
|
||||
| **Minimax Voice Clone** | Product voice-overs | Product Voice Studio |
|
||||
| **Hunyuan Avatar** | Product explainer videos | Product demo with avatar |
|
||||
|
||||
### Provider Selection Logic
|
||||
|
||||
```
|
||||
Product Image Generation:
|
||||
- Ideogram V3: High-quality, photorealistic (main)
|
||||
- Qwen Image: Fast generation, drafts
|
||||
- Stability AI: Advanced styles, variations
|
||||
|
||||
Product Animation:
|
||||
- WAN 2.5 Image-to-Video: Primary method
|
||||
- Custom animations: Advanced motion graphics
|
||||
|
||||
Voice-Overs:
|
||||
- Minimax Voice Clone: Brand voice consistency
|
||||
- TTS Services: Quick generation
|
||||
- Multilingual: Language-specific voices
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Integration with Existing ALwrity Features
|
||||
|
||||
### Image Studio Integration
|
||||
- **Create Studio**: Use for product image generation
|
||||
- **Edit Studio**: Enhance product images (remove backgrounds, etc.)
|
||||
- **Upscale Studio**: Improve product image quality
|
||||
- **Transform Studio**: Image-to-video for animations
|
||||
- **Social Optimizer**: Format product images for social media
|
||||
|
||||
### Asset Library Integration
|
||||
- All generated product assets automatically saved
|
||||
- Product asset collections
|
||||
- Search and filter by product
|
||||
- Asset versioning
|
||||
|
||||
### Brand DNA Integration
|
||||
- Apply brand colors to backgrounds
|
||||
- Use brand voice for voice-overs
|
||||
- Maintain brand aesthetic
|
||||
- Brand style templates
|
||||
|
||||
---
|
||||
|
||||
## Database Schema
|
||||
|
||||
### Product Assets Models
|
||||
|
||||
```python
|
||||
class ProductAsset(Base):
|
||||
"""Product asset (image, video, audio)."""
|
||||
__tablename__ = "product_assets"
|
||||
|
||||
id = Column(Integer, primary_key=True)
|
||||
product_id = Column(String, nullable=False, index=True)
|
||||
asset_type = Column(String) # image, video, audio
|
||||
variant = Column(String) # color, size, angle
|
||||
style = Column(String) # studio, lifestyle, etc.
|
||||
content_asset_id = Column(Integer, ForeignKey('content_assets.id'))
|
||||
# ... other fields
|
||||
|
||||
class ProductStyleTemplate(Base):
|
||||
"""Brand style templates for products."""
|
||||
__tablename__ = "product_style_templates"
|
||||
|
||||
id = Column(Integer, primary_key=True)
|
||||
user_id = Column(String, nullable=False)
|
||||
template_name = Column(String)
|
||||
color_palette = Column(JSON)
|
||||
background_style = Column(String)
|
||||
lighting_preset = Column(String)
|
||||
# ... other fields
|
||||
|
||||
class EcommerceExport(Base):
|
||||
"""E-commerce platform exports."""
|
||||
__tablename__ = "ecommerce_exports"
|
||||
|
||||
id = Column(Integer, primary_key=True)
|
||||
product_id = Column(String)
|
||||
platform = Column(String) # shopify, amazon, woocommerce
|
||||
export_status = Column(String)
|
||||
exported_assets = Column(JSON)
|
||||
# ... other fields
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Implementation Roadmap
|
||||
|
||||
### Phase 1: MVP - Product Image Generation (3-4 weeks)
|
||||
|
||||
**Week 1-2: Backend Foundation**
|
||||
- [ ] Create `ProductImageService`
|
||||
- [ ] Integrate Ideogram V3 for product images
|
||||
- [ ] Product image generation API endpoint
|
||||
- [ ] Product asset storage models
|
||||
|
||||
**Week 3-4: Frontend & Polish**
|
||||
- [ ] Product Photoshoot Studio UI
|
||||
- [ ] Product image preview and selection
|
||||
- [ ] Basic product variations
|
||||
- [ ] Asset Library integration
|
||||
|
||||
**Deliverable**: Users can generate professional product images
|
||||
|
||||
---
|
||||
|
||||
### Phase 2: Product Animation (2-3 weeks)
|
||||
|
||||
**Week 1-2: Animation Backend**
|
||||
- [ ] Integrate WAN 2.5 Image-to-Video
|
||||
- [ ] Product animation service
|
||||
- [ ] Animation styles and presets
|
||||
|
||||
**Week 3: Frontend**
|
||||
- [ ] Product Animation Studio UI
|
||||
- [ ] Animation preview
|
||||
- [ ] Video export options
|
||||
|
||||
**Deliverable**: Users can animate product images into videos
|
||||
|
||||
---
|
||||
|
||||
### Phase 3: Product Voice-Overs (2-3 weeks)
|
||||
|
||||
**Week 1-2: Voice Backend**
|
||||
- [ ] Integrate Minimax Voice Clone
|
||||
- [ ] Product voice-over service
|
||||
- [ ] Multilingual support
|
||||
|
||||
**Week 3: Frontend**
|
||||
- [ ] Product Voice Studio UI
|
||||
- [ ] Voice preview and editing
|
||||
- [ ] Audio export options
|
||||
|
||||
**Deliverable**: Users can generate product voice-overs
|
||||
|
||||
---
|
||||
|
||||
|
||||
**Week 3-4: Export & Optimization**
|
||||
- [ ] E-commerce exporter UI
|
||||
- [ ] Bulk export functionality
|
||||
- [ ] Platform-specific optimization
|
||||
|
||||
**Deliverable**: Users can export directly to e-commerce platforms
|
||||
|
||||
---
|
||||
|
||||
### Phase 5: Advanced Features (4-6 weeks)
|
||||
|
||||
**Batch Processing**
|
||||
- [ ] Multi-product processing
|
||||
- [ ] Style consistency across products
|
||||
- [ ] Bulk export
|
||||
|
||||
**Brand Templates**
|
||||
- [ ] Template creation
|
||||
- [ ] Template application
|
||||
- [ ] Style consistency checking
|
||||
|
||||
**Advanced Animations**
|
||||
- [ ] 360° product rotation
|
||||
- [ ] Feature highlights
|
||||
- [ ] Motion graphics overlays
|
||||
|
||||
**Deliverable**: Advanced product marketing capabilities
|
||||
|
||||
---
|
||||
|
||||
## Success Metrics
|
||||
|
||||
### User Engagement
|
||||
- **Product Images Generated**: Track images per user
|
||||
- **Animations Created**: Track video generation
|
||||
- **Voice-Overs Generated**: Track audio creation
|
||||
- **E-commerce Exports**: Track platform exports
|
||||
|
||||
### Business Metrics
|
||||
- **Revenue Impact**: Track usage and subscription upgrades
|
||||
- **Cost Savings**: Calculate savings vs. traditional methods
|
||||
- **Time Savings**: Measure time-to-market improvement
|
||||
- **User Retention**: Track product marketing suite users
|
||||
|
||||
### Quality Metrics
|
||||
- **Asset Quality Score**: AI assessment of generated assets
|
||||
- **User Satisfaction**: Ratings and feedback
|
||||
- **Export Success Rate**: Successful e-commerce integrations
|
||||
- **Brand Consistency**: Style matching across assets
|
||||
|
||||
---
|
||||
|
||||
## Competitive Advantages
|
||||
|
||||
### vs. Traditional Methods
|
||||
- **Cost**: $5-20 vs. $500-2,000 per product
|
||||
- **Time**: Hours vs. weeks
|
||||
- **Scalability**: Unlimited products vs. limited by budget
|
||||
- **Consistency**: AI ensures brand consistency
|
||||
|
||||
### vs. Generic AI Tools
|
||||
- **Product-Focused**: Purpose-built for products
|
||||
- **E-commerce Integration**: Direct platform export
|
||||
- **Brand Consistency**: Built-in brand templates
|
||||
- **Workflow**: Complete product asset pipeline
|
||||
|
||||
---
|
||||
|
||||
## Technical Considerations
|
||||
|
||||
### Performance
|
||||
- **Batch Processing**: Queue system for multiple products
|
||||
- **Caching**: Cache frequently used styles/templates
|
||||
- **CDN**: Fast delivery of product assets
|
||||
- **Optimization**: Image/video compression for web
|
||||
|
||||
### Scalability
|
||||
- **Async Processing**: Background job queue
|
||||
- **Storage**: Efficient asset storage and retrieval
|
||||
- **Rate Limiting**: Subscription-based limits
|
||||
- **Cost Tracking**: Monitor WaveSpeed API costs
|
||||
|
||||
### Integration Points
|
||||
- **Image Studio**: Reuse existing image generation
|
||||
- **Transform Studio**: Reuse image-to-video
|
||||
- **Asset Library**: Unified asset management
|
||||
- **Brand DNA**: Persona and brand data
|
||||
|
||||
---
|
||||
|
||||
## Risk Mitigation
|
||||
|
||||
| Risk | Mitigation |
|
||||
|------|------------|
|
||||
| **AI Quality** | Multiple provider options, user feedback loop |
|
||||
| **Cost Overruns** | Pre-flight validation, usage limits |
|
||||
| **Platform Changes** | Abstracted integration layer |
|
||||
| **User Adoption** | Clear value proposition, tutorials |
|
||||
| **Brand Consistency** | Template system, validation rules |
|
||||
|
||||
---
|
||||
|
||||
## Future Enhancements
|
||||
|
||||
### Phase 6+ (Future)
|
||||
- **3D Product Models**: Generate 3D product models
|
||||
- **AR Product Preview**: Augmented reality product viewing
|
||||
- **Product Comparison Videos**: Side-by-side product videos
|
||||
- **Interactive Product Tours**: Interactive product showcases
|
||||
- **AI Product Styling**: AI-recommended product styling
|
||||
- **Product Photography AI Assistant**: AI photography guidance
|
||||
|
||||
---
|
||||
|
||||
## Questions & Decisions Needed
|
||||
|
||||
1. **File Organization**: Separate module or part of Image Studio?
|
||||
- Recommendation: Separate module for clear separation
|
||||
|
||||
2. **E-commerce API Access**: How to handle API credentials?
|
||||
- Recommendation: OAuth flow for each platform
|
||||
|
||||
3. **Product Data Source**: Where does product info come from?
|
||||
- Options: Manual input, CSV import, platform sync
|
||||
|
||||
4. **Asset Pricing**: How to price product asset generation?
|
||||
- Options: Per asset, per product, subscription tier
|
||||
|
||||
5. **Integration Priority**: Which e-commerce platforms first?
|
||||
- Recommendation: Shopify → Amazon → WooCommerce
|
||||
|
||||
---
|
||||
|
||||
## Next Steps
|
||||
|
||||
1. **Review & Approval**: Review this plan with team
|
||||
2. **Technical Feasibility**: Validate WaveSpeed AI capabilities
|
||||
3. **User Research**: Survey users on product marketing needs
|
||||
4. **Prototype**: Build MVP for product image generation
|
||||
5. **Partnership**: Finalize WaveSpeed AI partnership/pricing
|
||||
|
||||
---
|
||||
|
||||
**Document Status**: Draft for Review
|
||||
**Owner**: Product Team
|
||||
**Stakeholders**: Engineering, Design, Product Marketing
|
||||
|
||||
318
docs/product marketing/PRODUCT_MARKETING_VS_CAMPAIGN_CREATOR.md
Normal file
318
docs/product marketing/PRODUCT_MARKETING_VS_CAMPAIGN_CREATOR.md
Normal file
@@ -0,0 +1,318 @@
|
||||
# Product Marketing vs Campaign Creator: Clear Demarcation
|
||||
|
||||
**Last Updated**: January 2025
|
||||
**Status**: Concept Clarification & Reorganization Plan
|
||||
|
||||
---
|
||||
|
||||
## The Confusion
|
||||
|
||||
We've been mixing up three distinct concepts:
|
||||
|
||||
1. **Product Marketing** - Creating assets ABOUT a product (product images, animations, voice-overs)
|
||||
2. **Campaign Creator** - Creating multi-channel marketing campaigns with phases
|
||||
3. **Ad Campaign Creator** - Creating platform-specific ad campaigns (Google Ads, Facebook Ads)
|
||||
|
||||
**Current State**: What we built is actually a **Campaign Creator**, not Product Marketing.
|
||||
|
||||
---
|
||||
|
||||
## Clear Definitions
|
||||
|
||||
### 1. 🎯 **Product Marketing Suite** (PRODUCT-FOCUSED)
|
||||
|
||||
**Purpose**: Create professional marketing assets specifically ABOUT your product
|
||||
|
||||
**Focus**: The product itself - how it looks, moves, sounds
|
||||
|
||||
**Key Features**:
|
||||
|
||||
#### Product Image Creation
|
||||
- **AI Product Photoshoots**: Generate product images with AI models showcasing your product
|
||||
- **Lifestyle Scenes**: Place products in realistic lifestyle settings
|
||||
- **Product Variations**: Generate product in different colors, angles, environments
|
||||
- **Packaging Mockups**: Create product packaging designs
|
||||
- **Product Renders**: Professional 3D-style product renders
|
||||
|
||||
#### Product Animation & Motion
|
||||
- **Product Animations**: Animate product images into dynamic videos
|
||||
- **360° Product Views**: Rotating product showcases
|
||||
- **Product Demo Videos**: Showcase product features and benefits
|
||||
- **Before/After Animations**: Transform product states
|
||||
|
||||
#### Product Voice & Audio
|
||||
- **Product Voice-Overs**: Generate professional product narration
|
||||
- **Product Descriptions Audio**: Convert product descriptions to audio
|
||||
- **Multilingual Product Audio**: Product descriptions in multiple languages
|
||||
|
||||
#### Product Showcase Assets
|
||||
- **Product Hero Shots**: Eye-catching main product images
|
||||
- **Product Detail Views**: Close-up product images
|
||||
- **Product Comparison Views**: Side-by-side product comparisons
|
||||
- **Product in Use**: Products being used in real scenarios
|
||||
|
||||
**Use Cases**:
|
||||
- E-commerce product listings (Shopify, Amazon)
|
||||
- Product catalog creation
|
||||
- Product launch assets
|
||||
- Trade show materials
|
||||
- Product portfolio
|
||||
|
||||
**WaveSpeed AI Integration**:
|
||||
- **Ideogram V3**: Photorealistic product images
|
||||
- **WAN 2.5 Image-to-Video**: Animate product images
|
||||
- **WAN 2.5 Text-to-Video**: Create product demo videos
|
||||
- **Minimax Voice**: Product narration and descriptions
|
||||
|
||||
---
|
||||
|
||||
### 2. 📢 **AI Campaign Creator** (CAMPAIGN-FOCUSED)
|
||||
|
||||
**Purpose**: Orchestrate multi-channel marketing campaigns with phases and asset generation
|
||||
|
||||
**Focus**: Campaign orchestration, multi-platform distribution, campaign phases
|
||||
|
||||
**Key Features**:
|
||||
|
||||
#### Campaign Blueprint & Phases
|
||||
- **Campaign Wizard**: Structured campaign creation (teaser → launch → nurture)
|
||||
- **Phase Management**: Define campaign phases with timelines
|
||||
- **Campaign Goals**: Set KPIs and success metrics
|
||||
- **Channel Selection**: Multi-channel campaign planning
|
||||
|
||||
#### Multi-Channel Asset Generation
|
||||
- **Channel Packs**: Platform-specific asset bundles
|
||||
- **Asset Proposals**: AI-generated proposals for each phase + channel
|
||||
- **Asset Orchestration**: Coordinate assets across platforms
|
||||
- **Consistent Branding**: Enforce brand consistency across channels
|
||||
|
||||
#### Campaign Asset Types
|
||||
- **Social Media Posts**: Instagram, LinkedIn, TikTok, Facebook posts
|
||||
- **Stories & Reels**: Platform-specific short-form content
|
||||
- **Email Campaigns**: Email templates and content
|
||||
- **Landing Pages**: Landing page assets
|
||||
- **Blog Content**: Blog posts for campaign
|
||||
|
||||
**Use Cases**:
|
||||
- Product launch campaigns
|
||||
- Brand awareness campaigns
|
||||
- Seasonal marketing campaigns
|
||||
- Multi-platform content distribution
|
||||
|
||||
**Current Implementation**:
|
||||
- ✅ What we currently have IS this
|
||||
- ✅ Campaign blueprint wizard
|
||||
- ✅ Multi-channel asset proposals
|
||||
- ✅ Campaign phases (teaser, launch, nurture)
|
||||
|
||||
**This should be renamed to**: **"Campaign Creator"** or **"Marketing Campaign Suite"**
|
||||
|
||||
---
|
||||
|
||||
### 3. 💰 **Ad Campaign Creator** (PLATFORM ADS)
|
||||
|
||||
**Purpose**: Create and manage platform-specific advertising campaigns
|
||||
|
||||
**Focus**: Paid advertising, targeting, budgets, ad performance
|
||||
|
||||
**Key Features**:
|
||||
|
||||
#### Platform-Specific Ad Creation
|
||||
- **Google Ads**: Search ads, display ads, video ads
|
||||
- **Facebook/Instagram Ads**: Image ads, video ads, carousel ads, stories ads
|
||||
- **LinkedIn Ads**: Sponsored content, message ads, video ads
|
||||
- **TikTok Ads**: Video ads, spark ads
|
||||
- **Twitter/X Ads**: Promoted tweets, video ads
|
||||
|
||||
#### Ad Optimization
|
||||
- **Ad Copy Optimization**: AI-optimized ad headlines and descriptions
|
||||
- **Ad Creative Testing**: A/B testing for ad variations
|
||||
- **Targeting Suggestions**: AI-recommended audience targeting
|
||||
- **Bid Optimization**: Budget allocation recommendations
|
||||
|
||||
#### Ad Management
|
||||
- **Budget Allocation**: Distribute budget across campaigns
|
||||
- **Ad Scheduling**: Time-based ad scheduling
|
||||
- **Performance Tracking**: Ad performance metrics
|
||||
- **ROI Analysis**: Cost per acquisition, conversion tracking
|
||||
|
||||
**Use Cases**:
|
||||
- Google Ads campaign creation
|
||||
- Facebook ad campaign management
|
||||
- LinkedIn B2B advertising
|
||||
- Performance marketing
|
||||
|
||||
**Not Yet Built** - This is a future feature
|
||||
|
||||
---
|
||||
|
||||
## Comparison Matrix
|
||||
|
||||
| Feature | Product Marketing | Campaign Creator | Ad Campaign Creator |
|
||||
|---------|------------------|------------------|---------------------|
|
||||
| **Focus** | Product assets | Multi-channel campaigns | Paid advertising |
|
||||
| **Assets** | Product images, animations, voice-overs | Social posts, emails, landing pages | Platform ad creatives |
|
||||
| **Platforms** | E-commerce (Shopify, Amazon) | Social media, email, web | Google, Facebook, LinkedIn Ads |
|
||||
| **Phases** | None (asset-focused) | Teaser → Launch → Nurture | Ad sets, targeting, budgets |
|
||||
| **Goal** | Showcase product | Multi-channel brand awareness | Drive conversions/leads |
|
||||
| **Current Status** | ❌ Not built (confused with Campaign Creator) | ✅ Built (misnamed as Product Marketing) | ❌ Not built |
|
||||
|
||||
---
|
||||
|
||||
## Proposed Reorganization
|
||||
|
||||
### Option A: Rename & Split
|
||||
|
||||
1. **Rename Current Suite**:
|
||||
- `Product Marketing Suite` → `Campaign Creator` or `Marketing Campaign Suite`
|
||||
- Keep all existing functionality
|
||||
- Focus: Multi-channel campaign orchestration
|
||||
|
||||
2. **Create New Product Marketing Suite**:
|
||||
- New module focused on product assets
|
||||
- Product images, animations, voice-overs
|
||||
- Integration with WaveSpeed for product-specific features
|
||||
|
||||
3. **Future: Ad Campaign Creator**:
|
||||
- Separate module for platform ads
|
||||
- Google Ads, Facebook Ads, etc.
|
||||
|
||||
### Option B: Unified Suite with Clear Modules
|
||||
|
||||
Keep everything under one suite but with clear modules:
|
||||
|
||||
**"Marketing Suite"** with three modules:
|
||||
1. **Product Marketing** - Product asset creation
|
||||
2. **Campaign Creator** - Multi-channel campaign orchestration
|
||||
3. **Ad Campaign Creator** - Platform ad management (future)
|
||||
|
||||
---
|
||||
|
||||
## What Needs to Change
|
||||
|
||||
### Immediate Actions
|
||||
|
||||
1. **Rename Current Implementation**:
|
||||
- `backend/services/product_marketing/` → `backend/services/campaign_creator/`
|
||||
- `ProductMarketingOrchestrator` → `CampaignOrchestrator`
|
||||
- Update all references
|
||||
|
||||
2. **Create True Product Marketing Suite**:
|
||||
- New module: `backend/services/product_marketing/`
|
||||
- Focus on product-specific asset creation
|
||||
- Product photoshoot features
|
||||
- Product animation features
|
||||
- Product voice-over features
|
||||
|
||||
3. **Update Documentation**:
|
||||
- Rename current docs to reflect Campaign Creator
|
||||
- Create new Product Marketing documentation
|
||||
- Clear separation in UI/navigation
|
||||
|
||||
---
|
||||
|
||||
## Recommended Approach
|
||||
|
||||
### Phase 1: Clarify & Rename (1 week)
|
||||
- Rename current "Product Marketing Suite" to "Campaign Creator"
|
||||
- Update all code references
|
||||
- Update documentation
|
||||
- Update UI labels and navigation
|
||||
|
||||
### Phase 2: Build True Product Marketing (4-6 weeks)
|
||||
- Create new Product Marketing module
|
||||
- Product image generation with AI models
|
||||
- Product animation features (WAN 2.5)
|
||||
- Product voice-over features
|
||||
- Integration with e-commerce platforms
|
||||
|
||||
### Phase 3: Future - Ad Campaign Creator (Q2-Q3 2025)
|
||||
- Platform ad campaign management
|
||||
- Google Ads integration
|
||||
- Facebook Ads integration
|
||||
- Ad optimization features
|
||||
|
||||
---
|
||||
|
||||
## Examples to Clarify
|
||||
|
||||
### Product Marketing Example
|
||||
**Goal**: Create product images for e-commerce listing
|
||||
|
||||
**User Journey**:
|
||||
1. Upload product photo or describe product
|
||||
2. Select "Product Photoshoot" mode
|
||||
3. Choose environment (studio, lifestyle, outdoor)
|
||||
4. Generate product images with AI models
|
||||
5. Animate product image into video
|
||||
6. Add product voice-over
|
||||
7. Export for Shopify/Amazon listing
|
||||
|
||||
**Output**: Product images, product video, product audio description
|
||||
|
||||
---
|
||||
|
||||
### Campaign Creator Example
|
||||
**Goal**: Launch a product launch campaign
|
||||
|
||||
**User Journey**:
|
||||
1. Create campaign blueprint (teaser → launch → nurture)
|
||||
2. Select channels (Instagram, LinkedIn, email)
|
||||
3. AI generates asset proposals for each phase + channel
|
||||
4. Review and approve proposals
|
||||
5. Generate assets (images, captions, videos)
|
||||
6. Schedule across platforms
|
||||
7. Track campaign performance
|
||||
|
||||
**Output**: Multi-channel campaign with scheduled assets
|
||||
|
||||
---
|
||||
|
||||
### Ad Campaign Creator Example (Future)
|
||||
**Goal**: Create Google Ads campaign
|
||||
|
||||
**User Journey**:
|
||||
1. Select "Google Ads" platform
|
||||
2. Define campaign goal (leads, sales, awareness)
|
||||
3. Set budget and targeting
|
||||
4. AI generates ad copy variations
|
||||
5. Create ad creatives (images/videos)
|
||||
6. Set bids and schedule
|
||||
7. Launch and track performance
|
||||
|
||||
**Output**: Live Google Ads campaign with tracking
|
||||
|
||||
---
|
||||
|
||||
## Questions to Decide
|
||||
|
||||
1. **Naming Convention**:
|
||||
- Option A: Rename everything to "Campaign Creator"
|
||||
- Option B: Keep "Marketing Suite" with clear modules
|
||||
|
||||
2. **Product Marketing Features**:
|
||||
- Should it be part of Image Studio?
|
||||
- Or separate module?
|
||||
- Integration points?
|
||||
|
||||
3. **Migration Path**:
|
||||
- How to handle existing users with "Product Marketing" campaigns?
|
||||
- Data migration strategy?
|
||||
- UI/UX transition?
|
||||
|
||||
---
|
||||
|
||||
## Recommendation
|
||||
|
||||
**My Recommendation**: Rename current suite to "Campaign Creator" and build a new "Product Marketing" module focused on product assets.
|
||||
|
||||
**Reasoning**:
|
||||
- Current implementation is clearly campaign orchestration, not product marketing
|
||||
- True product marketing is valuable and distinct
|
||||
- Clear separation prevents future confusion
|
||||
- Both can coexist as separate modules
|
||||
|
||||
---
|
||||
|
||||
*Next Steps: Discuss with team and decide on naming/reorganization approach*
|
||||
|
||||
Reference in New Issue
Block a user