NEWVectors or files. Pick a path.Start →
    Models/Cactus-Compute/Mirage
    Apache 2.0

    Mirage

    by Cactus-Compute

    Cactus Compute's on-device vision model: 51.3M parameters in a 21.6 MB file that describes a photo, finds objects, reads text, draws masks and fills forms in one pass

    Identifiers
    Model ID
    Cactus-Compute/Mirage

    Deploy Mirage

    Single-tenant

    Mixpeek has no managed extractor for this model. On a single-tenant deployment you upload the weights and a custom plugin serves them next to the rest of your pipeline.

    Overview

    Mirage is a small vision model from Cactus Compute, released on 6 November 2026 under the Apache 2.0 license, built to run on phones, wearables, robots and other consumer devices. One call returns a structured record of an image: a scene description, named objects with boxes, attributes and segmentation masks, the text in the image with a box and score per region, relations between objects, and answers to choice or count questions you supply. It describes images in English, German, French, Spanish, Italian, Dutch and Polish. Cactus reports 74 ms end to end on a Samsung Galaxy S26 NPU and 107 ms on its CPU.

    Architecture

    51.3M parameters. A convolutional stem reads the image at 512 px into a 16 x 16 grid of 256 cells, followed by 16 gated-convolution blocks and 12 grouped-query attention blocks with four register tokens. Detection and mask heads read finer stem features, a CTC reader decodes the text crops, and an 8-layer decoder writes the description while referring to detected boxes. The released file uses 2-bit quantisation for most matrices, which is how the model fits in 21.6 MB, and runs on Cactus's own engine through the cactus-compute package.

    Mixpeek SDK Integration

    # Describe an image on the device (usage from the Cactus blog and model card).
    # pip install -U cactus-compute   # first use downloads the engine and weights
    import cactus
    
    vision = cactus.Mirage()
    record = vision.describe(
        "frame_0042.jpg",
        sections=["objects", "text"],
        fields=["bbox", "score", "mask"],
        mask_format="polygons",
    )
    # Boxes use a 0 to 1000 scale relative to the image.
    # Store the record with the file and timestamp it came from, next to an image embedding.

    Capabilities

    • Scene descriptions in seven languages
    • Open-vocabulary object detection with attributes such as colour, shape and material
    • A segmentation mask for each described object, as polygons or a bitmap
    • OCR with a box and detection score for each text region
    • Relations between objects, forming a small scene graph
    • Decisions and forms: pick from labels you supply, count within a range, or fill a short text field

    Use Cases on Mixpeek

    Tagging photos and video frames on the device, so only the JSON record leaves it
    Reading labels, signs and packaging in a camera app without a server round trip
    Giving a small text-only language model a structured description of an image to reason over
    Producing per-frame object, text and scene fields to index alongside embeddings for search

    Benchmarks

    DatasetMetricScoreSource
    Samsung Galaxy S26End-to-end latency, NPU74 msCactus Compute blog, 6 November 2026; 107 ms on the CPU
    VQAv2 (256 validation questions)Consensus credit, Mirage record read by Qwen3-0.6B31.3Cactus Compute blog; 22.2 with another image's record, 33.1 without the reasoning trace

    Performance

    Input SizeOne image per call, read at 512 px
    GPU LatencyInput dependent
    GPU ThroughputBatch dependent
    GPU MemoryModel dependent

    We have not measured it. The figures are Cactus Compute's own. The VQAv2 number scores a small text model reading Mirage's output, so it measures the record as an interface for another model. Mirage runs on the Cactus engine, so it is not a model you import into a Transformers pipeline.

    Frequently Asked Questions

    What is Cactus Mirage?

    A 51.3M-parameter vision model from Cactus Compute, released on 6 November 2026 under Apache 2.0. In one pass it describes an image, detects objects with boxes and masks, reads text, lists relations between objects and answers choice or count questions, and its 2-bit release fits in 21.6 MB for phones and other devices.

    Can Mirage run on a phone?

    Yes, that is what it is built for. Cactus reports 74 ms end to end on a Samsung Galaxy S26 NPU and 107 ms on its CPU, and the browser sandbox on its blog runs the model locally. Native apps load mirage.cact with the Cactus engine; Python uses the cactus-compute package.

    Does Mirage do OCR and object detection?

    Both. It returns each text region with a box, the text read by a CTC reader and a detection score, and each object with a name, a box on a 0 to 1000 scale, attributes and a mask. Object names come from its language decoder, so they are not limited to a fixed class list.

    What license is Mirage under?

    Apache 2.0, as listed on the Hugging Face model card, which allows commercial use.

    How do I search images Mirage has described?

    Store each image's record (scene, object names, attributes, text) with the file and timestamp, and index it next to an image-text embedding from a model such as SigLIP 2. Filters and keyword search then run over Mirage's fields, and a description query runs over the embeddings.

    Specification

    OrganizationCactus-Compute
    Retriever-
    Parameters51.3M
    LicenseApache 2.0
    Downloads/moN/A
    Likes215

    Build a pipeline with Mirage

    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