Downloads · 30 days
16.3K
23% of all-time downloads
nvidia/Cosmos-Embed1-224p
Cosmos-Embed1-224p is a machine learning model from nvidia. Use it for the machine learning task on the model card, and read the license before you ship it in a product. It is set up for cosmos. The card lists the license as other.
Downloads · 30 days
16.3K
23% of all-time downloads
All-time downloads
70.4K
Public
Parameters
1.2B
2.4 GB on disk
Likes
13
Public
Click a slice to open those files.
.safetensors2.4 GB · 100%
How the weights are stored.
BF161.2B · 100%
From the Hugging Face model README
Website | Hugging Face | Demo app
Cosmos-Embed1 is a joint video-text embedder tailored for physical AI. It can be used for text-to-video retrieval, inverse video search, semantic deduplication, zero-shot and k-nearest-neighbors (kNN) classification, and as a base model for video curation tasks. It has state-of-the-art (SOTA) performance on autonomous vehicle (AV) and robotics datasets, while maintaining competitive performance in general domains. This model is ready for commercial use.
Model Developer: NVIDIA
The Cosmos-Embed1 release includes the following embedders:
Note, while each checkpoint was optimized at a specific fixed resolution (and default to these), they all support arbitrary non-square resolutions.
This model is released under the NVIDIA Open Model License. Additional Information: Apache License 2.0; MIT.
For a custom license, please contact [email protected].
Under the NVIDIA Open Model License, NVIDIA confirms:
Important Note: If you bypass, disable, reduce the efficacy of, or circumvent any technical limitation, safety guardrail or associated safety guardrail hyperparameter, encryption, security, digital rights management, or authentication mechanism contained in the Model, your rights under NVIDIA Open Model License Agreement will automatically terminate.
Global
Physical AI: encompassing robotics, autonomous vehicles (AV) etc.
The architecture is based on QFormer, with modifications for processing video inputs.
The video embedder processes frames individually with a ViT backbone. The per-frame ViT features are concatenated in the temporal dimension and augmented with temporal embeddings. These are then passed into the QFormer which summarizes via cross-attention a compact set of visual query tokens from the provided frames. The visual query tokens are then pooled into a single video embedding. The text embedder processes tokenized text via the self-attention branch of the Qformer to produce a text embedding.
The normalized text and video embeddings are aligned via a contrastive video-text loss, as well as auxiliary losses such as video-text matching and video captioning. For the 336p and 448p variants, we additionally use summary and dense distillation losses.

Input
Output
Our AI models are designed and/or optimized to run on NVIDIA GPU-accelerated systems. By leveraging NVIDIA’s hardware (e.g. GPU cores) and software frameworks (e.g., CUDA libraries), the model achieves faster training and inference times compared to CPU-only solutions.
Runtime Engine(s):
Supported Hardware Microarchitecture Compatibility:
Note: We have only tested Cosmos-Embed1 with BF16 precision on Ampere and Hopper GPUs. If you are using older versions of NVIDIA GPUs (e.g., NVIDIA Volta GPUs), you may need to switch to FP32 precision.
Operating System(s)
The main model and processor dependencies can be fetched with:
pip install transformers einops torch torchvision
One can optionally install Transformer Engine for faster inference:
pip install --no-build-isolation transformer_engine[pytorch]
A code snippet for video and text inference is shown below. For a step-by-step guide, please refer to the Juypter notebook here.
import decord
import numpy as np
import torch
from transformers import AutoProcessor, AutoModel
import subprocess
import io
# load model and pre-processor
model = AutoModel.from_pretrained("nvidia/Cosmos-Embed1-224p", trust_remote_code=True).to("cuda", dtype=torch.bfloat16)
preprocess = AutoProcessor.from_pretrained("nvidia/Cosmos-Embed1-224p", trust_remote_code=True)
# load mock data
video_url = "https://upload.wikimedia.org/wikipedia/commons/3/3d/Branko_Paukovic%2C_javelin_throw.webm"
subprocess.check_call(["wget", "-O", "/tmp/javelin_throw.mp4", video_url])
reader = decord.VideoReader("/tmp/javelin_throw.mp4")
frame_ids = np.linspace(0, len(reader)-1, 8, dtype=int).tolist()
frames = reader.get_batch(frame_ids).asnumpy()
batch = np.transpose(np.expand_dims(frames, 0), (0, 1, 4, 2, 3)) # BTCHW
captions = [
"a person riding a motorcycle in the night",
"a car overtaking a white truck",
"a video of a knight fighting with a sword",
"a man wearing red spandex throwing a javelin",
"a young man javelin throwing during the evening", # distractor
"a man throwing a javelin with both hands", # distractor
]
# video and text processing
video_inputs = preprocess(videos=batch).to("cuda", dtype=torch.bfloat16)
video_out = model.get_video_embeddings(**video_inputs)
text_inputs = preprocess(text=captions).to("cuda", dtype=torch.bfloat16)
text_out = model.get_text_embeddings(**text_inputs)
# ranking and argmax
probs = (torch.softmax(model.logit_scale.exp() * video_out.visual_proj @ text_out.text_proj.T, dim=-1))[0]
print(captions[probs.argmax()])
We train and evaluate the Cosmos-Embed1 models on a variety of video datasets covering zero-shot classification and retrieval. We use public reference training/test splits when available (e.g. Kinetics), otherwise we take a 90/10% split. The training pool is approximately 8m unique videos with multiple curated captions, sampled from robotics, autonomous vehicle, activity recognition and general domains.
Data Collection Method:
Labeling Method:
| Agibot | Bridge | |||
|---|---|---|---|---|
| Model Architecture | T2V-R@1 | V2T-R@1 | T2V-R@1 | V2T-R@1 |
| InternVideo2-1B-S2 | 1.23 | 0.91 | 8.51 | 8.11 |
| PE-Core-G14-448 | 1.16 | 0.83 | 7.19 | 5.24 |
| Cosmos-Embed1-224 | 4.26 | 4.10 | 23.99 | 23.99 |
| Cosmos-Embed1-336 | 7.04 | 6.33 | 24.51 | 22.90 |
| Cosmos-Embed1-448 | 7.18 | 6.39 | 24.28 | 23.76 |
| OpenDV | ||
|---|---|---|
| Model Architecture | T2V-R@1 | V2T-R@1 |
| InternVideo2-1B-S2 | 7.40 | 8.06 |
| PE-Core-G14-448 | 9.58 | 9.30 |
| Cosmos-Embed1-224 | 30.11 | 30.99 |
| Cosmos-Embed1-336 | 34.42 | 34.67 |
| Cosmos-Embed1-448 | 34.66 | 34.87 |
| Kinetics-400 (val) | Kinetics-600 (val) | Kinetics-700 (val) | |
|---|---|---|---|
| Model Architecture | F1 | F1 | F1 |
| InternVideo2-1B-S2 | 62.80 | 60.20 | 52.18 |
| PE-Core-G14-448 | 76.00 | 75.14 | 68.28 |
| Cosmos-Embed1-224 | 83.06 | 82.22 | 70.96 |
| Cosmos-Embed1-336 | 87.66 | 88.06 | 74.57 |
| Cosmos-Embed1-448 | 88.21 | 88.60 | 75.27 |
Acceleration Engine: PyTorch, Transformer Engine (optional)
Test Hardware: H100, A100
NVIDIA believes Trustworthy AI is a shared responsibility and we have established policies and practices to enable development for a wide array of AI applications. When downloaded or used in accordance with our terms of service, developers should work with their internal model team to ensure this model meets requirements for the relevant industry and use case and addresses unforeseen product misuse.
Users are responsible for model inputs and outputs. Users are responsible for ensuring safe integration of this model, including implementing guardrails as well as other safety mechanisms, prior to deployment.
For more detailed information on ethical considerations for this model, please see the subcards of Explainability, Bias, Safety & Security, and Privacy below.
Please report security vulnerabilities or NVIDIA AI Concerns here.
We value you, the datasets, the diversity they represent, and what we have been entrusted with. This model and its associated data have been:
| Field | Response |
|---|---|
| Participation considerations from adversely impacted groups protected classes in model design and testing: | None |
| Measures taken to mitigate against unwanted bias: | None |
| Field | Response |
|---|---|
| Intended Application & Domain: | Embedding of text and videos for physical AI |
| Model Type: | ViT, QFormer |
| Intended Users: | Physical AI developers |
| Output: | Text/Video embedding vectors |
| Describe how the model works: | Projects inputs into aligned embedding space (text/video). |
| Technical Limitations: | Due to the training datasets being predominantly composed of short action-focused English captions, different text prompts may not be properly aligned to video data, producing suboptimal matching. |
| Verified to have met prescribed NVIDIA quality standards: | Yes |
| Performance Metrics: | Classification metrics (F1-score, accuracy), retrieval metrics (T2V recall@1, V2T recall@1) |
| Potential Known Risks: | Embedder's output can include all forms of input, including what may be considered toxic, offensive, or indecent. |
| Licensing: | NVIDIA Open Model License. Additional Information: Apache License 2.0; MIT. |
| Field | Response |
|---|---|
| Generatable or reverse engineerable personal information? | No |
| How often is dataset reviewed? | Before Release |
| Is there provenance for all datasets used in training? | Yes |
| Does data labeling (annotation, metadata) comply with privacy laws? | Yes |
| Applicable Privacy Policy | https://www.nvidia.com/en-us/about-nvidia/privacy-policy |
| Field | Response |
|---|---|
| Model Application(s): | Embedding of text and videos for physical AI applications (robotics, autonomous vehicles). |
| Describe the life critical impact (if present). | None Known |
| Use Case Restrictions: | NVIDIA Open Model License. Additional Information: Apache License 2.0; MIT. |
| Model and dataset restrictions: | The Principle of least privilege (PoLP) is applied limiting access for dataset generation and model development. Restrictions enforce dataset access during training, and dataset license constraints adhered to. Model checkpoints are made available on Hugging Face, and may become available on cloud providers' model catalog. |