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

    Keye-VL-2.0-30B-A3B

    by Kwai-Keye

    Kuaishou's video-centric vision-language model for clip understanding and Q&A

    290dl/month
    30B MoE (~3B active)params
    Identifiers
    Model ID
    Kwai-Keye/Keye-VL-2.0-30B-A3B
    Feature URI
    mixpeek://video_extractor@v1/kwai_keye_vl2_30b_a3b_v1

    Overview

    Keye-VL 2.0 (30B Mixture-of-Experts with ~3B active params) is Kuaishou's video-first multimodal LLM, built for understanding short-form and long video alongside images and text. It is strong at video question answering, captioning, and temporal reasoning over clips.

    On Mixpeek, a model like Keye-VL works as a captioning/understanding stage in a video pipeline: a fast encoder (V-JEPA 2, VideoPrism, InternVideo2) retrieves candidate clips, then a VLM like Keye-VL generates grounded descriptions or answers questions about the retrieved moments, keeping the expensive VLM off the full corpus.

    Architecture

    Mixture-of-Experts vision-language model (~30B total, ~3B active) with a vision encoder feeding an LLM decoder, instruction-tuned for video and image understanding, captioning, and VQA with temporal reasoning.

    Mixpeek SDK Integration

    // No extractor parameter takes a Hugging Face model id (checked against
    // GET /v1/discovery/extractors, which returns 13), so Keye-VL-2.0-30B-A3B 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

    • Video question answering and captioning
    • Temporal reasoning over short and long clips
    • Image + text multimodal understanding
    • Efficient MoE inference (~3B active params)

    Use Cases on Mixpeek

    Caption and answer questions about retrieved video moments
    Generate searchable descriptions for a video library
    Agent perception over short-form / social video
    VLM rerank/verify stage after fast clip retrieval

    Performance

    Input SizeVideo clips + text prompt
    GPU LatencyVLM-class: seconds per clip; run on retrieved candidates, not the full corpus
    GPU ThroughputBatch dependent
    GPU MemoryModel dependent

    Pair with a fast video encoder for retrieval; reserve the VLM for captioning/QA on shortlisted clips

    Specification

    FrameworkHF
    OrganizationKwai-Keye
    FeatureScene Captioning
    Outputtext
    Modalitiesvideo, image
    RetrieverSemantic Search
    Parameters30B MoE (~3B active)
    LicenseApache-2.0
    Downloads/mo290

    Research Paper

    Keye-VL (Kuaishou)

    arxiv.org

    Build a pipeline with Keye-VL-2.0-30B-A3B

    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