NEWVectors or files. Pick a path.Start →

    Face Search Pipeline

    Detect, align, and embed faces across your image and video library, then search by face identity. Uses SCRFD for detection and ArcFace for 512-dimensional identity embeddings, enabling large-scale face recognition and matching.

    image
    video
    Multi-Tier
    from mixpeek import Mixpeek
    client = Mixpeek(api_key="YOUR_API_KEY", namespace="face-search")
    # 1. A bucket for the video content, and a collection that detects, aligns and embeds every face with ArcFace
    bucket = client.buckets.create(
    bucket_name="video-content",
    bucket_schema={
    "properties": {
    "video": {
    "type": "video",
    },
    },
    },
    )
    collection = client.collections.create(
    collection_name="video_faces",
    source={"type": "bucket", "bucket_ids": [bucket["bucket_id"]]},
    feature_extractor={
    "feature_extractor_name": "face_identity_extractor",
    "version": "v1",
    },
    )
    # 2. Upload and process
    client.buckets.upload(
    bucket["bucket_id"],
    blobs=[{"property": "video", "type": "video", "data": "s3://your-bucket/videos/panel-2026-06.mp4"}],
    )
    client.collections.trigger(collection["collection_id"])
    # 3. An example face searched against the ArcFace index, then labeled from tax_your_known_faces, a flat taxonomy over a collection of reference photos
    retriever = client.retrievers.create(
    retriever_name="face-search",
    collection_identifiers=["video_faces"],
    input_schema={
    "face": {
    "type": "image",
    "required": True,
    },
    },
    stages=[
    {
    "stage_name": "search",
    "stage_id": "feature_search",
    "parameters": {
    "searches": [
    {
    "feature_uri": "mixpeek://face_identity_extractor@v1/insightface__arcface",
    "query": {
    "input_mode": "content",
    "value": "{{INPUT.face}}",
    },
    "top_k": 50,
    },
    ],
    "final_top_k": 50,
    },
    },
    {
    "stage_name": "label",
    "stage_id": "taxonomy_enrich",
    "parameters": {
    "taxonomy_id": "tax_your_known_faces",
    "top_k": 1,
    },
    },
    ],
    )
    # 4. Search
    results = client.retrievers.execute(
    retriever["retriever_id"],
    inputs={
    "face": "https://example.com/person-photo.jpg",
    },
    )
    for doc in results["documents"]:
    print(doc["timestamp"], doc["score"])

    Feature Extractors

    Face Identity Extractor

    Detect, align, and embed faces to 512-D ArcFace vectors across image, video and PDF, using SCRFD for detection.

    Retriever Stages

    feature search

    Search and filter documents by vector similarity using feature embeddings

    filter

    taxonomy enrich

    Classify documents against taxonomy nodes via vector similarity

    apply