NEWVectors or files. Pick a path.Start →
    Concepts

    Video Content Analytics Pipeline

    Analyze video content at scale to extract insights: scene composition, speaker time, topic distribution, and sentiment across your video library.

    video
    audio
    text
    Multi-Tier
    from collections import Counter
    from mixpeek import Mixpeek
    client = Mixpeek(api_key="YOUR_API_KEY", namespace="video-analytics")
    # 1. A bucket for campaign videos, and a collection that cuts at scene changes,
    # transcribes, and has Gemini return topic and sentiment per scene
    bucket = client.buckets.create(
    bucket_name="campaign-videos",
    bucket_schema={"properties": {"video": {"type": "video"}}},
    )
    collection = client.collections.create(
    collection_name="marketing-videos",
    source={"type": "bucket", "bucket_ids": [bucket["bucket_id"]]},
    feature_extractor={
    "feature_extractor_name": "multimodal_extractor",
    "version": "v1",
    "parameters": {
    "split_method": "scene",
    "run_transcription": True,
    "run_video_description": True,
    "response_shape": {
    "type": "object",
    "properties": {
    "topic": {"type": "string"},
    "sentiment": {"type": "string", "enum": ["positive", "neutral", "negative"]},
    },
    },
    },
    },
    )
    # 2. Upload and process
    client.buckets.upload(
    bucket["bucket_id"],
    blobs=[{"property": "video", "type": "video", "data": "s3://your-bucket/campaign-videos/spot-01.mp4"}],
    )
    client.collections.trigger(collection["collection_id"])
    # 3. Aggregate across scenes
    docs = client.documents.list(collection["collection_id"], page_size=500)
    sentiment = Counter((doc.get("json_output") or {}).get("sentiment") for doc in docs["results"])
    seconds_by_topic = Counter()
    for doc in docs["results"]:
    topic = (doc.get("json_output") or {}).get("topic", "unknown")
    seconds_by_topic[topic] += doc["end_time"] - doc["start_time"]
    print(sentiment.most_common(), seconds_by_topic.most_common(5))

    Feature Extractors

    Multimodal Extractor

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

    Retriever Stages

    Use Cases Using This Recipe

    Advanced

    AI Video Surveillance Analytics

    Transform passive camera feeds into actionable security intelligence

    85% of events caught live vs. 5% manual baseline

    Real-time incident detection rate

    Who It's For

    Security operations centers, facility managers, and enterprise security teams monitoring 50+ camera feeds across multiple locations

    Advanced

    Video Analytics for Sports Broadcasting

    Unlock play-by-play intelligence from broadcast footage at scale

    Seconds instead of hours per clip

    Moment discovery time

    Who It's For

    Sports broadcasters, league media teams, sports analytics companies, and OTT platforms managing multi-season video archives across multiple sports

    Intermediate

    Automated Video Tagging for Streaming

    Auto-generate rich metadata for every scene, shot, and moment in your catalog

    10x more tags than manual editorial process

    Metadata tags per title

    Who It's For

    Streaming platforms, content distributors, and VOD services managing catalogs of 10K+ titles that need rich metadata for discovery and recommendation

    Advanced

    Video Compliance Monitoring

    Automatically verify regulatory and policy compliance across video content at scale

    10x faster than manual review

    Compliance review speed

    Who It's For

    Compliance teams, broadcast standards departments, advertising regulators, and enterprise communications teams reviewing video content for regulatory adherence

    Related Recipes & Resources

    Explore these related resources to deepen your understanding and discover more powerful features