Clustering is only available for enterprise customers, email info@mixpeek.com for a demo.

Clusters in Mixpeek are groups of similar features automatically discovered or manually defined. They enable efficient organization, search, and analysis of your multimodal features. Clusters are best used for:

  • Discovering natural content groupings
  • Pattern detection
  • Automated organization
  • When you want to let the content organize itself
Need to cluster manually against business rules, domain expertise or existing hierarchies? Use Taxonomies

How Clustering Works

1

Feature Extraction

Assets are processed into features representing:

  • Visual content
  • Objects
  • Spoken Words
  • Metadata
  • etc.
2

Similarity Calculation

Features are compared using:

  • Vector similarity
  • Semantic relationships
  • Temporal proximity
3

Cluster Formation

Similar features are grouped based on:

  • Distance thresholds
  • Density patterns
  • User-defined rules

Use Cases

Content Organization

Automatically organize video libraries by:

  • Content type
  • Visual similarity
  • Semantic themes

Pattern Discovery

Uncover hidden patterns in your content:

  • Common scenes
  • Recurring themes
  • Related sequences

Search Enhancement

Improve search efficiency through:

  • Cluster-based filtering
  • Contextual recommendations
  • Similar content discovery

Quality Control

Monitor and maintain content quality by:

  • Identifying outliers
  • Detecting anomalies
  • Validating content consistency

Implementation

# Create development namespace
POST /namespaces
{
  "namespace": "content_clusters_dev",
  "embedding_modeles": ["text", "image", "multimodal"]
}

# Create collections
POST /collections # with X-Namespace: content_clusters_dev
{
  "collection": "sample"
}

Internal Cluster Structure

Features store cluster assignments in a simplified array structure:

{
  "entities": [
    {
      "id": "clu_123",
      "name": "Athletic Footwear Ads",
      "coordinates": {
        "x": -0.45,
        "y": 0.78
      },
      "score": 0.95
    }
  ]
}

Searching with Clusters

POST /features/search
{
  "collections": ["sample"],
  "filters": {
    "AND": [
      {
        "key": "entities[].cluster",
        "operator": "eq",
        "value": "Athletic Footwear Ads" # can use cluster name
      }
    ]
  }
}

Best Practices for Video Clustering

1

Preprocessing

  • Extract features at appropriate intervals (10-15 seconds recommended)
  • Use the scene detection parameter to identify natural segment boundaries
  • Consider both visual and audio features for complete context
  • Normalize video resolution and quality for consistent processing
2

Model Selection

  • Use multimodal embeddings for combined visual-semantic understanding
  • Consider any of our specialized models for specific content types (sports, ads, etc.)
  • Balance model complexity with processing requirements
  • Test different embedding combinations for optimal results
3

Cluster Configuration

  • Start with conservative clustering parameters (higher min_cluster_size)
  • Adjust confidence thresholds based on content similarity requirements
  • Use appropriate sample sizes for initial cluster discovery
  • Enable automatic naming for better cluster interpretability
4

Performance Optimization

  • Batch process similar video content together
  • Cache frequently accessed cluster assignments
  • Use appropriate indexing strategies for faster lookups
  • Monitor and adjust resource utilization

Video clustering can be resource-intensive. Consider these limitations:

  • Maximum video duration: 4 hours
  • Maximum file size: 2GB
  • Processing timeout: 30 minutes
  • Rate limits apply to clustering requests

For optimal results, combine clustering with taxonomies when dealing with domain-specific video content. This provides both automated discovery and structured organization.