NEWVectors or files. Pick a path.Start →
    Enhanced

    E-commerce Catalog Enrichment

    Automatically enrich product listings with visual attributes, descriptions, and tags extracted from product images. Fill in missing catalog data at scale.

    image
    text
    Multi-Tier
    from mixpeek import Mixpeek
    client = Mixpeek(api_key="YOUR_API_KEY", namespace="catalog")
    # 1. A bucket for product photos, and a collection whose Gemini step writes a
    # caption, colors, visible objects and packaging text per photo
    bucket = client.buckets.create(
    bucket_name="products",
    bucket_schema={"properties": {"photo": {"type": "image"}}},
    )
    collection = client.collections.create(
    collection_name="products",
    source={"type": "bucket", "bucket_ids": [bucket["bucket_id"]]},
    feature_extractor={
    "feature_extractor_name": "multimodal_extractor",
    "version": "v1",
    "parameters": {
    "run_video_description": True,
    "description_prompt": "Describe this product for a catalog listing.",
    "response_shape": {
    "type": "object",
    "properties": {
    "caption": {"type": "string"},
    "colors": {"type": "array", "items": {"type": "string"}},
    "objects": {"type": "array", "items": {"type": "string"}},
    "packaging_text": {"type": "string"},
    },
    },
    },
    },
    )
    # 2. Upload and process
    client.buckets.upload(
    bucket["bucket_id"],
    blobs=[{"property": "photo", "type": "image", "data": "s3://your-bucket/product-images/IMG_0001.jpg"}],
    )
    client.collections.trigger(collection["collection_id"])
    # 3. Read the enriched attributes
    docs = client.documents.list(collection["collection_id"], page_size=50)
    for doc in docs["results"]:
    attrs = doc.get("json_output") or {}
    print(attrs.get("caption"), attrs.get("colors"), attrs.get("objects"))

    Feature Extractors

    Multimodal Extractor

    Unified embeddings for video, audio, image, and text: scene/silence chunking, Whisper transcription, thumbnails, and Gemini vision.

    Retriever Stages

    Frequently asked questions

    What attributes are extracted from product images?

    Colors, materials, patterns, objects, text/labels, brand logos, and auto-generated descriptions.

    Can I use this to generate product descriptions?

    Yes. The image captioning extractor generates natural-language descriptions that can be used as product copy or starting points for copywriters.

    How do I handle products with multiple images?

    Upload all images for each product. Mixpeek tracks lineage and can aggregate attributes across multiple views of the same product.

    Use Cases Using This Recipe

    Beginner

    Visual Product Search for E-commerce

    Let shoppers find products by uploading a photo instead of typing keywords

    +30% for visual search queries

    Search-to-cart conversion rate

    Who It's For

    E-commerce platforms, online retailers, and marketplace operators managing catalogs of 50K+ SKUs who want to offer camera-based product discovery

    Beginner

    Visual Search for Retail

    Bridge the gap between in-store inspiration and online purchase

    +35% higher than text search

    In-app visual search conversion

    Who It's For

    Omnichannel retailers, retail apps, and brands with physical and digital presence looking to connect in-store browsing with online purchasing

    Intermediate

    AI Catalog Search for Marketplaces

    Help buyers find exactly what they need across millions of multi-vendor listings

    +40% over keyword baseline

    Search relevance (NDCG@10)

    Who It's For

    Online marketplace operators, B2B procurement platforms, and multi-vendor catalog aggregators managing 1M+ listings from thousands of sellers with inconsistent product data