NEWVectors or files. Pick a path.Start →
    Models/Captioning/Kwai-Keye/Keye-VL-8B-Preview
    HFScene CaptioningApache 2.0

    Keye-VL-8B-Preview

    by Kwai-Keye

    Short-video VLM with temporal precision via 3D positional encoding

    Identifiers
    Model ID
    Kwai-Keye/Keye-VL-8B-Preview
    Feature URI
    mixpeek://video_extractor@v1/kwai_keye_vl_8b_v1

    Overview

    Keye-VL is a multimodal VLM specifically engineered for short-form video understanding while maintaining general vision-language abilities. Built by Kuaishou (operator of one of the world's largest short-video platforms), it uses 3D RoPE for unified text/image/video processing with one-to-one correspondence between position encoding and absolute time.

    Trained on 600B+ tokens with video emphasis, Keye-VL excels at understanding the dominant content format of the modern internet: short clips.

    Architecture

    8B parameter model built on Qwen3-8B + SigLIP vision encoder. Uses 3D RoPE (Rotary Position Embedding) for unified spatial-temporal encoding, enabling precise temporal grounding in video content.

    Mixpeek SDK Integration

    // No extractor parameter takes a Hugging Face model id (checked against
    // GET /v1/discovery/extractors, which returns 13), so Keye-VL-8B-Preview runs
    // on your side and the output is upserted through POST
    // /v1/namespaces/{namespace_id}/documents/upsert. On Enterprise the other
    // path is to upload the weights instead: POST /v1/namespaces/{id}/models
    // accepts the huggingface format and a custom plugin loads them.
    const res = await fetch(
      "https://api.mixpeek.com/v1/namespaces/ns_your_namespace/documents/upsert",
      {
        method: "POST",
        headers: {
          Authorization: "Bearer API_KEY",
          "Content-Type": "application/json",
        },
        body: JSON.stringify({
          collection_id: "col_your_collection",
          documents: [
            {
              document_id: "asset-00412",
              // The model produces text, so it lands in payload. Give the
              // collection a text vector index and embed that text to make it
              // searchable rather than only filterable.
              payload: { extracted_text: modelOutput, source_key: "archive/2026/asset-00412" },
              vectors: { "multimodal-embedding": embeddingOfModelOutput },
            },
          ],
        }),
      },
    );
    
    // Managed alternative, if this exact model is not the requirement:
    // universal_extractor@v1 runs google/gemini-embedding-2
    // (3072-d) over a bucket, with no inference of your own.

    Capabilities

    • Short-video understanding
    • Temporal grounding
    • Image understanding
    • Video QA
    • Scene classification
    • Action recognition

    Use Cases on Mixpeek

    Short-form video content analysis
    Social media video indexing
    Ad creative understanding
    UGC content moderation

    Performance

    Input SizeVariable
    GPU Latency~150ms per clip (A100)
    GPU Throughput~7 clips/sec
    GPU MemoryModel dependent

    Specification

    FrameworkHF
    OrganizationKwai-Keye
    FeatureScene Captioning
    Outputtext
    Modalitiesvideo, image
    RetrieverSemantic Search
    Parameters8B
    LicenseApache 2.0
    Downloads/mo38K

    Build a pipeline with Keye-VL-8B-Preview

    Add this model to a processing pipeline alongside other extractors. Combine with retrieval stages for end-to-end search.

    Run it on your own data, free