返回 Skill 列表
extension
分类: 其它需要 API Key

AI营销创意内容生成助手

AI驱动的创意内容生成与自动化工具包,用于制作专业营销活动素材。当用户需要以下操作时,可使用本技能: 1. 生成社交媒体图片/卡片(社交海报、宣传图、产品展示图); 2. 创建数据可视化图表(柱状图、折线图、饼图等); 3. 管理内容模板(社交媒体文案、营销活动方案)。 本技能支持一键生成营销素材、可视化图表和内容模板,助力高效完成营销内容创作。

person作者: user_7a275316hubcommunity

🎨 Creative Content Studio

AI-powered creative content generation and automation toolkit for creating professional marketing campaigns.

Overview

Creative Content Studio provides a comprehensive set of tools for generating professional content at scale:

  • AI Image Generation - Social cards, product showcases, brand graphics
  • Data Visualization - Bar charts, line charts, pie charts
  • Content Templates - Structured templates for consistent branding
  • Batch Processing - Generate complete campaigns with multiple assets
  • Web UI - Streamlit-based interface for non-technical users

Quick Start

1. Install Dependencies

cd E:\skills\creative-content-studio\scripts
pip install -r requirements.txt

Core dependencies (required for basic features):

  • Pillow>=10.0.0 - Image generation
  • requests>=2.28.0 - API calls
  • matplotlib>=3.7.0 - Data visualization

Optional dependencies (for advanced features):

  • openai>=1.0.0 - AI content generation
  • streamlit>=1.28.0 - Web UI

2. Test the Setup

# List available templates
python creative_studio.py list-templates

# Generate a demo social card
python creative_studio.py social-card "Hello World" --subtitle "Test" --output test_card.png

# Generate a demo campaign
python creative_studio.py campaign --config demo_campaign.json --output output

3. Run the Web UI

streamlit run app.py

Then open http://localhost:8501 in your browser.


Core Components

ContentTemplate System

Pre-built templates for consistent content creation:

| Template | Description | Fields | |----------|-------------|--------| | social_post | Social media posts | headline, body, hashtags, cta | | product_ad | Product advertisements | product_name, headline, features, price, cta | | blog_post | Blog post structures | title, intro, sections, conclusion | | email_campaign | Email campaign content | subject, preview, body, cta |

Usage Example

from creative_studio import ContentTemplate

# Get template
template = ContentTemplate.get_template('social_post')

# Fill template
filled = ContentTemplate.generate_from_template(
    'social_post',
    {
        'headline': '🚀 New Feature Launch!',
        'body': 'Experience AI-powered creative content generation...',
        'hashtags': ['#AI', '#CreativeTools', '#Innovation'],
        'cta': 'Try Now →'
    }
)

print(filled)
# Output:
# {
#     'headline': '🚀 New Feature Launch!',
#     'body': 'Experience AI-powered creative content generation...',
#     'hashtags': ['#AI', '#CreativeTools', '#Innovation'],
#     'cta': 'Try Now →'
# }

ImageGenerator

Create professional social media graphics programmatically.

Methods

create_social_card(title, subtitle='', brand_color='#4A90E2')

  • Creates a social media card image
  • Returns: bytes (PNG image data)

create_product_shot(product_name, price, features=None)

  • Creates a product showcase image
  • Returns: bytes (PNG image data)

save_image(image_bytes, output_path)

  • Saves image bytes to file
  • Returns: bool (success/failure)

Usage Example

from creative_studio import ImageGenerator

# Initialize generator
img_gen = ImageGenerator()

# Create social card
image_bytes = img_gen.create_social_card(
    title="🚀 New Feature!",
    subtitle="AI-powered content generation",
    brand_color="#4A90E2"
)

# Save to file
img_gen.save_image(image_bytes, "social_card.png")

DataVisualizer

Generate professional charts and visualizations.

Methods

create_bar_chart(data, title, output_path)

  • Creates bar chart from dictionary data
  • data: Dict[str, float] - Category-value pairs
  • Returns: bool

create_line_chart(data, title, x_labels=None, output_path)

  • Creates line chart for time series data
  • data: Dict[str, List[float]] or Dict[str, float] - Series data
  • Returns: bool

create_pie_chart(data, title, output_path)

  • Creates pie chart for distribution data
  • data: Dict[str, float] - Category-percentage pairs
  • Returns: bool

Usage Example

from creative_studio import DataVisualizer

viz = DataVisualizer()

# Bar chart
viz.create_bar_chart(
    {"Category A": 100, "Category B": 150, "Category C": 120},
    "Sales by Category",
    "sales_chart.png"
)

# Line chart
viz.create_line_chart(
    {
        "2024": [100, 120, 150, 180],
        "2025": [150, 180, 220, 280]
    },
    "Revenue Growth",
    x_labels=["Q1", "Q2", "Q3", "Q4"],
    output_path="revenue_chart.png"
)

# Pie chart
viz.create_pie_chart(
    {"Product A": 35, "Product B": 28, "Product C": 22, "Other": 15},
    "Market Share",
    "market_share.png"
)

AIGenerator

AI-powered content generation using OpenAI API.

Methods

generate_text(prompt, max_tokens=500)

  • Generates text using OpenAI GPT models
  • Requires: OPENAI_API_KEY environment variable or config

_fallback_generate(prompt)

  • Fallback generation without API (template-based)

generate_image_prompt(description, style='realistic')

  • Generates optimized prompts for AI image generators

Usage Example

from creative_studio import AIGenerator

# Initialize with API key
ai_gen = AIGenerator({'openai_api_key': 'your-key-here'})

# Generate content
content = ai_gen.generate_text(
    "Write a compelling product description for an AI-powered design tool"
)

# Generate image prompt
prompt = ai_gen.generate_image_prompt(
    "futuristic city skyline",
    style="cinematic"
)

BatchProcessor

Process multiple items efficiently.

Methods

batch_social_cards(items, output_dir)

  • Generate multiple social cards from config
  • items: List[Dict] - Card configurations
  • Returns: Dict with results summary

batch_visualizations(config, output_dir)

  • Generate multiple charts from config
  • config: Dict with 'charts' list
  • Returns: Dict with results summary

Usage Example

from creative_studio import BatchProcessor

batch = BatchProcessor()

# Batch social cards
items = [
    {"title": "Card 1", "subtitle": "Subtitle 1", "color": "#4A90E2"},
    {"title": "Card 2", "subtitle": "Subtitle 2", "color": "#FF6B6B"},
    {"title": "Card 3", "subtitle": "Subtitle 3", "color": "#50C878"}
]

results = batch.batch_social_cards(items, "output/social")

print(f"Success: {results['success']}/{results['total']}")

ContentGenerator

Main orchestrator for complete campaign generation.

Methods

generate_complete_campaign(campaign_config, output_dir)

  • Generates entire marketing campaign
  • campaign_config: Dict with campaign specifications
  • Returns: Dict with all generated assets and statistics

Usage Example

from creative_studio import ContentGenerator

generator = ContentGenerator()

# Complete campaign config
campaign = {
    "name": "product_launch",
    "social_cards": [...],
    "visualizations": [...],
    "content": [...]
}

results = generator.generate_complete_campaign(campaign, "output/campaign")

print(f"Total Assets: {results['stats']['total_assets']}")
print(f"Success: {results['stats']['success']}")

CLI Reference

Social Card Generation

python creative_studio.py social-card "Title" --subtitle "Subtitle" --color "#4A90E2" --output card.png

Arguments:

  • title (required) - Card title text
  • --subtitle, -s - Subtitle text (default: empty)
  • --color, -c - Brand color in hex (default: #4A90E2)
  • --output, -o (required) - Output file path

Batch Social Cards

python creative_studio.py batch-social --config cards.json --output output/

Arguments:

  • --config, -c (required) - JSON config file with items array
  • --output, -o (required) - Output directory

Config Format:

[
  {
    "title": "Card Title",
    "subtitle": "Card Subtitle",
    "color": "#4A90E2",
    "filename": "card.png"
  }
]

Visualization Generation

python creative_studio.py visualization bar --data '{"Category": 100}' --title "Chart Title" --output chart.png

Arguments:

  • type - Chart type: bar, line, or pie
  • --data, -d (required) - JSON data or file path
  • --title, -t (required) - Chart title
  • --output, -o (required) - Output file path

Complete Campaign Generation

python creative_studio.py campaign --config campaign.json --output output/

Arguments:

  • --config, -c (required) - Campaign config JSON file
  • --output, -o (required) - Output directory

Campaign Config Format:

{
  "name": "campaign_name",
  "social_cards": [...],
  "visualizations": [...],
  "content": [...]
}

List Templates

python creative_studio.py list-templates

Lists all available content templates with descriptions.


Demo Data

The skill includes comprehensive demo data for testing:

demo_social_cards.json

Sample configurations for 5 social media cards:

  • Feature announcements
  • Promotional offers
  • Case studies
  • Weekly picks
  • Product launches

demo_campaign.json

Complete marketing campaign with:

  • 5 social cards
  • 3 visualizations (bar, line, pie)
  • 3 content items (social post, product ad, blog post)

Usage:

python creative_studio.py campaign --config demo_campaign.json --output demo_output

Web UI (Streamlit)

Run the interactive web interface:

cd E:\skills\creative-content-studio\scripts
streamlit run app.py

Features:

  • 🖼️ Image Generator - Create social cards with live preview
  • 📊 Data Visualizer - Generate charts from JSON data
  • 📝 Content Templates - Fill and preview templates
  • 🚀 Batch Campaign - Generate complete campaigns
  • ⚙️ Settings - Configure API keys and defaults

Navigation:

  1. Open http://localhost:8501
  2. Use sidebar to navigate between features
  3. Configure settings and generate content
  4. Download generated assets

Configuration

Environment Variables

# OpenAI API (optional, for AI content generation)
export OPENAI_API_KEY="your-api-key"

# Or set in code
generator = ContentGenerator({'openai_api_key': 'your-key'})

Image Settings

img_gen = ImageGenerator({
    'default_size': (1024, 1024),
    'background_color': 'white'
})

Visualization Settings

viz = DataVisualizer({
    'style': 'seaborn-v0_8-darkgrid',
    'colors': ['#4A90E2', '#50C878', '#FF6B6B', '#FFD93D']
})

Troubleshooting

Error: "Pillow not installed"

Solution:

pip install Pillow

Error: "matplotlib not installed"

Solution:

pip install matplotlib

Error: "OpenAI API error"

Solutions:

  1. Check your API key is valid
  2. Set environment variable: export OPENAI_API_KEY="your-key"
  3. Or use fallback generation (no API needed)

Web UI not loading

Solutions:

  1. Install Streamlit: pip install streamlit
  2. Check port 8501 is not in use
  3. Try: streamlit run app.py --server.port 8502

Permission denied errors

Solutions:

  1. Run PowerShell as Administrator
  2. Check file permissions on E:\skills directory
  3. Try: icacls "E:\skills" /grant Everyone:F /T

Performance Tips

Image Generation

  • Batch processing: Use batch_social_cards() for multiple images—faster than individual calls
  • Resize images: Use lower resolution (512x512) for testing, full resolution (1024x1024) for production
  • Format selection: PNG for transparency, JPG for smaller file sizes

Data Visualization

  • Data size: Keep datasets under 50 categories for readability
  • Chart type: Use bar charts for comparisons, line charts for trends, pie charts for distributions
  • Export: Use 300 DPI for print, 72 DPI for web

Batch Processing

  • Parallel processing: BatchProcessor is optimized for sequential processing; for true parallelism, use multiprocessing
  • Error handling: Check results['failed'] to identify problematic items
  • Output organization: Campaign generator automatically creates subdirectories by asset type

Advanced Use Cases

Use Case 1: Product Launch Campaign

Generate complete marketing campaign for new product:

campaign = {
    "name": "product_launch",
    "social_cards": [
        {"title": "🚀 New Product!", "subtitle": "Introducing..."},
        {"title": "💰 Special Price", "subtitle": "Launch offer..."},
        {"title": "⭐ Customer Review", "subtitle": "4.9/5 stars..."}
    ],
    "visualizations": [
        {"type": "bar", "title": "Features Comparison", "data": {...}},
        {"type": "pie", "title": "Use Cases", "data": {...}}
    ],
    "content": [
        {"template": "product_ad", "data": {...}},
        {"template": "social_post", "data": {...}}
    ]
}

generator = ContentGenerator()
results = generator.generate_complete_campaign(campaign, "launch_output")

Use Case 2: Weekly Content Calendar

Automate weekly social media content:

# Generate weekly content
for week in range(1, 5):
    cards = [
        {"title": f"Week {week} Tip", "subtitle": f"Pro tip #{week}"},
        {"title": f"Week {week} Stat", "subtitle": "Impressive numbers"},
        {"title": f"Week {week} Feature", "subtitle": "Highlight of the week"}
    ]
    
    batch.batch_social_cards(cards, f"content/week_{week}")

Use Case 3: Data Report Automation

Generate weekly data reports with charts:

viz = DataVisualizer()

# Generate multiple charts
viz.create_bar_chart(weekly_sales, "Weekly Sales", "report/sales.png")
viz.create_line_chart(monthly_trend, "Monthly Trend", "report/trend.png")
viz.create_pie_chart(market_share, "Market Share", "report/share.png")

API Reference

Class: ContentTemplate

Methods:

  • get_template(template_name: str) -> Optional[Dict]
  • list_templates() -> List[str]
  • generate_from_template(template_name: str, data: Dict) -> Dict

Class: ImageGenerator

Methods:

  • __init__(config: Optional[Dict] = None)
  • create_social_card(title: str, subtitle: str, brand_color: str) -> bytes
  • create_product_shot(product_name: str, price: str, features: List[str]) -> bytes
  • save_image(image_bytes: bytes, output_path: str) -> bool

Class: DataVisualizer

Methods:

  • __init__(config: Optional[Dict] = None)
  • create_bar_chart(data: Dict, title: str, output_path: str) -> bool
  • create_line_chart(data: Dict, title: str, x_labels: List, output_path: str) -> bool
  • create_pie_chart(data: Dict, title: str, output_path: str) -> bool

Class: AIGenerator

Methods:

  • __init__(config: Optional[Dict] = None)
  • generate_text(prompt: str, max_tokens: int) -> str
  • generate_image_prompt(description: str, style: str) -> str

Class: BatchProcessor

Methods:

  • __init__(config: Optional[Dict] = None)
  • batch_social_cards(items: List[Dict], output_dir: str) -> Dict
  • batch_visualizations(config: Dict, output_dir: str) -> Dict

Class: ContentGenerator

Methods:

  • __init__(config: Optional[Dict] = None)
  • generate_complete_campaign(campaign_config: Dict, output_dir: str) -> Dict

File Structure

creative-content-studio/
├── SKILL.md                    # This documentation
├── scripts/
│   ├── creative_studio.py      # Main CLI and library
│   ├── app.py                  # Streamlit Web UI
│   ├── requirements.txt        # Python dependencies
│   ├── setup.sh                 # Installation script
│   ├── demo_social_cards.json   # Demo card configurations
│   └── demo_campaign.json       # Demo campaign config

Dependencies

Core (Required)

| Package | Version | Purpose | |---------|---------|---------| | Pillow | >=10.0.0 | Image generation and manipulation | | requests | >=2.28.0 | HTTP API calls | | python-dateutil | >=2.8.0 | Date handling |

Visualization

| Package | Version | Purpose | |---------|---------|---------| | matplotlib | >=3.7.0 | Chart generation | | seaborn | >=0.12.0 | Enhanced visualization styles |

Optional

| Package | Version | Purpose | |---------|---------|---------| | openai | >=1.0.0 | AI content generation | | streamlit | >=1.28.0 | Web UI | | gradio | >=3.40.0 | Alternative web UI |


License

MIT License (default for user-created skills)


Author

jm-jsjkxyjs01-zs-101


Version History

v1.0.0 (2024)

  • Initial release
  • Image generation (social cards, product shots)
  • Data visualization (bar, line, pie charts)
  • Content templates (social post, product ad, blog post, email campaign)
  • Batch processing
  • Complete campaign generation
  • Streamlit Web UI

Support

For issues, questions, or feature requests, please contact the author or open an issue in the skill repository.

Quick Links:

  • 📖 Documentation: See this SKILL.md
  • 🧪 Demo Data: See demo_campaign.json and demo_social_cards.json
  • 🌐 Web UI: Run streamlit run app.py
  • 💻 CLI: Run python creative_studio.py --help