Brand Management
Organize profiles under brands and configure generation settings.
What Brands Do
- Group social profiles together
- Set AI generation defaults
- Store reference images
- Configure approval requirements
Brand Structure
Database Fields
brands table:
- name
- slug (unique per org)
- description
- primaryColor
- secondaryColor
- logoUrl
- settings (JSONB)
- metadata (JSONB)Profile Assignment
- One profile belongs to one brand only
- Profiles inherit brand settings
- Profile settings override brand settings
Generation Settings
Stored in brandGenerationSettings:
AI Configuration
{
"system_prompt": "Brand voice instructions",
"caption_style": "How to write captions",
"brand_voice": "Tone and personality",
"temperature": 0.7
}Content Strategy
{
"themes": ["Theme 1", "Theme 2"],
"audience": "Target audience description",
"hashtags": ["#brand", "#tags"],
"guidelines": {
"do": ["What to do"],
"dont": ["What not to do"]
}
}Publishing Settings
{
"require_approval": true,
"auto_publish": false,
"default_platform_settings": {}
}Reference Images
Brand-level media assets:
- Stored in
mediaAssetswithbrandId - Used as default reference images
- Available to all brand profiles
Settings Hierarchy
Priority order (highest to lowest):
- Post-level settings
- Profile settings
- Brand settings
- System defaults
Current UI
- Basic brand creation/editing
- Profile assignment
- Settings configuration via JSON
- Reference image upload
Limitations
- No UI for detailed settings editing
- No brand templates
- No brand analytics
- No multi-user brand access control
- Settings mostly configured in database
API Endpoints
GET /api/brands - List brands
GET /api/brands/:id - Get brand
POST /api/brands - Create brand
PUT /api/brands/:id - Update brand
DELETE /api/brands/:id - Delete brand
GET /api/brands/:id/settings - Get generation settings
PUT /api/brands/:id/settings - Update generation settings