alt.freeweights.olmo / MolmoPoint-Vid-4B
From: allenai <huggingface.co/allenai>Newsgroups: alt.freeweights.olmoSubject:

MolmoPoint-Vid-4B

Date: 2026-11-15Commit: b331ed6Signed: 2DC28CC7B26A283B ✓

Video text to text model with 4.9B parameters. Safetensors weights, 19.5 GB in all. Published by allenai under Apache-2.0.

4.9B params19.5GBMolmoPoint-Vid-4Bsafetensorspermissive
FactsParams4.9BSize19.5 GBFormatssafetensorsTaskvideo text to textLicenseApache-2.0From sourcepermissive
$ fw get allenai/MolmoPoint-Vid-4B
# manifest sha256 3f9fd43251b0… · 19.5 GB · 28 files
$ fw verify ./MolmoPoint-Vid-4B allenai/MolmoPoint-Vid-4B
From sourceHosted (signed)allenai/MolmoPoint-Vid-4BLast check: 2026-11-15 03:56 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Fine-tune of siglip-so400m-patch14-384.

Works with

Runs with

Ranked by fit to this model (safetensors), then by GitHub stars.

Overview

Size
19.5 GB
Weights
19.4 GB (safetensors)
Parameters
4.9B
Formats
safetensors
Task
video text to text
License
Apache-2.0 (permissive)
Files
28, each with a sha256
Publisher
allenai
Added
2026-11-15
Section
alt.freeweights.olmo
Lineage

Original release from the publisher.

Base model: google/siglip-so400m-patch14-384

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-15 03:56 UTCpassed

Model card

From the publisher at commit b331ed6. Shown as plain text with links; images open at the publisher.

MolmoPoint-Vid-4B#

MolmoPoint-Vid-4B is a fully-open VLM developed by the Allen Institute for AI (Ai2) that is specialized for video pointing. It points using grounding tokens instead of text coodinates, see our paper for details. This model is only trained for video pointing, see MolmoPoint-8B for a generalist model.

Note the huggingface MolmoPoint model does not support training, see our github repo for the training code.

Quick links:

Quick Start#

Setup Conda Environment#
conda create --name transformers4571 python=3.11
conda activate transformers4571
pip install transformers==4.57.1
pip install torch pillow einops torchvision accelerate decord2

Inference#

We recommend running MolmoPoint with logits_processor=model.build_logit_processor_from_inputs(model_inputs) to enforce points tokens are generated in a valid way.

In MolmoPoint, instead of coordinates points will be generated as a series of special tokens, decoding the tokens back into points requires some additional metadata from the preprocessor. The metadata is returned by the preprocessor using the return_pointing_metadata flag. Then model.extract_video_points does the decoding, it returns a list of (timestamps, object_id, pixel_x, pixel_y) output points.

Video Pointing Example:#
from transformers import AutoProcessor, AutoModelForImageTextToText
import torch
import numpy as np

checkpoint_dir = "allenai/MolmoPoint-Vid-4B"

model = AutoModelForImageTextToText.from_pretrained(
    checkpoint_dir,
    trust_remote_code=True,
    dtype="auto",
    device_map="auto",
)

processor = AutoProcessor.from_pretrained(
    checkpoint_dir,
    trust_remote_code=True,
    padding_side="left",
)

video_path = "https://storage.googleapis.com/oe-training-public/demo_videos/many_penguins.mp4"
video_messages = [
    {
        "role": "user",
        "content": [
            dict(type="text", text="Point to the penguins"),
            dict(type="video", video=video_path),
        ]
    }
]

inputs = processor.apply_chat_template(
    video_messages,
    tokenize=True,
    add_generation_prompt=True,
    return_tensors="pt",
    return_dict=True,
    padding=True,
    return_pointing_metadata=True
)
metadata = inputs.pop("metadata")
inputs = {k: v.to("cuda") for k, v in inputs.items()}

with torch.inference_mode(), torch.autocast("cuda", dtype=torch.bfloat16):
    output = model.generate(
        **inputs,
        logits_processor=model.build_logit_processor_from_inputs(inputs),
        max_new_tokens=200
    )

    generated_tokens = output[:, inputs['input_ids'].size(1):]
    generated_text = processor.post_process_image_text_to_text(generated_tokens, skip_special_tokens=False, clean_up_tokenization_spaces=False)[0]
    video_points = model.extract_video_points(
        generated_text,
        metadata["token_pooling"],
        metadata["subpatch_mapping"],
        metadata["timestamps"],
        metadata["video_size"]
    )

    # points as a list of [object_id, image_num, x, y]
    # For tracking, object_id uniquely identifies objects that might appear multiple frames.
    print(np.array(video_points))
# expected:
[[  1.           9.         188.86666667 177.65925926]
 [  2.          15.5        197.66666667 288.35555556]
 [  3.          17.         153.26666667 327.7037037 ]
 [  4.          23.5         46.6        406.87407407]
 [  5.          23.5         91.         406.87407407]
 [  6.          23.5        135.53333333 438.4       ]
 [  7.          23.5        233.26666667 477.98518519]
 [  8.          25.         184.33333333 280.2962963 ]
 [  9.          25.         268.86666667 232.88888889]
 [ 10.          27.         171.         335.76296296]
 [ 11.          30.         193.26666667 304.        ]
 [ 12.          32.          64.33333333 201.36296296]
 [ 13.          32.         202.2        414.6962963 ]
 [ 14.          38.5        184.33333333 383.17037037]
 [ 15.          40.5        335.53333333  82.84444444]
 [ 16.          40.5        117.66666667 201.36296296]
 [ 17.          40.5         95.53333333 501.68888889]
 [ 18.          47.         259.93333333 304.        ]
 [ 19.          47.         153.26666667 501.68888889]]

License and Use#

This model is licensed under Apache 2.0. It is intended for research and educational use in accordance with Ai2’s Responsible Use Guidelines. This model is trained on third party datasets that are subject to academic and non-commercial research use only. Please review the sources to determine if this model is appropriate for your use case.

Files

28 files · 19.5 GBWeights 19.4 GB (safetensors). Sizes and sha256 from the signed manifest.
Show all 28 files with their sha256
FileSizesha256
.gitattributes1.57 KB34448b82c17d60fec9b65b1f093c115ddbaadc04beb1b0140b6bfed2e012a930
README.md5.01 KB0ceacde176085b26a0927e48ee8a51e2dea367039b128a7a5d0d7a11da9ea234
added_tokens.json846 KB085c97dbff1bc599095fb572e8e21fc5e7bed8ceb5a9a465314c7f136d62ec74
chat_template.jinja3.17 KBec66862fda57dc1aef90a21b2a0f64c18a280e2483206449bd251a73b8993101
config.json3.19 KB6b652388cab9fa629cb6271838bcc8b6680c4efd6b561aa75497aba8153ed33a
configuration_molmo2.py13.9 KB1405b6760579de537521829b9641c8362d5d50e7ef2bdbe3434d2de4a2fc6416
configuration_molmo_point.py9.19 KB369a05c0dbfb1e363917c8d063e7f30a1de93ac67cfd1bcc2a95aa4e434a826a
convert_molmo2_to_hf.py20.8 KB5dc96cf125c6dbebd5a1afefe79651489a24733cbdc15b4caf46e8a671f5e30d
generation_config.json117 B103506d168927632c8f627d470611ec14e5bc38246470173713b5c28762026b0
image_processing_molmo2.py22.2 KB22fcc160210a3a648b6d618171686c40b900f512107f532c266af7792ac00511
merges.txt1.67 MB8831e4f1a044471340f7c0a83d7bd71306a5b867e95fd870f74d0c5308a904d5
model-00001-of-00004.safetensors4.89 GBca2efe3c1c4a515f7a3b3131a92f9c59b91e547d78666cdfdafdc8c9855be5dd
model-00002-of-00004.safetensors4.84 GB18ea780da606f668723ea74e0dcdebf10c6475972a5af0772aa32824383e545a
model-00003-of-00004.safetensors4.84 GBb0f241b51e633bf23b2d19a97ad4628e9eecc10935f4e0fd0fcdf3315ff401c5
model-00004-of-00004.safetensors4.87 GB266b0e351332d41297997783720fa2c32cf829cd8801e2c428f0833f48e80c12
model.safetensors.index.json68.1 KB4a82258b004f4e0e1ed20081ced6bba217eb5fcee24d2ca6dc72eff36d04eab1
modeling_molmo2.py71.6 KBd3cafcb5300dee41dc9b6d6e8b59e7d3b710bce0408672e8fd78a3bcb28669ce
modeling_molmo_point.py82.9 KB9320e8025d761629262d37d48f0422f967b0d3bfae733d9318ba0f4c68ce135b
preprocessor_config.json555 B026ee03897ff86cb0d3f7c638145a04a253d4c0722fc5bcc3cf996bb0ebed211
processing_molmo2.py18.2 KB73fee7d5cc24e64fdecff90b07e2fea1985113394ffaaf9b87f42e40f3fb4aeb
processing_molmo_point.py17.1 KBcaa6a157bf1c7cfaabd6091859d2c67db353426cdd69760a90467c8dc0418639
processor_config.json346 B06416426dfbcd8c92165e3c705d04eeef1bc5ae13d246043cf850cccecf77d41
special_tokens_map.json7.99 KB7af6f09d819fce2662d3be59766042b6d20835104745049754cc61e1755c33fd
tokenizer.json17.4 MB2f437033cf8ca3315943460f7b7681d01130795107d9a99dc124fd9d6898e932
tokenizer_config.json5.69 MB89d00c976c5e6b506941ac046faa4786159f71abe3275a0a417559beb6a62225
video_preprocessor_config.json984 Bab16df7a17cb94cf57daeab7c6760a8be8cfad1fa37258cb86ad48d09ffd1815
video_processing_molmo2.py37.7 KBaaeffabdee0b11f93fb380093df1738964340ea072ba6352bd3f371cc0df835e
vocab.json2.78 MBca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
b331ed6c63 pinned now2026-11-15 03:56 UTC28 files · 19.5 GB

Use it

$ fw get allenai/MolmoPoint-Vid-4B
# manifest sha256 3f9fd43251b0… · 19.5 GB · 28 files
$ fw verify ./MolmoPoint-Vid-4B allenai/MolmoPoint-Vid-4B
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/allenai/MolmoPoint-Vid-4B.json --dir ./MolmoPoint-Vid-4B $ python3 fw.py verify ./MolmoPoint-Vid-4B ./allenai__MolmoPoint-Vid-4B.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download allenai/MolmoPoint-Vid-4B --revision b331ed6c6352e6db967325493c6dae515541a919 --local-dir ./MolmoPoint-Vid-4B

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-15
Text in
README.md
Text sha256
0ceacde176085b26a0927e48ee8a51e2dea367039b128a7a5d0d7a11da9ea234
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: allenai <huggingface.co/allenai>Newsgroups: alt.freeweights.olmoSubject: MolmoPoint-Vid-4BDate: 2026-11-15Commit: b331ed6Signed: 2DC28CC7B26A283B ✓
Upstream
allenai/MolmoPoint-Vid-4B
Pinned commit
b331ed6c6352e6db967325493c6dae515541a919
Manifest
MolmoPoint-Vid-4B.json · .minisig
Manifest sha256
3f9fd43251b0355c1d847e2a8896455dd13880850bdd0406f3421b7a19d157d1
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 03:56 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/allenai/MolmoPoint-Vid-4B.json $ curl -O https://freeweights.allternit.com/manifests/allenai/MolmoPoint-Vid-4B.json.minisig $ minisign -Vm MolmoPoint-Vid-4B.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

Parent

google/siglip-so400m-patch14-384 · this model is a finetune of it

No model in the catalog names this one as its parent.

Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download allenai/MolmoPoint-Vid-4B
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. MolmoPoint-Vid-4B.json. Provenance. Takedown history: none.
From: bartowski <huggingface.co/bartowski>Subject: allenai_Olmo-3-7B-Instruct-GGUF
From: bartowski <huggingface.co/bartowski>Subject: allenai_Olmo-3-7B-Think-GGUF
From: bartowski <huggingface.co/bartowski>Subject: allenai_Olmo-3.1-32B-Instruct-GGUF
From: bartowski <huggingface.co/bartowski>Subject: allenai_Olmo-3.1-32B-Think-GGUF
From: bartowski <huggingface.co/bartowski>Subject: allenai_olmOCR-2-7B-1025-GGUF
From: bartowski <huggingface.co/bartowski>Subject: allenai_olmOCR-7B-0225-preview-GGUF