product-analysis-styling
Product Analysis and Styling
When to Use This Skill
Use this skill when you need to:
- Analyze product images before creating photography
- Extract product attributes for accurate representation
- Generate styling recommendations for product shoots
- Determine appropriate complementary items
- Understand product positioning and target audience
- Create cohesive styled product compositions
Core Concepts
Three-Level Material Specificity
Always analyze materials with three levels:
- Base Material: Cotton, leather, polyester, metal, ceramic
- Construction: Weave type, grain pattern, metal type
- Surface Finish: Texture, treatment, appearance
Example: "cotton denim with right-hand twill weave and stone-washed matte finish"
Analysis Categories
Product Classification:
- Category (top, bottom, fullbody, accessory, home goods)
- Specific type (silk blouse, leather boots, ceramic vase)
- Gender/target demographic
- Age category (infant, child, teen, adult)
Style Assessment:
- Style classification (casual, formal, sporty, elegant, minimalist)
- Occasion suitability
- Brand positioning (budget, mid-market, premium, luxury)
Material Analysis:
- Base materials
- Construction methods
- Surface treatments and finishes
Design Details:
- Silhouette and fit
- Key design elements
- Construction details
- Brand indicators
Step-by-Step Instructions
Step 1: Visual Product Analysis
Examine product images to identify:
- Product category and specific type
- Gender/target demographic
- Age category
- Style classification
- Occasion suitability
Step 2: Material and Construction Analysis
Apply three-level specificity:
- Identify base materials
- Determine construction methods
- Assess surface finishes and treatments
Step 3: Color and Pattern Analysis
Extract:
- Primary colors (specific names: "navy blue" not "blue")
- Secondary/accent colors
- Pattern type (solid, striped, floral, geometric)
- Color temperature (warm, cool, neutral)
- Finish (matte, glossy, metallic)
Step 4: Design Details Extraction
Document:
- Silhouette and fit characteristics
- Key design elements (buttons, zippers, pockets)
- Construction details (stitching, seams, hardware)
- Brand indicators and distinctive features
Step 5: Generate Styling Recommendations
Based on analysis, recommend:
For Garments:
- Complementary topwear (if bottom analyzed)
- Complementary bottomwear (if top analyzed)
- Appropriate footwear (specific style and color)
- Accessories (minimal, statement, or none)
- Overall styling approach
For Accessories:
- Outfit context (what to pair with)
- Styling placement (how to wear/display)
- Complementary pieces
- Occasion suitability
For Products:
- Display context (environment, props)
- Complementary items
- Lifestyle integration
Step 6: Create Structured Output
Format as JSON:
{
"product_category": "top|bottom|fullbody|accessory",
"product_type": "specific item name",
"gender": "male|female|unisex",
"age_category": "infant|child|teen|adult",
"style_classification": "casual|formal|sporty|elegant",
"materials": {
"base": "primary material",
"construction": "weave/grain/type",
"finish": "surface treatment"
},
"colors": {
"primary": "specific color name",
"secondary": ["color1", "color2"],
"temperature": "warm|cool|neutral"
},
"design_details": ["feature1", "feature2"],
"styling_recommendations": {
"topwear": "recommendation or N/A",
"bottomwear": "recommendation or N/A",
"footwear": "specific style and color",
"accessories": "minimal|statement|none",
"overall_approach": "styling philosophy"
}
}
Examples
Example 1: Denim Jacket Analysis
Input: Image of blue denim jacket
Analysis Output:
{
"product_category": "top",
"product_type": "denim trucker jacket",
"gender": "unisex",
"age_category": "adult",
"style_classification": "casual",
"materials": {
"base": "cotton denim",
"construction": "right-hand twill weave",
"finish": "stone-washed with slight fading, matte surface"
},
"colors": {
"primary": "medium indigo blue",
"secondary": ["brass hardware", "white contrast stitching"],
"temperature": "cool"
},
"design_details": [
"Classic trucker silhouette with pointed collar",
"Brass button closure and rivets",
"Two chest pockets with button flaps",
"Adjustable side tabs at waist"
],
"styling_recommendations": {
"topwear": "N/A (this is the top)",
"bottomwear": "Black or dark grey slim-fit chinos, or light wash jeans for contrast",
"footwear": "White leather sneakers or tan suede desert boots",
"accessories": "Minimal - simple watch, no competing denim",
"overall_approach": "Classic casual Americana - keep styling clean and unfussy, let the jacket be the statement piece"
}
}
Example 2: Statement Earrings Analysis
Input: Image of gold chandelier earrings
Analysis Output:
{
"product_category": "accessory",
"product_type": "chandelier drop earrings",
"gender": "female",
"age_category": "adult",
"style_classification": "elegant",
"materials": {
"base": "gold-plated brass",
"construction": "multi-tier chandelier structure",
"finish": "polished with high shine"
},
"colors": {
"primary": "warm gold",
"secondary": ["clear crystal accents"],
"temperature": "warm"
},
"design_details": [
"Three-tier cascading design with crystal embellishments",
"Approximately 3 inches in length",
"Post back closure",
"Intricate filigree metalwork"
],
"styling_recommendations": {
"topwear": "N/A",
"bottomwear": "N/A",
"footwear": "N/A",
"accessories": "Keep other jewelry minimal - these are statement pieces",
"overall_approach": "Pair with updo or swept-back hair to showcase earrings. Wear with elegant neckline (off-shoulder, V-neck, or strapless) in solid colors. Avoid competing patterns or necklaces. Suitable for formal events, weddings, or evening occasions."
}
}
Example 3: Ceramic Vase Analysis
Input: Image of white ceramic vase
Analysis Output:
{
"product_category": "home_decor",
"product_type": "minimalist ceramic vase",
"gender": "unisex",
"age_category": "adult",
"style_classification": "minimalist",
"materials": {
"base": "ceramic stoneware",
"construction": "wheel-thrown with hand-finished rim",
"finish": "matte white glaze with subtle texture"
},
"colors": {
"primary": "warm off-white",
"secondary": [],
"temperature": "warm neutral"
},
"design_details": [
"Organic asymmetrical form",
"Narrow neck opening to wide body",
"Approximately 10 inches tall",
"Visible throwing lines add handcrafted character"
],
"styling_recommendations": {
"topwear": "N/A",
"bottomwear": "N/A",
"footwear": "N/A",
"accessories": "N/A",
"overall_approach": "Display on natural wood surface or light-colored shelf. Pair with single stem or small dried arrangement - avoid overcrowding. Complement with other neutral tones and natural materials. Suitable for Scandinavian, minimalist, or modern organic interiors. Photograph with soft natural light and clean background."
}
}
Key Principles
- Precision Over Generalization: "Navy blue cotton twill" not "blue pants"
- Three-Level Material Specificity: Always base + construction + finish
- Actionable Recommendations: Specific items, not vague suggestions
- Style Consistency: Recommendations match product's aesthetic level
- Avoid Redundancy: Don't recommend competing items
- Context Awareness: Consider occasion, season, target audience
Common Mistakes to Avoid
- ❌ Generic descriptions: "nice fabric" instead of specific material
- ❌ Vague colors: "blue" instead of "navy blue" or "cobalt blue"
- ❌ Missing construction details: "leather" instead of "full-grain leather with pebbled finish"
- ❌ Inconsistent styling: Recommending formal shoes with casual garment
- ❌ Over-styling: Too many competing elements
- ❌ Ignoring target audience: Adult styling for children's products
Integration Pattern
# Analyze product
analysis = await analyze_product(
product_images=["url1", "url2"],
model_category="default" # or "male", "female", "child"
)
# Use analysis for prompt generation
prompt = f"""
Professional fashion photography of {analysis['product_type']}.
PRODUCT DETAILS:
- Material: {analysis['materials']['base']} with {analysis['materials']['finish']}
- Color: {analysis['colors']['primary']}
- Style: {analysis['style_classification']}
STYLING:
- {analysis['styling_recommendations']['bottomwear']}
- {analysis['styling_recommendations']['footwear']}
- Accessories: {analysis['styling_recommendations']['accessories']}
{analysis['styling_recommendations']['overall_approach']}
Shot on professional camera, editorial quality, 8K resolution.
"""
# Generate image
result = await image_gen(
prompt=prompt,
images=[{"url": product_image, "name": "Product"}],
aspect_ratio="2:3"
)
Output Schema
from pydantic import BaseModel, Field
from typing import List, Optional
from enum import Enum
class GarmentCategory(str, Enum):
TOP = "top"
BOTTOM = "bottom"
FULLBODY = "fullbody"
ACCESSORY = "accessory"
class Gender(str, Enum):
MALE = "male"
FEMALE = "female"
UNISEX = "unisex"
class StyleCategory(str, Enum):
CASUAL = "casual"
FORMAL = "formal"
SPORTY = "sporty"
ELEGANT = "elegant"
MINIMALIST = "minimalist"
class StylingRecommendations(BaseModel):
topwear: str
bottomwear: str
footwear: str
accessories: str
overall_approach: str
class ProductAnalysis(BaseModel):
product_category: GarmentCategory
product_type: str
gender: Gender
age_category: str
style_classification: StyleCategory
materials: dict
colors: dict
design_details: List[str]
styling_recommendations: StylingRecommendations
References
- Source:
workflow_garments_v2/implementation/utils/garment_analysis.py - Related Skills: product-background-generation, fashion-model-photography
- Material Terminology Guide: See references/materials.md
More from tara-shopos/shopos-prototype
fashion-model-photography
Generate professional fashion photography with models wearing products, including pose direction, styling, lighting, and composition for editorial and commercial use. Use for garment shoots, accessory photography, and high-end fashion content.
118brand-consistent-visuals
Generate professional brand visualizations that maintain consistent brand identity across all creative assets using multi-step AI analysis and brand guidelines.
51product-background-generation
Generate professional studio or lifestyle backgrounds for product photography that match product aesthetics, brand positioning, and target audience. Use when creating product shoots, fashion photography, or e-commerce visuals requiring contextual backgrounds.
28garment-lifestyle-photography
Generate lifestyle photography of garments in real-world contexts with models in natural environments. Use when creating aspirational fashion content, social media imagery, or editorial-style product photography that shows garments in authentic lifestyle settings.
25product-tryon-visualization
Generate realistic product try-on visualizations showing how garments, accessories, or products look when worn or used. Use for virtual try-on experiences, fit visualization, and helping customers see products in use before purchase.
14image_editing
Edit, modify, or enhance existing images using natural language instructions. Use this skill when the user wants to change colors, remove backgrounds, add objects, or modify the style of an image they have uploaded or generated.
13