Instructions to use nvidia/Cosmos3-Super-Image2Video with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Cosmos
How to use nvidia/Cosmos3-Super-Image2Video with Cosmos:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Diffusers
How to use nvidia/Cosmos3-Super-Image2Video with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline from diffusers.utils import load_image, export_to_video # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("nvidia/Cosmos3-Super-Image2Video", dtype=torch.bfloat16, device_map="cuda") pipe.to("cuda") prompt = "A man with short gray hair plays a red electric guitar." image = load_image( "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/guitar-man.png" ) output = pipe(image=image, prompt=prompt).frames[0] export_to_video(output, "output.mp4") - Notebooks
- Google Colab
- Kaggle
Commit ·
8889131
0
Parent(s):
Super-squash branch 'main' using huggingface_hub
Browse filesCo-authored-by: zekunhao <zekunhao@users.noreply.huggingface.co>
Co-authored-by: CYChenv <CYChenv@users.noreply.huggingface.co>
Co-authored-by: tangyue0820 <tangyue0820@users.noreply.huggingface.co>
Co-authored-by: harrim-nv <harrim-nv@users.noreply.huggingface.co>
Co-authored-by: liang1225 <liang1225@users.noreply.huggingface.co>
Co-authored-by: mli0603 <mli0603@users.noreply.huggingface.co>
Co-authored-by: mbalaNV <mbalaNV@users.noreply.huggingface.co>
This view is limited to 50 files because it contains too many changes. See raw diff
- .gitattributes +39 -0
- BIAS.md +11 -0
- EXPLAINABILITY.md +16 -0
- PRIVACY.md +6 -0
- README.md +505 -0
- SAFETY.md +11 -0
- assets/benchmark-image2video-leaderboard-all-models.png +3 -0
- assets/benchmark-image2video-leaderboard.png +3 -0
- assets/example_first_frame.png +3 -0
- assets/example_original_prompt.txt +1 -0
- assets/example_output.mp4 +3 -0
- assets/example_output_diffusers.mp4 +3 -0
- assets/example_prompt.json +1 -0
- chat_template.json +3 -0
- checkpoint.json +17 -0
- config.json +244 -0
- generation_config.json +14 -0
- merges.txt +0 -0
- model.safetensors.index.json +0 -0
- model_index.json +24 -0
- preprocessor_config.json +21 -0
- scheduler/scheduler_config.json +33 -0
- scripts/gen_video.py +64 -0
- scripts/upsample_prompt.py +168 -0
- text_tokenizer/added_tokens.json +28 -0
- text_tokenizer/chat_template.jinja +120 -0
- text_tokenizer/merges.txt +0 -0
- text_tokenizer/special_tokens_map.json +31 -0
- text_tokenizer/tokenizer.json +3 -0
- text_tokenizer/tokenizer_config.json +239 -0
- text_tokenizer/vocab.json +0 -0
- tokenizer.json +0 -0
- tokenizer_config.json +239 -0
- transformer/config.json +54 -0
- transformer/diffusion_pytorch_model-00001-of-00027.safetensors +3 -0
- transformer/diffusion_pytorch_model-00002-of-00027.safetensors +3 -0
- transformer/diffusion_pytorch_model-00003-of-00027.safetensors +3 -0
- transformer/diffusion_pytorch_model-00004-of-00027.safetensors +3 -0
- transformer/diffusion_pytorch_model-00005-of-00027.safetensors +3 -0
- transformer/diffusion_pytorch_model-00006-of-00027.safetensors +3 -0
- transformer/diffusion_pytorch_model-00007-of-00027.safetensors +3 -0
- transformer/diffusion_pytorch_model-00008-of-00027.safetensors +3 -0
- transformer/diffusion_pytorch_model-00009-of-00027.safetensors +3 -0
- transformer/diffusion_pytorch_model-00010-of-00027.safetensors +3 -0
- transformer/diffusion_pytorch_model-00011-of-00027.safetensors +3 -0
- transformer/diffusion_pytorch_model-00012-of-00027.safetensors +3 -0
- transformer/diffusion_pytorch_model-00013-of-00027.safetensors +3 -0
- transformer/diffusion_pytorch_model-00014-of-00027.safetensors +3 -0
- transformer/diffusion_pytorch_model-00015-of-00027.safetensors +3 -0
- transformer/diffusion_pytorch_model-00016-of-00027.safetensors +3 -0
.gitattributes
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
*.7z filter=lfs diff=lfs merge=lfs -text
|
| 2 |
+
*.arrow filter=lfs diff=lfs merge=lfs -text
|
| 3 |
+
*.bin filter=lfs diff=lfs merge=lfs -text
|
| 4 |
+
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
| 5 |
+
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
| 6 |
+
*.ftz filter=lfs diff=lfs merge=lfs -text
|
| 7 |
+
*.gz filter=lfs diff=lfs merge=lfs -text
|
| 8 |
+
*.h5 filter=lfs diff=lfs merge=lfs -text
|
| 9 |
+
*.joblib filter=lfs diff=lfs merge=lfs -text
|
| 10 |
+
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
| 11 |
+
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
| 12 |
+
*.model filter=lfs diff=lfs merge=lfs -text
|
| 13 |
+
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
| 14 |
+
*.npy filter=lfs diff=lfs merge=lfs -text
|
| 15 |
+
*.npz filter=lfs diff=lfs merge=lfs -text
|
| 16 |
+
*.onnx filter=lfs diff=lfs merge=lfs -text
|
| 17 |
+
*.ot filter=lfs diff=lfs merge=lfs -text
|
| 18 |
+
*.parquet filter=lfs diff=lfs merge=lfs -text
|
| 19 |
+
*.pb filter=lfs diff=lfs merge=lfs -text
|
| 20 |
+
*.pickle filter=lfs diff=lfs merge=lfs -text
|
| 21 |
+
*.pkl filter=lfs diff=lfs merge=lfs -text
|
| 22 |
+
*.pt filter=lfs diff=lfs merge=lfs -text
|
| 23 |
+
*.pth filter=lfs diff=lfs merge=lfs -text
|
| 24 |
+
*.rar filter=lfs diff=lfs merge=lfs -text
|
| 25 |
+
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
| 26 |
+
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
| 27 |
+
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
| 28 |
+
*.tar filter=lfs diff=lfs merge=lfs -text
|
| 29 |
+
*.tflite filter=lfs diff=lfs merge=lfs -text
|
| 30 |
+
*.tgz filter=lfs diff=lfs merge=lfs -text
|
| 31 |
+
*.wasm filter=lfs diff=lfs merge=lfs -text
|
| 32 |
+
*.xz filter=lfs diff=lfs merge=lfs -text
|
| 33 |
+
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
+
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
+
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
text_tokenizer/tokenizer.json filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
*.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 38 |
+
*.png filter=lfs diff=lfs merge=lfs -text
|
| 39 |
+
*.gif filter=lfs diff=lfs merge=lfs -text
|
BIAS.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
## Bias
|
| 2 |
+
|
| 3 |
+
| Field | Response |
|
| 4 |
+
| :---- | :---- |
|
| 5 |
+
| Participation considerations from adversely impacted groups [protected classes](https://www.senate.ca.gov/content/protected-classes) in model design and testing | None. |
|
| 6 |
+
| Measures taken to mitigate against unwanted bias | Training, evaluation, and testing data are curated before release to filter restricted content, including content relating to protected classes. Model behavior is evaluated across Physical AI domains — robotics, autonomous vehicles, human-centric scenes, common scenes, industry, miscellaneous, and physics-oriented benchmarks — with attention to coverage across diverse demographic and contextual characteristics that affect protected-class outcomes. |
|
| 7 |
+
| Which characteristic (feature) show(s) the greatest difference in performance?: | Greatest performance differences are observed in tasks requiring long-horizon temporal consistency, fine-grained physical interactions, and embodiment-specific action generation. Performance is generally stronger on common visual reasoning and world-generation tasks than on complex multi-agent, robotics-control, or tightly synchronized multimodal generation scenarios. |
|
| 8 |
+
| Which feature(s) have the worst performance overall? | Performance is generally weakest in tasks requiring long-horizon temporal consistency, precise physical interactions, embodiment-specific action control, and strict audio-visual synchronization. |
|
| 9 |
+
| If using internal data, description of methods implemented in data acquisition or processing, if any, to address the prevalence of identifiable biases in the training, testing, and validation data: | Bias-specific methods applied during data processing include person-presence screening, demographic-taxonomy classification (age, gender, ethnicity), embedding-based diversity analysis, and dataset balancing across sources. Internal analysis surfaced: non-person scenes are more prevalent than person-centric content; demographic-taxonomy outputs on person-present samples are most frequently "uncertain" across age, gender, and ethnicity dimensions; and source-type variation, with people-centric image and video datasets showing higher demographic signal than document-, object-, robotics-, or scene-focused datasets. *(Quantitative details in the row below.)* Downstream deployments should add bias audits, fairness evaluation, red-teaming, demographically balanced fine-tuning, or counterfactual augmentation as mitigations. |
|
| 10 |
+
| Tools used to assess statistical imbalances and highlight patterns that may introduce bias into AI models: | Dataset analytics pipelines, metadata distribution analysis, heuristic quality checks, embedding-based clustering, model-assisted filtering systems, and benchmark evaluation suites are used to assess statistical imbalances and identify patterns that may introduce bias into model behavior. |
|
| 11 |
+
| Tools used to assess statistical imbalances and highlight patterns that may introduce bias into AI models: | These datasets, such as OpenImages-derived detection-to-NLP datasets, visual grounding and VQA datasets, document/image understanding datasets, video/action understanding datasets, and NVIDIA-created or curated visual datasets, do not collectively or exhaustively represent all demographic groups (and proportionally therein). For instance, automated person-presence screening did not identify a person in approximately 58% of visual samples analyzed across approximately 400 datasets, while person-present signals were identified in approximately 42% of analyzed samples. In the subset where person-present signals were identified, these datasets contain uneven representation splits across the measured visual taxonomies: age outputs were most frequently uncertain, followed by child and adult; gender outputs were most frequently uncertain, followed by male and female; and ethnicity outputs were most frequently uncertain, followed by Hispanic and White as the most frequent identified categories. Dataset-level results vary by source type, with people-centric image and video datasets containing higher person-present and demographic-taxonomy signals than document-, object-, robotics-, or scene-focused datasets. To mitigate these imbalances, we recommend considering evaluation techniques such as bias audits, task-specific fairness evaluation, and red-teaming, along with fine-tuning with demographically balanced datasets and counterfactual data augmentation to align with the desired model behavior. This evaluation used a baseline of 200 samples across all datasets, with larger subsets of up to 3,000 samples utilized for certain in-depth analyses, identified as optimal thresholds for maximizing embedder accuracy. |
|
EXPLAINABILITY.md
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
## Explainability
|
| 2 |
+
|
| 3 |
+
| Field | Response |
|
| 4 |
+
| :---- | :---- |
|
| 5 |
+
| Intended Application & Domain | World reasoning and generation for Physical AI. |
|
| 6 |
+
| Model Type | Mixture-of-Transformers architecture with two towers. One is an autoregressive model for Physical AI reasoning; the other is a diffusion model for Physical AI generation. |
|
| 7 |
+
| Intended Users | Physical AI developers, researchers, and practitioners building or evaluating autonomous vehicle, robotics, and world-generation workflows. |
|
| 8 |
+
| Output | Images, videos, audio, and action commands. |
|
| 9 |
+
| Tools used to evaluate datasets to identify synthetic data and ensure data authenticity. | Dataset provenance analysis, metadata validation, watermark and artifact detection, embedding-based clustering, heuristic quality checks, and model-assisted data validation pipelines are used to identify synthetic content patterns, assess dataset authenticity, and improve data quality during dataset curation. |
|
| 10 |
+
| Describe how the model works | Cosmos3 is an Omni world foundation model that generates texts, images, videos, audio, and action commands from combinations of text, images, videos, and action trajectory inputs. Input tokens from multiple modalities are packed into a shared sequence and processed by our mixture-of-transformer backbone with modality-specific output heads. |
|
| 11 |
+
| Name the adversely impacted groups this has been tested to deliver comparable outcomes regardless of: | None. |
|
| 12 |
+
| Technical Limitations | The model may not follow text, image, video, audio, or action trajectory inputs accurately in challenging cases, especially where the input contains complex scene composition, unusual camera motion, multiple interacting agents, low lighting, high motion blur, or fine-grained physical interactions. Generated outputs may contain temporal inconsistency, object morphing, inaccurate 3D structure, or implausible physical dynamics. Generated audio may not accurately render intelligible speech, or maintain strict temporal and semantic alignment with the visual context. |
|
| 13 |
+
| Verified to have met prescribed NVIDIA quality standards | Yes. |
|
| 14 |
+
| Performance Metrics | Video generation is measured using PAIBench-G, RBench, PhysicsIQ, and Artifical Analysis Image2Video benchmark. Image generation uses UniGenBench and Artifical Analysis Text2Image benchmark. For transfer evaluation, we use PAIBench-C and AVBench-C. Audio generation uses internal benchmarks. Action prediction uses metrics such as action MSE, Absolute Translation Error, Relative Translation Error, Relative Rotation Error, PSNR, and robotic task completion success rate. |
|
| 15 |
+
| Potential Known Risks | This model can generate synthetic media and may produce content that is offensive, unsafe, misleading, indecent, or unsuitable for a target deployment. Users should implement robust safety guardrails — including content filtering, abuse monitoring, and access controls — to reduce the risk of harmful outputs. Users are responsible for ensuring that their use of the model complies with all applicable laws and regulations, and for regularly reviewing and updating their guardrails as risks evolve. |
|
| 16 |
+
| Licensing | [OpenMDW1.1](https://openmdw.ai/) |
|
PRIVACY.md
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
## Privacy
|
| 2 |
+
| Privacy Information |
|
| 3 |
+
|---|
|
| 4 |
+
| The model was trained on large-scale publicly available data that may contain images, audio-video, and text relating to people. NVIDIA collected and used this data in compliance with applicable data protection and privacy laws. This model was not designed to derive insights or otherwise learn from any personal data contained in the datasets. |
|
| 5 |
+
| NVIDIA uses a combination of filters, data minimization techniques, and other guardrails to help prevent personal data from being recited by our models. We employ automated tools and data processing techniques during pre-training or training to identify and filter certain categories of personal data. For example, for text-bearing source and document components, our automated tools identified potential personal data such as person names, locations, and possible business or public-facing contact information such as email addresses and phone numbers. We reviewed and removed any verified instances of personal data through a combination of automated filtering and human-in-the-loop validation. |
|
| 6 |
+
| Please review NVIDIA's [Privacy Policy](https://www.nvidia.com/en-us/about-nvidia/privacy-policy/) for more information. |
|
README.md
ADDED
|
@@ -0,0 +1,505 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: other
|
| 3 |
+
license_name: openmdw1.1-license
|
| 4 |
+
license_link: >-
|
| 5 |
+
https://openmdw.ai/license/1-1/
|
| 6 |
+
library_name: cosmos
|
| 7 |
+
tags:
|
| 8 |
+
- nvidia
|
| 9 |
+
- cosmos
|
| 10 |
+
- cosmos3
|
| 11 |
+
- vllm-omni
|
| 12 |
+
- diffusers
|
| 13 |
+
- image-to-video
|
| 14 |
+
- video-generation
|
| 15 |
+
---
|
| 16 |
+
|
| 17 |
+
# **Cosmos 3: Omnimodal World Models for Physical AI**
|
| 18 |
+
**[Model Collection](https://huggingface.co/collections/nvidia/cosmos3)** | **[Code](https://github.com/nvidia/cosmos)** | **[White Paper](https://research.nvidia.com/labs/cosmos-lab/cosmos3/technical-report.pdf)** | **[Website](https://research.nvidia.com/labs/cosmos-lab/cosmos3/)**
|
| 19 |
+
|
| 20 |
+
[NVIDIA Cosmos™](https://github.com/nvidia/cosmos) is a world foundation model platform designed to accelerate the development of Physical AI by enabling machines to understand, simulate, and interact with the physical world across robotics, autonomous driving, and smart space environments, including industrial and factory-scale applications.
|
| 21 |
+
|
| 22 |
+
# Model Overview: Cosmos3-Super-Image2Video
|
| 23 |
+
|
| 24 |
+
## Description
|
| 25 |
+
|
| 26 |
+
Cosmos3 is a collection of Omnimodal world models capable of generating dynamic, high-quality video, image, audio, and action commands from combinations of text, image, video, and action trajectory inputs. It serves as a foundational building block for a broad range of Physical AI applications and research spanning world understanding, world generation, simulation, and embodied policy learning.
|
| 27 |
+
|
| 28 |
+
This model is ready for commercial and non-commercial use.
|
| 29 |
+
|
| 30 |
+
**Model Developer:** NVIDIA
|
| 31 |
+
|
| 32 |
+
### Model Versions
|
| 33 |
+
- Cosmos3-Nano:
|
| 34 |
+
- Given multimodal inputs including text, images, video, audio, and action trajectories, generate coherent text, images, video, audio, and action outputs for multimodal understanding, world simulation, future prediction, action reasoning, and Physical AI applications.
|
| 35 |
+
|
| 36 |
+
- Cosmos3-Super:
|
| 37 |
+
- Given multimodal inputs including text, images, video, audio, and action trajectories, generate coherent text, images, video, audio, and action outputs for multimodal understanding, world simulation, future prediction, action reasoning, and Physical AI applications.
|
| 38 |
+
|
| 39 |
+
- Cosmos3-Nano-Policy-DROID:
|
| 40 |
+
- Given language instructions and visual observations from the DROID robot platform, generate robot action trajectories for manipulation and control tasks.
|
| 41 |
+
|
| 42 |
+
- Cosmos3-Super-Image2Video:
|
| 43 |
+
- Given one input image and text instructions, generate temporally coherent video sequences that are consistent with the provided visual content.
|
| 44 |
+
|
| 45 |
+
- Cosmos3-Super-Text2Image:
|
| 46 |
+
- Given text input, generate high-fidelity images that are consistent with the provided description.
|
| 47 |
+
|
| 48 |
+
### License
|
| 49 |
+
|
| 50 |
+
This model is released under the [OpenMDW1.1](https://openmdw.ai/license/1-1/)
|
| 51 |
+
|
| 52 |
+
### Deployment Geography
|
| 53 |
+
|
| 54 |
+
Global
|
| 55 |
+
|
| 56 |
+
### Use Case
|
| 57 |
+
|
| 58 |
+
Physical AI: Encompassing robotics, autonomous vehicles (AV), and smart space environments, including industrial and factory-scale applications.
|
| 59 |
+
|
| 60 |
+
### Release Date
|
| 61 |
+
|
| 62 |
+
Hugging Face 05/31/2026 via [https://huggingface.co/collections/nvidia/cosmos3](https://huggingface.co/collections/nvidia/cosmos3)
|
| 63 |
+
GitHub 05/31/2026 via [https://github.com/nvidia/cosmos](https://github.com/nvidia/cosmos)
|
| 64 |
+
|
| 65 |
+
## Model Architecture
|
| 66 |
+
|
| 67 |
+
**Architecture Type:** Transformer
|
| 68 |
+
|
| 69 |
+
**Network Architecture:** Mixture-of-Transformers (MoT)
|
| 70 |
+
|
| 71 |
+
Cosmos3 is an Omni-modal foundation model built on a Mixture-of-Transformers (MoT) architecture consisting of two complementary transformer towers: an autoregressive transformer for discrete token generation and a diffusion transformer for continuous multimodal generation. During inference, text is generated through standard next-token autoregressive decoding, while non-text modalities, such as images, video, audio, and actions, are synthesized through iterative denoising. This unified architecture enables Cosmos3 to model heterogeneous modalities within a single framework while preserving generation mechanisms best suited to each modality.
|
| 72 |
+
|
| 73 |
+
**This model was developed based on:** [Cosmos Framework](https://github.com/nvidia/cosmos-framework)
|
| 74 |
+
|
| 75 |
+
**Number of trainable model parameters:**
|
| 76 |
+
|
| 77 |
+
- Cosmos3-Nano: 16B
|
| 78 |
+
- Cosmos3-Super: 64B
|
| 79 |
+
- Cosmos3-Nano-Policy-DROID: 16B
|
| 80 |
+
- Cosmos3-Super-Image2Video: 64B
|
| 81 |
+
- Cosmos3-Super-Text2Image: 64B
|
| 82 |
+
|
| 83 |
+
## Input/Output Specifications
|
| 84 |
+
|
| 85 |
+
- **Generator Input**
|
| 86 |
+
- **Input Type(s)**: Text, Image, Video (with audio or without audio), Action Trajectory
|
| 87 |
+
- **Input Format(s)**:
|
| 88 |
+
- Text: String
|
| 89 |
+
- Image: jpg, png, jpeg, webp
|
| 90 |
+
- Video (with or without audio): mp4
|
| 91 |
+
- Action: json (1D list)
|
| 92 |
+
- **Input Parameters**:
|
| 93 |
+
- Text: One-dimensional (1D)
|
| 94 |
+
- Image: Two-dimensional (2D)
|
| 95 |
+
- Video: Three-dimensional (3D)
|
| 96 |
+
- Audio: One-dimensional (1D)
|
| 97 |
+
- Action trajectory: One-dimensional (1D)
|
| 98 |
+
- **Other Properties Related to Input**:
|
| 99 |
+
- For video inputs, we accept various resolutions, including 720p, 480p, and 256p.
|
| 100 |
+
- When using input video with audio muxed into the video MP4 file, the audio should have 2 channels (stereo) and a 48 kHz sample rate.
|
| 101 |
+
- Image and video inputs are RGB color (8 bits per channel, sRGB color space); grayscale inputs are not supported.
|
| 102 |
+
- Action input is a per-frame sequence of robot/agent state or control values (e.g., joint positions, gripper state, camera pose). The full input is a 2D array shaped (T, D), where T is the number of frames and D is the embodiment-specific dimensionality listed below.
|
| 103 |
+
- Input action is only supported for compatible embodiments, including general camera motion (9D), autonomous vehicle (9D), egocentric motion (57D), single Franka Panda arm with RobotiQ gripper (10D), dual Franka Panda arm with RobotiQ gripper (20D), Agibot (29D), UR (10D), Google robot (10D), WidowX 250 (10D), UMI (9D).
|
| 104 |
+
- **Input Size and Length limits:**
|
| 105 |
+
- **Text:** 4096 tokens
|
| 106 |
+
- **Image:** 256p, 480p, and 720p resolution at one of these aspect ratios (16:9, 4:3, 1:1, 3:4, 9:16)
|
| 107 |
+
- **Video:** 256p, 480p, and 720p resolution at one of these aspect ratios (16:9, 4:3, 1:1, 3:4, 9:16). Max number of frames = 5.
|
| 108 |
+
- **Audio:** Max 0.5 second
|
| 109 |
+
- **Action:** 16 – 400 video frames
|
| 110 |
+
- **Generator Output**
|
| 111 |
+
- **Output Type(s)**: Image, video, audio, action, text
|
| 112 |
+
- **Output Format(s)**:
|
| 113 |
+
- Image: JPG
|
| 114 |
+
- Video: MP4
|
| 115 |
+
- Audio: Advanced Audio Coding (AAC) stream (muxed within the MP4)
|
| 116 |
+
- Action: 1D list (.json)
|
| 117 |
+
- Text: string
|
| 118 |
+
- **Output Parameters**:
|
| 119 |
+
- Image: Two-dimensional (2D)
|
| 120 |
+
- Video: Three-dimensional (3D)
|
| 121 |
+
- Audio: One-dimensional (1D)
|
| 122 |
+
- Action: One-dimensional (1D)
|
| 123 |
+
- Text: One-dimensional (1D)
|
| 124 |
+
- **Other Properties Related to Output**:
|
| 125 |
+
- The generated video is an MP4 file, with the resolution, frame rate, and duration specified in the input. The generated audio is encoded in AAC format, muxed into the video MP4 file with 2 channels (stereo) and a 48 kHz sample rate.
|
| 126 |
+
- Video generation supports durations from 5 to 400 frames, with 189 frames as the default generation duration.
|
| 127 |
+
- The generated action is only supported for compatible embodiments, including general camera motion (9D), autonomous vehicle (9D), egocentric motion (57D), single Franka Panda arm with RobotiQ gripper (10D), dual Franka Panda arm with RobotiQ gripper (20D), Agibot (29D), UR (10D), Google robot (10D), WidowX 250 (10D), UMI (9D).
|
| 128 |
+
- Audio: 48 kHz stereo AAC stream muxed into video mp4
|
| 129 |
+
- Video: mp4 at the FPS specified in input
|
| 130 |
+
- Image: JPEG
|
| 131 |
+
- **Reasoner Input**
|
| 132 |
+
- **Input Type(s)**: Text, Text+Image, Text+Video
|
| 133 |
+
- **Input Format(s)**:
|
| 134 |
+
- Text: String
|
| 135 |
+
- Image: jpg, png, jpeg, webp
|
| 136 |
+
- Video: mp4
|
| 137 |
+
- **Input Parameters**:
|
| 138 |
+
- Text: One-dimensional (1D)
|
| 139 |
+
- Image: Two-dimensional (2D)
|
| 140 |
+
- Video: Three-dimensional (3D)
|
| 141 |
+
- **Other Properties Related to Input**:
|
| 142 |
+
- Video inputs are recommended at a frame rate of 4 fps.
|
| 143 |
+
- Long-context inputs supported up to 256K tokens.
|
| 144 |
+
- **Input Size and Length limits:**
|
| 145 |
+
- **Text:** Up to 256K tokens (context window).
|
| 146 |
+
- **Image:** Standard input image formats; passed as file or URL.
|
| 147 |
+
- **Video:** mp4 at the recommended 4 fps.
|
| 148 |
+
- **Reasoner Output**
|
| 149 |
+
- **Output Type(s)**: Text
|
| 150 |
+
- **Output Format(s)**:
|
| 151 |
+
- Text: string
|
| 152 |
+
- **Output Parameters**:
|
| 153 |
+
- Text: One-dimensional (1D)
|
| 154 |
+
- **Other Properties Related to Output**:
|
| 155 |
+
- Default `max_tokens=4096+` is recommended for reasoning outputs; longer outputs may be requested.
|
| 156 |
+
- Reasoning outputs may include structured chain-of-thought, 2D/3D point localization, and bounding-box coordinates for vision-based tasks.
|
| 157 |
+
|
| 158 |
+
The video content visualizes the input text description as a short animated scene, capturing key elements within the specified time constraints.
|
| 159 |
+
|
| 160 |
+
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.
|
| 161 |
+
|
| 162 |
+
## Software Integration
|
| 163 |
+
|
| 164 |
+
**Runtime Engine(s):**
|
| 165 |
+
|
| 166 |
+
- [PyTorch](https://github.com/nvidia/cosmos3)
|
| 167 |
+
- [vLLM-Omni](https://github.com/vllm-project/vllm-omni)
|
| 168 |
+
- [Hugging Face Diffusers](https://huggingface.co/docs/diffusers/en/index)
|
| 169 |
+
|
| 170 |
+
**Supported Hardware Microarchitecture Compatibility:**
|
| 171 |
+
|
| 172 |
+
- NVIDIA Ampere
|
| 173 |
+
- NVIDIA Blackwell
|
| 174 |
+
- NVIDIA Hopper
|
| 175 |
+
|
| 176 |
+
**Operating System(s):**
|
| 177 |
+
|
| 178 |
+
- Linux (We have not tested on other operating systems.)
|
| 179 |
+
|
| 180 |
+
**Note:** Only BF16 precision is tested. Other precisions like FP4, FP8, and FP16 are not officially supported.
|
| 181 |
+
|
| 182 |
+
The integration of foundation and fine-tuned models into AI systems requires additional testing using use-case-specific data to ensure safe and effective deployment. Following the V-model methodology, iterative testing and validation at both unit and system levels are essential to mitigate risks, meet technical and functional requirements, and ensure compliance with safety and ethical standards before deployment.
|
| 183 |
+
|
| 184 |
+
## Training, Testing, and Evaluation Datasets
|
| 185 |
+
|
| 186 |
+
### Dataset Overview
|
| 187 |
+
|
| 188 |
+
- **Total Size:** 1.3B data points
|
| 189 |
+
- **Total Number of Datasets:** 393 dataset entries
|
| 190 |
+
- **Dataset partition:** Training [100%], Testing [N/A — evaluation benchmarks used separately], Validation [N/A — evaluation benchmarks used separately]
|
| 191 |
+
- **Time period for training data collection:** 2024–2026
|
| 192 |
+
- **Time period for testing data collection:** N/A (standard public benchmarks)
|
| 193 |
+
- **Time period for validation data collection:** N/A (standard public benchmarks)
|
| 194 |
+
|
| 195 |
+
Raw data from internal and external sources is transformed into training-ready data through multiple stages of curation, filtering, and quality review. Data acquisition spans diverse multimodal sources — robotics, autonomous driving, industrial environments, indoor and outdoor scenes, varied lighting and weather conditions, camera viewpoints, object categories, and human activities — to broaden coverage across Physical AI operating environments. Automated filtering pipelines remove corrupted, duplicate, low-quality, and restricted content. Metadata analysis, heuristic rules, and model-assisted classifiers are applied during preprocessing to flag anomalous distributions and low-diversity subsets. Human review supplements automated filtering for selected datasets, benchmark construction, and targeted quality analysis. Datasets are balanced across modalities and task categories — visual reasoning, text-to-image, text-to-video, image-to-video, audio generation, video transfer, action-conditioned generation, and action command generation — to reduce overrepresentation of narrow domains. Synthetic and simulation-based augmentation supplements coverage of rare physical interactions and edge-case scenarios. Deduplication and provenance tracking are applied across the corpus. The resulting processed data is converted into model-ready tokenized or encoded representations through modality-specific preprocessors before training begins.
|
| 196 |
+
|
| 197 |
+
Training datasets passed through multiple layers of automated and manual safeguards designed to reduce the presence of harmful or policy-violating content across categories including weapons and weapons-related instructional content, criminal planning, child sexual abuse material (CSAM), non-consensual intimate imagery (NCII), sexual content involving minors, harassment, hate speech, profanity, threats and incitement to violence, self-harm or suicide-related content, and graphic violence. Data sources are reviewed for licensing compatibility, provenance, and alignment with internal data governance and safety policies before admission into training corpora. Automated filtering pipelines combine multiple detection strategies: hash-matching against known CSAM and NCII reference databases; classifier-based moderation models trained for explicit sexual content, hate speech, violence, weapons imagery, and other restricted categories; keyword and regex-based screening for criminal-planning, threats, and self-harm phrases in text data; metadata and provenance heuristics for source-level risk signals; and embedding-based anomaly detection to surface samples that fall outside expected distributions. Human review and targeted audits supplement automated filtering for selected datasets, benchmark construction, and safety-sensitive evaluation. For multimodal Physical AI data (robotics, autonomous driving, industrial scenes), additional filtering targets invalid action trajectories, physically implausible interactions, and unsafe control sequences. Synthetic and simulation-generated data are evaluated through internal validation before inclusion. Benchmark evaluations and red-team testing are applied post-training to surface remaining safety gaps across world generation, reasoning, audio, and action tasks. No large-scale data-filtering process can guarantee complete removal of all harmful content; residual risks may remain, particularly in rare edge cases or open-world deployment settings. Ongoing monitoring and dataset review continue post-release.
|
| 198 |
+
|
| 199 |
+
**Data Modality and Training Data Size**
|
| 200 |
+
|
| 201 |
+
| Modality | Reasoning Data Sample Count | Generation Data Sample Count |
|
| 202 |
+
| -------- | ------------------- | -------------------- |
|
| 203 |
+
| Text | 22M | Not Applicable |
|
| 204 |
+
| Image | 19M | 767M |
|
| 205 |
+
| Video | 1M | 348M |
|
| 206 |
+
| Audio | Not Applicable | 139M |
|
| 207 |
+
| Action | Not Applicable | 8M |
|
| 208 |
+
|
| 209 |
+
**Data Collection Method by dataset**
|
| 210 |
+
|
| 211 |
+
- Hybrid: Automatic/Sensors, Synthetic, Automated
|
| 212 |
+
|
| 213 |
+
**Labeling Method by dataset**
|
| 214 |
+
|
| 215 |
+
- Hybrid: Human, Automated
|
| 216 |
+
|
| 217 |
+
**Properties:** The training, testing, and evaluation datasets consist of diverse multimodal video, image, audio, action, synthetic, and sensor-conditioned data sourced from NVIDIA-owned data and publicly available, commercially permissive datasets. These datasets are curated to exclude known restricted content and to support building an Omni model that learns to generate and reason about dynamic physical environments across world reasoning and generation tasks.
|
| 218 |
+
|
| 219 |
+
### Public Datasets
|
| 220 |
+
|
| 221 |
+
| Dataset | Samples |
|
| 222 |
+
|---|---|
|
| 223 |
+
| OpenImage | 1.2M |
|
| 224 |
+
| Coyo700M | 100M |
|
| 225 |
+
| YouTube Video | 340M |
|
| 226 |
+
| UMI | 4.5M |
|
| 227 |
+
|
| 228 |
+
### Private Datasets
|
| 229 |
+
|
| 230 |
+
| Dataset | Samples |
|
| 231 |
+
|---|---|
|
| 232 |
+
| Egocentric | 7M |
|
| 233 |
+
| Nexar | 0.6M |
|
| 234 |
+
| AgiBot | 0.2M |
|
| 235 |
+
| HOI | 0.3M |
|
| 236 |
+
|
| 237 |
+
### Synthetic Datasets
|
| 238 |
+
|
| 239 |
+
| Dataset | Samples |
|
| 240 |
+
|---|---|
|
| 241 |
+
| synthetic images generated using HiDream-I1 | 15M |
|
| 242 |
+
| synthetic images generated using Qwen-Image-2512 | 14M |
|
| 243 |
+
| synthetic captions generated using Qwen3-VL | 1115M |
|
| 244 |
+
|
| 245 |
+
## Evaluation Datasets
|
| 246 |
+
|
| 247 |
+
**Data Collection Method by dataset**
|
| 248 |
+
|
| 249 |
+
- Hybrid: Automatic/Sensors, Synthetic, Automated
|
| 250 |
+
|
| 251 |
+
**Labeling Method by dataset**
|
| 252 |
+
|
| 253 |
+
- Hybrid: Human, Automated
|
| 254 |
+
|
| 255 |
+
**Properties:** The training, testing, and evaluation datasets consist of diverse multimodal video, image, audio, action, synthetic, and sensor-conditioned data sourced from NVIDIA-owned data and publicly available, commercially permissive datasets. These datasets are curated to exclude known restricted content and to support building an Omni model that learns to generate and reason about dynamic physical environments across world reasoning and generation tasks.
|
| 256 |
+
|
| 257 |
+
## Benchmarks
|
| 258 |
+
|
| 259 |
+
Please see our [technical paper](https://research.nvidia.com/labs/cosmos-lab/cosmos3/technical-report.pdf) for detailed evaluations of the base model.
|
| 260 |
+
|
| 261 |
+
### Artificial Analysis Leaderboard
|
| 262 |
+
|
| 263 |
+
#### Open-Source Models [2026/05/28/]
|
| 264 |
+
|
| 265 |
+

|
| 266 |
+
|
| 267 |
+
#### All Models [2026/05/28/] (Including Closed-Source)
|
| 268 |
+
|
| 269 |
+

|
| 270 |
+
|
| 271 |
+
## Usage
|
| 272 |
+
|
| 273 |
+
- See [Cosmos](https://github.com/nvidia/cosmos) for details.
|
| 274 |
+
|
| 275 |
+
### Prompt upsampling
|
| 276 |
+
|
| 277 |
+
For optimal quality, text prompts should be upsampled into a specific JSON structure. Description and code can be found [here](https://github.com/nvidia/cosmos-framework/blob/main/docs/prompt_upsampling.md).
|
| 278 |
+
|
| 279 |
+
For example, for prompt upsampling using Opus-4.7:
|
| 280 |
+
|
| 281 |
+
```bash
|
| 282 |
+
git clone https://github.com/NVIDIA/cosmos-framework.git packages/cosmos-framework
|
| 283 |
+
pip install -e packages/cosmos-framework
|
| 284 |
+
|
| 285 |
+
export PROMPT_UPSAMPLER_ENDPOINT_URL="https://api.anthropic.com/v1/"
|
| 286 |
+
export PROMPT_UPSAMPLER_MODEL_NAME="claude-opus-4-7"
|
| 287 |
+
export PROMPT_UPSAMPLER_API_TOKEN="<you_token>"
|
| 288 |
+
|
| 289 |
+
python -m cosmos_framework.inference.prompt_upsampling \
|
| 290 |
+
--input assets/example_original_prompt.txt \
|
| 291 |
+
--image-url assets/example_first_frame.png \
|
| 292 |
+
--output /tmp/upsampled_posttrain_i2v/ \
|
| 293 |
+
--mode posttrain_image2video \
|
| 294 |
+
--endpoint-url "${PROMPT_UPSAMPLER_ENDPOINT_URL}" \
|
| 295 |
+
--model "${PROMPT_UPSAMPLER_MODEL_NAME}" \
|
| 296 |
+
--api-token "${PROMPT_UPSAMPLER_API_TOKEN}" \
|
| 297 |
+
--resolution 480 \
|
| 298 |
+
--aspect-ratio "16,9" \
|
| 299 |
+
--duration 7s
|
| 300 |
+
```
|
| 301 |
+
|
| 302 |
+
The JSON-upsampled version of `assets/example_original_prompt.txt` is saved in `assets/example_prompt.json` for convenience, and is used for the video generation examples below.
|
| 303 |
+
|
| 304 |
+
### vLLM-Omni
|
| 305 |
+
|
| 306 |
+
#### Container
|
| 307 |
+
|
| 308 |
+
```
|
| 309 |
+
docker pull vllm/vllm-omni:cosmos3
|
| 310 |
+
```
|
| 311 |
+
|
| 312 |
+
#### General Invocation
|
| 313 |
+
|
| 314 |
+
You can use the release-tested `vllm-omni` package for deploying an OpenAI-compatible API inference endpoint.
|
| 315 |
+
The recommended vLLM-Omni serving configuration for nvidia/Cosmos3-Super-Image2Video on 8xH200, 8xH100, or 8xA100 is:
|
| 316 |
+
|
| 317 |
+
```bash
|
| 318 |
+
vllm serve nvidia/Cosmos3-Super-Image2Video \
|
| 319 |
+
--omni \
|
| 320 |
+
--host 0.0.0.0 \
|
| 321 |
+
--port 8000 \
|
| 322 |
+
--cfg-parallel-size 2 \
|
| 323 |
+
--ulysses-degree 4 \
|
| 324 |
+
--use-hsdp \
|
| 325 |
+
--hsdp-shard-size 8 \
|
| 326 |
+
--init-timeout 1800
|
| 327 |
+
```
|
| 328 |
+
|
| 329 |
+
With this configuration, video generation with 50 steps should take approximately 55 seconds on H200 GPUs. For 2xH200, one can simply use `--cfg-parallel-size 2 --use-hsdp --hsdp-shard-size 2`, and a video should take approximately 3 minutes to generate. Tensor parallelism is also supported by setting `--tensor-parallel-size`. Setting `--enable-layerwise-offload` can help reduce memory usage on GPUs with less available memory.
|
| 330 |
+
|
| 331 |
+
#### Download example prompts and scripts
|
| 332 |
+
|
| 333 |
+
The inference scripts (`scripts/`) and example inputs (`assets/`) live in this model repo. Download just those folders with the Hugging Face CLI:
|
| 334 |
+
|
| 335 |
+
```bash
|
| 336 |
+
pip install -U "huggingface_hub[cli]"
|
| 337 |
+
hf download nvidia/Cosmos3-Super-Image2Video scripts/ assets/ \
|
| 338 |
+
--local-dir Cosmos3-Super-Image2Video
|
| 339 |
+
cd Cosmos3-Super-Image2Video
|
| 340 |
+
```
|
| 341 |
+
|
| 342 |
+
Run all commands below from the downloaded repo root.
|
| 343 |
+
|
| 344 |
+
#### Example: image to video generation
|
| 345 |
+
|
| 346 |
+
Generate a video from a first-frame image and a JSON-format prompt by calling a vLLM-Omni endpoint:
|
| 347 |
+
|
| 348 |
+
```bash
|
| 349 |
+
python scripts/gen_video.py \
|
| 350 |
+
--endpoint <endpoint-url> \
|
| 351 |
+
--prompt-file assets/example_prompt.json \
|
| 352 |
+
--image-path assets/example_first_frame.png \
|
| 353 |
+
--output-path scripts/output.mp4
|
| 354 |
+
```
|
| 355 |
+
|
| 356 |
+
Or, as a minimal standalone script:
|
| 357 |
+
|
| 358 |
+
```python
|
| 359 |
+
import json
|
| 360 |
+
import requests
|
| 361 |
+
|
| 362 |
+
# 1. Read JSON-upsampled prompt (prompt + negative_prompt)
|
| 363 |
+
json_prompt = json.load(open("assets/example_prompt.json"))
|
| 364 |
+
|
| 365 |
+
# 2. Build your API payload
|
| 366 |
+
payload = {
|
| 367 |
+
"prompt": json_prompt["prompt"],
|
| 368 |
+
"negative_prompt": json_prompt["negative_prompt"],
|
| 369 |
+
"size": "832x480",
|
| 370 |
+
"num_frames": 189,
|
| 371 |
+
"fps": 24,
|
| 372 |
+
"num_inference_steps": 50,
|
| 373 |
+
"guidance_scale": 6.0,
|
| 374 |
+
"flow_shift": 5.0,
|
| 375 |
+
"extra_params": json.dumps(
|
| 376 |
+
{
|
| 377 |
+
"use_resolution_template": False,
|
| 378 |
+
"use_duration_template": False,
|
| 379 |
+
"guardrails": True,
|
| 380 |
+
}
|
| 381 |
+
),
|
| 382 |
+
}
|
| 383 |
+
files = {"input_reference": ("input.png", open("assets/example_first_frame.png", "rb"), "image/png")}
|
| 384 |
+
|
| 385 |
+
# 3. Send the POST request
|
| 386 |
+
url = "http://localhost:8000/v1/videos/sync"
|
| 387 |
+
print("Sending request to server...")
|
| 388 |
+
response = requests.post(url, data=payload, files=files, headers={"Accept": "video/mp4"})
|
| 389 |
+
response.raise_for_status()
|
| 390 |
+
|
| 391 |
+
# 4. Save the returned MP4 bytes
|
| 392 |
+
with open("/tmp/cosmos3_i2v.mp4", "wb") as video_file:
|
| 393 |
+
video_file.write(response.content)
|
| 394 |
+
print("Saved video to /tmp/cosmos3_i2v.mp4")
|
| 395 |
+
```
|
| 396 |
+
|
| 397 |
+
Example output generated from `assets/example_first_frame.png`:
|
| 398 |
+
|
| 399 |
+
<video controls width="832" height="480" src="https://huggingface.co/nvidia/Cosmos3-Super-Image2Video/resolve/main/assets/example_output.mp4"></video>
|
| 400 |
+
|
| 401 |
+
#### Inferencing with custom prompts
|
| 402 |
+
|
| 403 |
+
Cosmos3-Super-Image2Video uses JSON-format prompts for optimal quality. The recommended way is to utilize [cosmos-framework](#prompt-upsampling). Here we provide a simple proof-of-concept script for convenience. It requires an OpenAI-compatible VLM model like `claude-opus-4.7` and `gpt-5.5`.
|
| 404 |
+
|
| 405 |
+
```bash
|
| 406 |
+
export PROMPT_UPSAMPLER_API_KEY="..."
|
| 407 |
+
python scripts/upsample_prompt.py \
|
| 408 |
+
--model-name <model> \
|
| 409 |
+
--base-url <VLM-endpoint-url> \
|
| 410 |
+
--image-path assets/example_first_frame.png \
|
| 411 |
+
--user-prompt "The ice cream melts and gradually disappears. The camera moves around." \
|
| 412 |
+
--output-path scripts/upsampled.json
|
| 413 |
+
```
|
| 414 |
+
|
| 415 |
+
### Diffusers
|
| 416 |
+
|
| 417 |
+
Cosmos3 is fully supported within the popular HuggingFace Diffusers package. This integration makes it a supported inference backend, allowing developers to easily incorporate Cosmos3's capabilities - such as text-to-image generation - into their pipelines using the Cosmos3OmniPipeline class, as demonstrated by the provided code examples (see examples for other modalities on the HuggingFace Cosmos3 page).
|
| 418 |
+
|
| 419 |
+
#### Installation
|
| 420 |
+
|
| 421 |
+
To install diffusers with Cosmos3OmniPipeline:
|
| 422 |
+
```
|
| 423 |
+
uv venv --python 3.13 --seed --managed-python
|
| 424 |
+
source .venv/bin/activate
|
| 425 |
+
uv pip install \
|
| 426 |
+
"diffusers @ git+https://github.com/huggingface/diffusers.git" \
|
| 427 |
+
accelerate \
|
| 428 |
+
av \
|
| 429 |
+
cosmos_guardrail \
|
| 430 |
+
huggingface_hub \
|
| 431 |
+
imageio \
|
| 432 |
+
imageio-ffmpeg \
|
| 433 |
+
torch \
|
| 434 |
+
torchvision \
|
| 435 |
+
transformers
|
| 436 |
+
```
|
| 437 |
+
|
| 438 |
+
#### Example: image to video generation with Diffusers
|
| 439 |
+
|
| 440 |
+
The following example generates a video in approximately 170 seconds on a single GB200.
|
| 441 |
+
|
| 442 |
+
```python
|
| 443 |
+
import json
|
| 444 |
+
|
| 445 |
+
import torch
|
| 446 |
+
from diffusers import Cosmos3OmniPipeline, UniPCMultistepScheduler
|
| 447 |
+
from diffusers.utils import export_to_video, load_image
|
| 448 |
+
|
| 449 |
+
pipe = Cosmos3OmniPipeline.from_pretrained(
|
| 450 |
+
"nvidia/Cosmos3-Super-Image2Video",
|
| 451 |
+
torch_dtype=torch.bfloat16,
|
| 452 |
+
device_map="cuda",
|
| 453 |
+
enable_safety_checker=True,
|
| 454 |
+
)
|
| 455 |
+
pipe.scheduler = UniPCMultistepScheduler.from_config(pipe.scheduler.config, flow_shift=5.0)
|
| 456 |
+
|
| 457 |
+
image = load_image("assets/example_first_frame.png")
|
| 458 |
+
|
| 459 |
+
# JSON-format prompt (see scripts/upsample_prompt.py to build your own).
|
| 460 |
+
spec = json.load(open("assets/example_prompt.json"))
|
| 461 |
+
prompt = spec["prompt"]
|
| 462 |
+
negative_prompt = spec["negative_prompt"]
|
| 463 |
+
|
| 464 |
+
result = pipe(
|
| 465 |
+
prompt=prompt,
|
| 466 |
+
negative_prompt=negative_prompt,
|
| 467 |
+
image=image,
|
| 468 |
+
num_frames=189,
|
| 469 |
+
height=480,
|
| 470 |
+
width=832,
|
| 471 |
+
fps=24.0,
|
| 472 |
+
num_inference_steps=50,
|
| 473 |
+
guidance_scale=6.0,
|
| 474 |
+
add_resolution_template=False,
|
| 475 |
+
add_duration_template=False,
|
| 476 |
+
)
|
| 477 |
+
|
| 478 |
+
export_to_video(result.video, "output.mp4", fps=24, quality=7, macro_block_size=1)
|
| 479 |
+
```
|
| 480 |
+
|
| 481 |
+
Example output generated by Diffusers:
|
| 482 |
+
|
| 483 |
+
<video controls width="832" height="480" src="https://huggingface.co/nvidia/Cosmos3-Super-Image2Video/resolve/main/assets/example_output_diffusers.mp4"></video>
|
| 484 |
+
|
| 485 |
+
## Limitations
|
| 486 |
+
|
| 487 |
+
Cosmos3 may produce imperfect outputs in challenging scenarios. Generation artifacts include temporal inconsistency, unstable camera or object motion, imprecise physical interactions, inaccurate audio-video synchronization, and action-state drift — especially in long-horizon or high-resolution outputs. Reasoning may also be incorrect: object states, causal relationships, spatial geometry, temporal ordering, agent intent, and future outcomes can be misinferred, and complex or long-context inputs may yield hallucinated entities, inconsistent interpretations, or implausible predictions. Because the model lacks an explicit physics simulator, 3D geometry, 4D space-time evolution, object permanence, contact dynamics, and physical laws are only approximated — producing artifacts such as disappearing or morphing objects, unrealistic collisions, and physically implausible motions. Quality further degrades in out-of-distribution environments, safety-critical edge cases, and domains underrepresented in training.
|
| 488 |
+
|
| 489 |
+
Cosmos3 outputs should not be treated as physically accurate simulation, reliable ground-truth reasoning, or safety-certified decision making. Applications involving robotics control, autonomous systems, scientific simulation, or safety-critical planning require additional validation, external constraints, system-level safety analysis, and domain-specific guardrails before deployment.
|
| 490 |
+
|
| 491 |
+
## Inference
|
| 492 |
+
|
| 493 |
+
**Acceleration Engine:** [PyTorch](https://pytorch.org/), [vLLM](https://github.com/vllm-project/vllm), [vLLM-Omni](https://github.com/vllm-project/vllm-omni), [Hugging Face Diffusers](https://github.com/huggingface/diffusers)
|
| 494 |
+
|
| 495 |
+
**Test Hardware:** GB200 and H100
|
| 496 |
+
|
| 497 |
+
## Ethical Considerations
|
| 498 |
+
|
| 499 |
+
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. 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.
|
| 500 |
+
|
| 501 |
+
Please make sure you have proper rights and permissions for all input image and video content; if image or video includes people, personal health information, or intellectual property, the image or video generated will not blur or maintain proportions of image subjects included.
|
| 502 |
+
|
| 503 |
+
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.
|
| 504 |
+
|
| 505 |
+
For more detailed information on ethical considerations for this model, please see the Model Card++ [Explainability](EXPLAINABILITY.md), [Bias](BIAS.md), [Safety & Security](SAFETY.md), and [Privacy](PRIVACY.md) subcards. Please report model quality, risk, security vulnerabilities or NVIDIA AI Concerns [here](https://www.nvidia.com/en-us/support/submit-security-vulnerability/).
|
SAFETY.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
## Safety & Security
|
| 2 |
+
|
| 3 |
+
| Field | Response |
|
| 4 |
+
| :---- | :---- |
|
| 5 |
+
| Model Application(s) | World reasoning and generation for Physical AI. |
|
| 6 |
+
| Describe the life critical impact: | This model is not a safety-certified component and must not be used as the sole basis for life-critical decisions or control without additional system-level validation, safety analysis, and safeguards. The model is not designed or tested by NVIDIA for use in any system or application where the use of or failure of such system or application developed with the model could result in injury, death, or catastrophic damage. NVIDIA is not liable to any party, in whole or in part, for any claims or damages arising from those uses. Any system or application developed with the model must include sufficient safety and redundancy features and comply with applicable legal and regulatory standards and requirements. |
|
| 7 |
+
| Description of methods implemented in data acquisition or processing, if any, to address other types of potentially harmful data in the training, testing, and validation data: | Training, evaluation, and validation datasets pass through multi-stage automated and manual filtering to reduce harmful, unsafe, restricted, or policy-violating content. Pipelines include source-licensing review, deduplication, metadata-based and classifier-based moderation, embedding-based anomaly detection, and human audits on selected datasets. For Physical AI data (robotics, autonomous driving, industrial scenes), filtering also targets invalid action trajectories, physically implausible interactions, and unsafe control sequences. Synthetic and simulation-generated data are evaluated through internal validation before inclusion. Benchmark and red-team testing surface remaining safety gaps across world generation, reasoning, audio, and action tasks. No data-filtering process can guarantee complete removal; developers are responsible for application-specific safeguards and validation before deployment. |
|
| 8 |
+
| Description of any methods implemented in data acquisition or processing, if any, to address illegal or harmful content in the training data, including, but not limited to, child sexual abuse material (CSAM) and non-consensual intimate imagery (NCII) | In addition to the general unsafe-content filtering described above, training data acquisition and preprocessing apply CSAM- and NCII-specific safeguards: hash-matching systems against known CSAM databases, classifier-based moderation models trained specifically for explicit content and NCII detection, and provenance and licensing review for sources containing human imagery. Identified content is removed at ingest, with human review and targeted audits supplementing automated filtering for selected datasets. Despite these safeguards, no large-scale data-filtering system can guarantee complete detection. Ongoing monitoring and dataset review continue post-release. |
|
| 9 |
+
| Use Case Restrictions | Use is governed by the [OpenMDW1.1](https://openmdw.ai/) |
|
| 10 |
+
| 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. |
|
| 11 |
+
| Responsible Data Handling | This AI model was developed based on our policies to ensure responsible data handling and risk mitigation. The datasets used for training have been scanned for harmful content and illegal content, consistent with our policies including scanning for Child Sexual Abuse Material (CSAM). Ongoing review and monitoring mechanisms are in place based on our policies and to maintain data integrity. |
|
assets/benchmark-image2video-leaderboard-all-models.png
ADDED
|
Git LFS Details
|
assets/benchmark-image2video-leaderboard.png
ADDED
|
Git LFS Details
|
assets/example_first_frame.png
ADDED
|
Git LFS Details
|
assets/example_original_prompt.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
The ice cream melts and gradually disappears. The camera moves around.
|
assets/example_output.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:9c7df4dc671a3237c33aed82c47e1840b403c43b11ecbb6987d34284f3bf6cbe
|
| 3 |
+
size 6948901
|
assets/example_output_diffusers.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:f8c60550d54d9ce3cec15a00c4c484da930ee020510caa02323edeb3e6528173
|
| 3 |
+
size 3987298
|
assets/example_prompt.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"prompt": "{\"temporal_caption\": \"A fallen waffle cone lies on rough sunlit asphalt in an extreme low close-up, with a rounded scoop of vanilla and chocolate ice cream pressed against the road, a small melted puddle already spreading beneath it, and dry autumn leaves scattered around in warm late-afternoon light. The viewpoint stays near ground level and begins a slow, smooth arc around the cone from left to right, keeping the melting scoop dominant while the background street and leaves remain softly blurred. As the sun warms the ice cream, the glossy edges soften first, thin rivulets of vanilla and chocolate slide down the curved scoop, and the existing puddle widens into the cracks and pebbled texture of the asphalt. The waffle cone remains mostly rigid but grows slightly damp at the rim touching the ice cream, while the scoop loses its rounded shape, slumps lower, and exposes more of the cone’s open mouth. The moving viewpoint continues its gentle orbit, revealing the chocolate side thinning into streaks and the vanilla side collapsing into pale liquid that creeps outward under gravity. By the end, most of the ice cream has flattened into a shallow glossy stain that drains into small road fissures and spreads out of the immediate area, leaving the cone lying in place with only thin cream-colored and brown traces clinging to the asphalt in the warm light.\", \"duration\": \"7s\", \"fps\": 24.0, \"resolution\": {\"H\": 480, \"W\": 832}, \"aspect_ratio\": \"16,9\"}", "negative_prompt": "The video captures a series of frames showing macroblocking artifacts, chromatic aberration, high-frequency noise, and rolling shutter distortion. It includes static with no motion, motion blur, over-saturation, shaky footage, low resolution, grainy texture, pixelated images, poorly lit areas, underexposed and overexposed scenes, poor color balance, washed out colors, choppy sequences, jerky movements, low frame rate, bit-depth compression artifacts, color banding, unnatural transitions, outdated special effects, fake elements, unconvincing visuals, poorly edited content, jump cuts, hard cut, visual noise, and flickering. It features moiré patterns, edge halos, and temporal aliasing. Furthermore, the content defies common sense, generating illogical scenarios, nonsensical entities, absurd character behaviors, and conceptual paradoxes that violate basic human reasoning and everyday reality. The video looks like a surreal or glitchy hallucination. Overall, the video is of poor quality."}
|
chat_template.json
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"chat_template": "{%- if tools %}\n {{- '<|im_start|>system\\n' }}\n {%- if messages[0].role == 'system' %}\n {%- if messages[0].content is string %}\n {{- messages[0].content }}\n {%- else %}\n {%- for content in messages[0].content %}\n {%- if 'text' in content %}\n {{- content.text }}\n {%- endif %}\n {%- endfor %}\n {%- endif %}\n {{- '\\n\\n' }}\n {%- endif %}\n {{- \"# Tools\\n\\nYou may call one or more functions to assist with the user query.\\n\\nYou are provided with function signatures within <tools></tools> XML tags:\\n<tools>\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n</tools>\\n\\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\\n<tool_call>\\n{\\\"name\\\": <function-name>, \\\"arguments\\\": <args-json-object>}\\n</tool_call><|im_end|>\\n\" }}\n{%- else %}\n {%- if messages[0].role == 'system' %}\n {{- '<|im_start|>system\\n' }}\n {%- if messages[0].content is string %}\n {{- messages[0].content }}\n {%- else %}\n {%- for content in messages[0].content %}\n {%- if 'text' in content %}\n {{- content.text }}\n {%- endif %}\n {%- endfor %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- set image_count = namespace(value=0) %}\n{%- set video_count = namespace(value=0) %}\n{%- for message in messages %}\n {%- if message.role == \"user\" %}\n {{- '<|im_start|>' + message.role + '\\n' }}\n {%- if message.content is string %}\n {{- message.content }}\n {%- else %}\n {%- for content in message.content %}\n {%- if content.type == 'image' or 'image' in content or 'image_url' in content %}\n {%- set image_count.value = image_count.value + 1 %}\n {%- if add_vision_id %}Picture {{ image_count.value }}: {% endif -%}\n <|vision_start|><|image_pad|><|vision_end|>\n {%- elif content.type == 'video' or 'video' in content %}\n {%- set video_count.value = video_count.value + 1 %}\n {%- if add_vision_id %}Video {{ video_count.value }}: {% endif -%}\n <|vision_start|><|video_pad|><|vision_end|>\n {%- elif 'text' in content %}\n {{- content.text }}\n {%- endif %}\n {%- endfor %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"assistant\" %}\n {{- '<|im_start|>' + message.role + '\\n' }}\n {%- if message.content is string %}\n {{- message.content }}\n {%- else %}\n {%- for content_item in message.content %}\n {%- if 'text' in content_item %}\n {{- content_item.text }}\n {%- endif %}\n {%- endfor %}\n {%- endif %}\n {%- if message.tool_calls %}\n {%- for tool_call in message.tool_calls %}\n {%- if (loop.first and message.content) or (not loop.first) %}\n {{- '\\n' }}\n {%- endif %}\n {%- if tool_call.function %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {{- '<tool_call>\\n{\"name\": \"' }}\n {{- tool_call.name }}\n {{- '\", \"arguments\": ' }}\n {%- if tool_call.arguments is string %}\n {{- tool_call.arguments }}\n {%- else %}\n {{- tool_call.arguments | tojson }}\n {%- endif %}\n {{- '}\\n</tool_call>' }}\n {%- endfor %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if loop.first or (messages[loop.index0 - 1].role != \"tool\") %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n<tool_response>\\n' }}\n {%- if message.content is string %}\n {{- message.content }}\n {%- else %}\n {%- for content in message.content %}\n {%- if content.type == 'image' or 'image' in content or 'image_url' in content %}\n {%- set image_count.value = image_count.value + 1 %}\n {%- if add_vision_id %}Picture {{ image_count.value }}: {% endif -%}\n <|vision_start|><|image_pad|><|vision_end|>\n {%- elif content.type == 'video' or 'video' in content %}\n {%- set video_count.value = video_count.value + 1 %}\n {%- if add_vision_id %}Video {{ video_count.value }}: {% endif -%}\n <|vision_start|><|video_pad|><|vision_end|>\n {%- elif 'text' in content %}\n {{- content.text }}\n {%- endif %}\n {%- endfor %}\n {%- endif %}\n {{- '\\n</tool_response>' }}\n {%- if loop.last or (messages[loop.index0 + 1].role != \"tool\") %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n{%- endif %}\n"
|
| 3 |
+
}
|
checkpoint.json
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"checkpoint_cache_dir": null,
|
| 3 |
+
"checkpoint_hf": null,
|
| 4 |
+
"checkpoint_path": "/lustre/fsw/portfolios/cosmos/projects/cosmos_base_training/users/zhao/tmp/i4_checkpoint",
|
| 5 |
+
"checkpoint_type": "dcp",
|
| 6 |
+
"config_file": "/lustre/fsw/portfolios/cosmos/projects/cosmos_base_training/users/zhao/imaginaire4/cosmos3/configs/model/Cosmos3-Super-Image2Video.yaml",
|
| 7 |
+
"config_file_type": "yaml",
|
| 8 |
+
"credential_path": "credentials/gcp_checkpoint.secret",
|
| 9 |
+
"experiment": "",
|
| 10 |
+
"experiment_overrides": [
|
| 11 |
+
"model.config.diffusion_expert_config.load_weights_from_pretrained=False",
|
| 12 |
+
"model.config.vlm_config.pretrained_weights.enabled=False",
|
| 13 |
+
"checkpoint.load_from_object_store.enabled=False"
|
| 14 |
+
],
|
| 15 |
+
"model_memory_bytes": null,
|
| 16 |
+
"use_ema_weights": true
|
| 17 |
+
}
|
config.json
ADDED
|
@@ -0,0 +1,244 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"allow_patterns_overrides": [
|
| 3 |
+
"*/*.safetensors"
|
| 4 |
+
],
|
| 5 |
+
"architectures": [
|
| 6 |
+
"Cosmos3ForConditionalGeneration"
|
| 7 |
+
],
|
| 8 |
+
"image_token_id": 151655,
|
| 9 |
+
"model": {
|
| 10 |
+
"_recursive_": false,
|
| 11 |
+
"_target_": "projects.cosmos3.vfm.models.omni_mot_model.OmniMoTModel",
|
| 12 |
+
"config": {
|
| 13 |
+
"_type": "projects.cosmos3.vfm.configs.base.defaults.model_config.OmniMoTModelConfig",
|
| 14 |
+
"action_gen": false,
|
| 15 |
+
"activation_checkpointing": {
|
| 16 |
+
"_type": "projects.cosmos3.vfm.configs.base.defaults.activation_checkpointing.ActivationCheckpointingConfig",
|
| 17 |
+
"determinism_check": "default",
|
| 18 |
+
"mode": "full",
|
| 19 |
+
"preserve_rng_state": true,
|
| 20 |
+
"save_ops_regex": [
|
| 21 |
+
"fmha"
|
| 22 |
+
]
|
| 23 |
+
},
|
| 24 |
+
"causal_training_strategy": "none",
|
| 25 |
+
"compile": {
|
| 26 |
+
"_type": "projects.cosmos3.vfm.configs.base.defaults.compile.CompileConfig",
|
| 27 |
+
"compile_dynamic": true,
|
| 28 |
+
"compiled_region": "language",
|
| 29 |
+
"coordinate_descent_tuning": false,
|
| 30 |
+
"enabled": true,
|
| 31 |
+
"max_autotune_pointwise": false,
|
| 32 |
+
"use_cuda_graphs": false
|
| 33 |
+
},
|
| 34 |
+
"diffusion_expert_config": {
|
| 35 |
+
"_type": "projects.cosmos3.vfm.configs.base.defaults.model_config.DiffusionExpertConfig",
|
| 36 |
+
"base_fps": 16,
|
| 37 |
+
"enable_fps_modulation": true,
|
| 38 |
+
"load_weights_from_pretrained": true,
|
| 39 |
+
"max_vae_latent_side_after_patchify": 20,
|
| 40 |
+
"patch_spatial": 2,
|
| 41 |
+
"position_embedding_type": "unified_3d_mrope",
|
| 42 |
+
"rope_h_extrapolation_ratio": 1.0,
|
| 43 |
+
"rope_t_extrapolation_ratio": 1.0,
|
| 44 |
+
"rope_w_extrapolation_ratio": 1.0,
|
| 45 |
+
"timestep_range": 1.0,
|
| 46 |
+
"unified_3d_mrope_reset_spatial_ids": true,
|
| 47 |
+
"unified_3d_mrope_temporal_modality_margin": 15000
|
| 48 |
+
},
|
| 49 |
+
"ema": {
|
| 50 |
+
"_type": "projects.cosmos3.vfm.configs.base.defaults.ema.EMAConfig",
|
| 51 |
+
"enabled": false,
|
| 52 |
+
"iteration_shift": 0,
|
| 53 |
+
"rate": 0.1
|
| 54 |
+
},
|
| 55 |
+
"fixed_step_sampler_config": null,
|
| 56 |
+
"input_caption_key": "ai_caption",
|
| 57 |
+
"input_image_key": "images",
|
| 58 |
+
"input_video_key": "video",
|
| 59 |
+
"joint_attn_implementation": "two_way",
|
| 60 |
+
"latent_downsample_factor": 16,
|
| 61 |
+
"lbl": {
|
| 62 |
+
"_type": "projects.cosmos3.vfm.configs.base.defaults.model_config.LBLConfig",
|
| 63 |
+
"coeff_gen": null,
|
| 64 |
+
"coeff_und": null,
|
| 65 |
+
"method": "local"
|
| 66 |
+
},
|
| 67 |
+
"log_enc_time_every_n": 100,
|
| 68 |
+
"lora_alpha": 32,
|
| 69 |
+
"lora_enabled": false,
|
| 70 |
+
"lora_rank": 16,
|
| 71 |
+
"lora_target_modules": "q_proj_moe_gen,k_proj_moe_gen,v_proj_moe_gen,o_proj_moe_gen",
|
| 72 |
+
"max_action_dim": 32,
|
| 73 |
+
"max_num_tokens_after_packing": 45056,
|
| 74 |
+
"natten_parameter_list": null,
|
| 75 |
+
"net": null,
|
| 76 |
+
"num_embodiment_domains": 32,
|
| 77 |
+
"parallelism": {
|
| 78 |
+
"_type": "projects.cosmos3.vfm.configs.base.defaults.parallelism.ParallelismConfig",
|
| 79 |
+
"cfg_parallel_shard_degree": 1,
|
| 80 |
+
"context_parallel_shard_degree": 1,
|
| 81 |
+
"data_parallel_replicate_degree": 1,
|
| 82 |
+
"data_parallel_shard_degree": 16,
|
| 83 |
+
"enable_inference_mode": false,
|
| 84 |
+
"fsdp_master_dtype": "float32"
|
| 85 |
+
},
|
| 86 |
+
"precision": "bfloat16",
|
| 87 |
+
"rectified_flow_inference_config": {
|
| 88 |
+
"_type": "projects.cosmos3.vfm.configs.base.defaults.model_config.RectifiedFlowInferenceConfig",
|
| 89 |
+
"num_train_timesteps": 1000,
|
| 90 |
+
"scheduler_type": "unipc",
|
| 91 |
+
"shift": 1,
|
| 92 |
+
"use_dynamic_shifting": false
|
| 93 |
+
},
|
| 94 |
+
"rectified_flow_training_config": {
|
| 95 |
+
"_type": "projects.cosmos3.vfm.configs.base.defaults.model_config.RectifiedFlowTrainingConfig",
|
| 96 |
+
"action_loss_weight": 10.0,
|
| 97 |
+
"high_sigma_ratio": 0.05,
|
| 98 |
+
"high_sigma_timesteps_max": 1000,
|
| 99 |
+
"high_sigma_timesteps_min": 995,
|
| 100 |
+
"image_loss_scale": null,
|
| 101 |
+
"independent_action_schedule": false,
|
| 102 |
+
"independent_sound_schedule": false,
|
| 103 |
+
"loss_scale": 1.0,
|
| 104 |
+
"normalize_loss_by_active": false,
|
| 105 |
+
"shift": {
|
| 106 |
+
"256": 1,
|
| 107 |
+
"480": 3,
|
| 108 |
+
"704": 5,
|
| 109 |
+
"720": 5
|
| 110 |
+
},
|
| 111 |
+
"shift_action": null,
|
| 112 |
+
"shift_sound": null,
|
| 113 |
+
"sound_loss_scale": null,
|
| 114 |
+
"train_time_action_distribution": "logitnormal",
|
| 115 |
+
"train_time_image_distribution": "logitnormal",
|
| 116 |
+
"train_time_sound_distribution": "logitnormal",
|
| 117 |
+
"train_time_video_distribution": "ltx2",
|
| 118 |
+
"train_time_weight": "uniform",
|
| 119 |
+
"use_discrete_rf": false,
|
| 120 |
+
"use_dynamic_shift": false,
|
| 121 |
+
"use_high_sigma_strategy": false,
|
| 122 |
+
"use_high_sigma_strategy_action": false,
|
| 123 |
+
"use_high_sigma_strategy_sound": false
|
| 124 |
+
},
|
| 125 |
+
"resolution": "480",
|
| 126 |
+
"sound_dim": null,
|
| 127 |
+
"sound_gen": false,
|
| 128 |
+
"sound_latent_fps": 25,
|
| 129 |
+
"sound_tokenizer": null,
|
| 130 |
+
"state_ch": 48,
|
| 131 |
+
"state_t": 300,
|
| 132 |
+
"tokenizer": {
|
| 133 |
+
"_target_": "projects.cosmos3.vfm.tokenizers.wan2pt2_vae_4x16x16.Wan2pt2VAEInterface",
|
| 134 |
+
"bucket_name": "bucket",
|
| 135 |
+
"causal": true,
|
| 136 |
+
"chunk_duration": 93,
|
| 137 |
+
"encode_bucket_multiple": null,
|
| 138 |
+
"encode_chunk_frames": {
|
| 139 |
+
"256": 68,
|
| 140 |
+
"480": 24,
|
| 141 |
+
"720": 12
|
| 142 |
+
},
|
| 143 |
+
"encode_exact_durations": null,
|
| 144 |
+
"keep_decoder_cache": false,
|
| 145 |
+
"object_store_credential_path_pretrained": "credentials/gcp_training.secret",
|
| 146 |
+
"spatial_compression_factor": 16,
|
| 147 |
+
"temporal_compression_factor": 4,
|
| 148 |
+
"temporal_window": null,
|
| 149 |
+
"use_streaming_encode": false,
|
| 150 |
+
"vae_path": "pretrained/tokenizers/video/wan2pt2/Wan2.2_VAE.pth"
|
| 151 |
+
},
|
| 152 |
+
"video_temporal_causal": false,
|
| 153 |
+
"vision_gen": true,
|
| 154 |
+
"vlm_config": {
|
| 155 |
+
"_type": "projects.cosmos3.vfm.configs.base.defaults.vlm.VLMConfig",
|
| 156 |
+
"layer_module": null,
|
| 157 |
+
"model_instance": {
|
| 158 |
+
"_target_": "projects.cosmos3.vfm.models.mot.unified_mot.Qwen3VLTextForCausalLM",
|
| 159 |
+
"config": {
|
| 160 |
+
"_target_": "projects.cosmos3.vfm.configs.base.defaults.vlm.create_vlm_config",
|
| 161 |
+
"base_config": {
|
| 162 |
+
"_target_": "projects.cosmos3.vfm.models.mot.unified_mot.Qwen3VLMoTConfig.from_json_file",
|
| 163 |
+
"json_file": "projects/cosmos3/vfm/models/vlm/qwen3_vl/configs/Qwen3-VL-32B-Instruct.json"
|
| 164 |
+
},
|
| 165 |
+
"qk_norm_for_text": true
|
| 166 |
+
}
|
| 167 |
+
},
|
| 168 |
+
"model_name": "nvidia/Cosmos3-Super-Reasoner",
|
| 169 |
+
"pretrained_weights": {
|
| 170 |
+
"_type": "projects.cosmos3.vfm.configs.base.defaults.vlm.PretrainedWeightsConfig",
|
| 171 |
+
"backbone_path": "s3://bucket/cosmos3/pretrained/huggingface/Cosmos-Reason/Cosmos3-Super-Reasoner-b6df0d1/",
|
| 172 |
+
"checkpoint_format": null,
|
| 173 |
+
"credentials_path": "credentials/gcp_checkpoint.secret",
|
| 174 |
+
"enable_gcs_patch_in_boto3": true,
|
| 175 |
+
"enabled": true
|
| 176 |
+
},
|
| 177 |
+
"qk_norm": false,
|
| 178 |
+
"tie_word_embeddings": false,
|
| 179 |
+
"tokenizer": {
|
| 180 |
+
"_target_": "projects.cosmos3.vfm.configs.base.defaults.vlm.create_qwen2_tokenizer_with_download",
|
| 181 |
+
"config_variant": "gcp",
|
| 182 |
+
"pretrained_model_name": "Qwen/Qwen3-VL-32B-Instruct"
|
| 183 |
+
},
|
| 184 |
+
"use_system_prompt": false
|
| 185 |
+
}
|
| 186 |
+
}
|
| 187 |
+
},
|
| 188 |
+
"model_type": "cosmos3_omni",
|
| 189 |
+
"text_config": {
|
| 190 |
+
"attention_bias": false,
|
| 191 |
+
"attention_dropout": 0.0,
|
| 192 |
+
"bos_token_id": 151643,
|
| 193 |
+
"dtype": "bfloat16",
|
| 194 |
+
"eos_token_id": 151645,
|
| 195 |
+
"head_dim": 128,
|
| 196 |
+
"hidden_act": "silu",
|
| 197 |
+
"hidden_size": 5120,
|
| 198 |
+
"initializer_range": 0.02,
|
| 199 |
+
"intermediate_size": 25600,
|
| 200 |
+
"max_position_embeddings": 262144,
|
| 201 |
+
"model_type": "qwen3_vl_text",
|
| 202 |
+
"num_attention_heads": 64,
|
| 203 |
+
"num_hidden_layers": 64,
|
| 204 |
+
"num_key_value_heads": 8,
|
| 205 |
+
"rms_norm_eps": 1e-06,
|
| 206 |
+
"rope_scaling": {
|
| 207 |
+
"mrope_interleaved": true,
|
| 208 |
+
"mrope_section": [
|
| 209 |
+
24,
|
| 210 |
+
20,
|
| 211 |
+
20
|
| 212 |
+
],
|
| 213 |
+
"rope_type": "default"
|
| 214 |
+
},
|
| 215 |
+
"rope_theta": 5000000,
|
| 216 |
+
"use_cache": true,
|
| 217 |
+
"vocab_size": 151936
|
| 218 |
+
},
|
| 219 |
+
"tie_word_embeddings": false,
|
| 220 |
+
"transformers_version": "4.57.0.dev0",
|
| 221 |
+
"video_token_id": 151656,
|
| 222 |
+
"vision_config": {
|
| 223 |
+
"deepstack_visual_indexes": [
|
| 224 |
+
8,
|
| 225 |
+
16,
|
| 226 |
+
24
|
| 227 |
+
],
|
| 228 |
+
"depth": 27,
|
| 229 |
+
"hidden_act": "gelu_pytorch_tanh",
|
| 230 |
+
"hidden_size": 1152,
|
| 231 |
+
"in_channels": 3,
|
| 232 |
+
"initializer_range": 0.02,
|
| 233 |
+
"intermediate_size": 4304,
|
| 234 |
+
"model_type": "qwen3_vl",
|
| 235 |
+
"num_heads": 16,
|
| 236 |
+
"num_position_embeddings": 2304,
|
| 237 |
+
"out_hidden_size": 5120,
|
| 238 |
+
"patch_size": 16,
|
| 239 |
+
"spatial_merge_size": 2,
|
| 240 |
+
"temporal_patch_size": 2
|
| 241 |
+
},
|
| 242 |
+
"vision_end_token_id": 151653,
|
| 243 |
+
"vision_start_token_id": 151652
|
| 244 |
+
}
|
generation_config.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"bos_token_id": 151643,
|
| 3 |
+
"pad_token_id": 151643,
|
| 4 |
+
"do_sample": true,
|
| 5 |
+
"eos_token_id": [
|
| 6 |
+
151645,
|
| 7 |
+
151643
|
| 8 |
+
],
|
| 9 |
+
"top_p": 0.8,
|
| 10 |
+
"top_k": 20,
|
| 11 |
+
"temperature": 0.7,
|
| 12 |
+
"repetition_penalty": 1.0,
|
| 13 |
+
"transformers_version": "4.56.0"
|
| 14 |
+
}
|
merges.txt
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
model.safetensors.index.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
model_index.json
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"_class_name": "Cosmos3OmniDiffusersPipeline",
|
| 3 |
+
"_diffusers_version": "0.38.0",
|
| 4 |
+
"scheduler": [
|
| 5 |
+
"diffusers",
|
| 6 |
+
"UniPCMultistepScheduler"
|
| 7 |
+
],
|
| 8 |
+
"text_tokenizer": [
|
| 9 |
+
"transformers",
|
| 10 |
+
"Qwen2TokenizerFast"
|
| 11 |
+
],
|
| 12 |
+
"transformer": [
|
| 13 |
+
"diffusers",
|
| 14 |
+
"Cosmos3OmniTransformer"
|
| 15 |
+
],
|
| 16 |
+
"vae": [
|
| 17 |
+
"diffusers",
|
| 18 |
+
"AutoencoderKLWan"
|
| 19 |
+
],
|
| 20 |
+
"vision_encoder": [
|
| 21 |
+
"transformers",
|
| 22 |
+
"Qwen3VLVisionModel"
|
| 23 |
+
]
|
| 24 |
+
}
|
preprocessor_config.json
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"size": {
|
| 3 |
+
"longest_edge": 16777216,
|
| 4 |
+
"shortest_edge": 65536
|
| 5 |
+
},
|
| 6 |
+
"patch_size": 16,
|
| 7 |
+
"temporal_patch_size": 2,
|
| 8 |
+
"merge_size": 2,
|
| 9 |
+
"image_mean": [
|
| 10 |
+
0.5,
|
| 11 |
+
0.5,
|
| 12 |
+
0.5
|
| 13 |
+
],
|
| 14 |
+
"image_std": [
|
| 15 |
+
0.5,
|
| 16 |
+
0.5,
|
| 17 |
+
0.5
|
| 18 |
+
],
|
| 19 |
+
"processor_class": "Qwen3VLProcessor",
|
| 20 |
+
"image_processor_type": "Qwen2VLImageProcessorFast"
|
| 21 |
+
}
|
scheduler/scheduler_config.json
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"_class_name": "UniPCMultistepScheduler",
|
| 3 |
+
"_diffusers_version": "0.38.0",
|
| 4 |
+
"beta_end": 0.02,
|
| 5 |
+
"beta_schedule": "linear",
|
| 6 |
+
"beta_start": 0.0001,
|
| 7 |
+
"disable_corrector": [],
|
| 8 |
+
"dynamic_thresholding_ratio": 0.995,
|
| 9 |
+
"final_sigmas_type": "zero",
|
| 10 |
+
"flow_shift": 1.0,
|
| 11 |
+
"lower_order_final": true,
|
| 12 |
+
"num_train_timesteps": 1000,
|
| 13 |
+
"predict_x0": true,
|
| 14 |
+
"prediction_type": "flow_prediction",
|
| 15 |
+
"rescale_betas_zero_snr": false,
|
| 16 |
+
"sample_max_value": 1.0,
|
| 17 |
+
"shift_terminal": null,
|
| 18 |
+
"sigma_max": 200.0,
|
| 19 |
+
"sigma_min": 0.147,
|
| 20 |
+
"solver_order": 2,
|
| 21 |
+
"solver_p": null,
|
| 22 |
+
"solver_type": "bh2",
|
| 23 |
+
"steps_offset": 0,
|
| 24 |
+
"thresholding": false,
|
| 25 |
+
"time_shift_type": "exponential",
|
| 26 |
+
"timestep_spacing": "linspace",
|
| 27 |
+
"trained_betas": null,
|
| 28 |
+
"use_beta_sigmas": false,
|
| 29 |
+
"use_dynamic_shifting": false,
|
| 30 |
+
"use_exponential_sigmas": false,
|
| 31 |
+
"use_flow_sigmas": true,
|
| 32 |
+
"use_karras_sigmas": true
|
| 33 |
+
}
|
scripts/gen_video.py
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Minimal image-to-video generation against a vLLM-Omni endpoint (sync mode).
|
| 2 |
+
|
| 3 |
+
Run from the Cosmos3-Super-Image2Video repo root:
|
| 4 |
+
|
| 5 |
+
python scripts/gen_video.py \
|
| 6 |
+
--endpoint <endpoint-url> \
|
| 7 |
+
--prompt-file assets/example_prompt.json \
|
| 8 |
+
--image-path assets/example_first_frame.png \
|
| 9 |
+
--output-path scripts/output.mp4
|
| 10 |
+
"""
|
| 11 |
+
|
| 12 |
+
import argparse
|
| 13 |
+
import json
|
| 14 |
+
from pathlib import Path
|
| 15 |
+
|
| 16 |
+
import requests
|
| 17 |
+
|
| 18 |
+
# Fixed generation settings: 16:9 480p, 189 frames @ 24 fps.
|
| 19 |
+
ASPECT_RATIO = "16,9"
|
| 20 |
+
WIDTH = 832
|
| 21 |
+
HEIGHT = 480
|
| 22 |
+
NUM_FRAMES = 189
|
| 23 |
+
FPS = 24
|
| 24 |
+
|
| 25 |
+
|
| 26 |
+
def main() -> None:
|
| 27 |
+
parser = argparse.ArgumentParser(description="Generate one I2V sample (sync mode).")
|
| 28 |
+
parser.add_argument("--endpoint", required=True, help="vLLM-Omni endpoint base URL.")
|
| 29 |
+
parser.add_argument("--prompt-file", type=Path, default=Path("assets/example_prompt.json"))
|
| 30 |
+
parser.add_argument("--image-path", type=Path, default=Path("assets/example_first_frame.png"))
|
| 31 |
+
parser.add_argument("--output-path", type=Path, default=Path("scripts/output.mp4"))
|
| 32 |
+
args = parser.parse_args()
|
| 33 |
+
|
| 34 |
+
spec = json.loads(args.prompt_file.read_text(encoding="utf-8"))
|
| 35 |
+
# Safeguard the metadata and json format
|
| 36 |
+
prompt = json.loads(spec["prompt"])
|
| 37 |
+
prompt["duration"] = f"{int(NUM_FRAMES / FPS)}s"
|
| 38 |
+
prompt["fps"] = float(round(FPS))
|
| 39 |
+
prompt["resolution"] = {"H": HEIGHT, "W": WIDTH}
|
| 40 |
+
prompt["aspect_ratio"] = ASPECT_RATIO
|
| 41 |
+
data = {
|
| 42 |
+
"prompt": json.dumps(prompt, ensure_ascii=False),
|
| 43 |
+
"negative_prompt": spec["negative_prompt"],
|
| 44 |
+
"size": f"{WIDTH}x{HEIGHT}",
|
| 45 |
+
"num_frames": NUM_FRAMES,
|
| 46 |
+
"fps": FPS,
|
| 47 |
+
"num_inference_steps": 50,
|
| 48 |
+
"guidance_scale": 6.0,
|
| 49 |
+
"flow_shift": 5.0,
|
| 50 |
+
"extra_params": json.dumps({"use_resolution_template": False, "use_duration_template": False}),
|
| 51 |
+
}
|
| 52 |
+
files = {"input_reference": ("input.png", args.image_path.read_bytes(), "image/png")}
|
| 53 |
+
headers = {"Accept": "video/mp4", "User-Agent": "curl/8.5.0"}
|
| 54 |
+
|
| 55 |
+
response = requests.post(f"{args.endpoint}/v1/videos/sync", data=data, files=files, headers=headers, timeout=(10, 600))
|
| 56 |
+
response.raise_for_status()
|
| 57 |
+
|
| 58 |
+
args.output_path.parent.mkdir(parents=True, exist_ok=True)
|
| 59 |
+
args.output_path.write_bytes(response.content)
|
| 60 |
+
print(f"Saved video to {args.output_path} ({len(response.content) / (1024 * 1024):.1f} MB)")
|
| 61 |
+
|
| 62 |
+
|
| 63 |
+
if __name__ == "__main__":
|
| 64 |
+
main()
|
scripts/upsample_prompt.py
ADDED
|
@@ -0,0 +1,168 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Minimal image-to-video prompt upsampler.
|
| 2 |
+
|
| 3 |
+
Run from the Cosmos3-Super-Image2Video repo root:
|
| 4 |
+
|
| 5 |
+
export PROMPT_UPSAMPLER_API_KEY="..."
|
| 6 |
+
python scripts/upsample_prompt.py \
|
| 7 |
+
--model-name <model> \
|
| 8 |
+
--base-url <VLM-endpoint-url> \
|
| 9 |
+
--image-path assets/example_first_frame.png \
|
| 10 |
+
--user-prompt "The dog flies into the outer space" \
|
| 11 |
+
--output-path scripts/upsampled.json
|
| 12 |
+
"""
|
| 13 |
+
|
| 14 |
+
import argparse
|
| 15 |
+
import base64
|
| 16 |
+
import json
|
| 17 |
+
import mimetypes
|
| 18 |
+
import os
|
| 19 |
+
import re
|
| 20 |
+
from pathlib import Path
|
| 21 |
+
|
| 22 |
+
import requests
|
| 23 |
+
|
| 24 |
+
# Fixed generation settings: 16:9 480p, 189 frames @ 24 fps.
|
| 25 |
+
ASPECT_RATIO = "16,9"
|
| 26 |
+
WIDTH = 832
|
| 27 |
+
HEIGHT = 480
|
| 28 |
+
NUM_FRAMES = 189
|
| 29 |
+
FPS = 24
|
| 30 |
+
|
| 31 |
+
MAX_TOKENS = 8192
|
| 32 |
+
|
| 33 |
+
PROMPT_TEMPLATE = """You are an expert prompt engineer for an image-to-video generative model. You are given a STARTING FRAME image (the first frame of the video) and a USER INSTRUCTION describing the desired motion or changes to animate. Your task is to produce a dense, cinematic video description that the model will use to generate the full video, together with a customized negative prompt.
|
| 34 |
+
|
| 35 |
+
Complete this task in two phases.
|
| 36 |
+
|
| 37 |
+
---
|
| 38 |
+
### PHASE 1: VIDEO DESCRIPTION
|
| 39 |
+
Write a dense, narrative temporal_caption inside `<final_prompt>` XML tags, formatted as a JSON object using this exact template:
|
| 40 |
+
|
| 41 |
+
{
|
| 42 |
+
"temporal_caption": "...",
|
| 43 |
+
"duration": "placeholder",
|
| 44 |
+
"fps": "placeholder",
|
| 45 |
+
"resolution": {
|
| 46 |
+
"H": "placeholder",
|
| 47 |
+
"W": "placeholder"
|
| 48 |
+
},
|
| 49 |
+
"aspect_ratio": "placeholder"
|
| 50 |
+
}
|
| 51 |
+
|
| 52 |
+
Rules for the temporal_caption:
|
| 53 |
+
- The provided image is the exact starting frame - all described motion must be consistent with the starting frame.
|
| 54 |
+
- Opening: Establish the scene — subjects, environment, lighting — describing what is directly visible in the starting frame accurately and faithfully, noting essential elements that the motion will directly involve, the subject's orientation (e.g., "facing away", "in three-quarter profile"), and any implied ongoing motion (e.g., a cyclist leaning into a curve, water already splashing) so the video continues smoothly. Phrase it naturally as a scene description (do not say "in the starting frame", "initially shown", or similar meta-references).
|
| 55 |
+
- Motion: Describe the changes and actions in chronological order. Flow naturally from one action to the next. Advance time using natural conjunctions (e.g., "while," "as," "and").
|
| 56 |
+
- Physical Accuracy: All motion must obey gravity and reflect realistic material behavior (e.g., cloth ripples, water splashes, rigid objects resist deformation).
|
| 57 |
+
- Cause-and-effect: Always describe causes before their effects. Reflections, shadows, and secondary effects cannot appear on their own — the source object must first enter the frame or move into the relevant position before any reflection or shadow is described. E.g., a person must walk to the water's edge before their reflection appears on the surface; an object must strike the water before a splash erupts.
|
| 58 |
+
- Object Permanence: Every subject must persist throughout or have a clear reason for entering or exiting. When a new subject not present in the starting frame is introduced (e.g., an opposing team, an arriving vehicle), briefly describe their appearance (e.g., uniform color, vehicle type and color) so the generator can render them consistently, and describe a logical way for them to come into the frame (e.g., entering from a specific side of the frame, walking in through a door, or emerging from behind an existing object) rather than having them appear out of nowhere.
|
| 59 |
+
- Taboo Phrases: NEVER refer to the video medium itself. Avoid "the video shows...", "the scene...", "the clip...", "the frame...", "the camera shows...", "we see...".
|
| 60 |
+
- Perspective: Describe human body sides from the subject's own perspective (e.g., "her right hand" = the subject's right hand) to avoid ambiguity. This applies whenever a body part enters or moves in the frame: always specify whether it is the left or right (e.g., "his right hand reaches in from the lower edge"), never a bare "a hand enters the frame".
|
| 61 |
+
- Pronouns: Use singular pronouns ("he", "she", "him", "her", "it") or a singular noun phrase ("the person", "the rider", "the child") for single subjects. Never use "they"/"them"/"their" to refer to one person, as this can cause the model to render multiple subjects.
|
| 62 |
+
- Spatial Phrasing: Use spatial relationships for motion (e.g., "enters from the left", "rises above the horizon") rather than camera-centric descriptions.
|
| 63 |
+
- Camera: Include camera motion only if specified in the instruction; otherwise describe from a static viewpoint. Keep any described camera movement subtle and gradual — do not exaggerate altitude loss, tilt angle, or speed beyond what is minimally implied by the instruction. Do not use the word "transition" when describing camera motion.
|
| 64 |
+
- Cinematography Terms: When the instruction references a lens, camera, or filming technique (e.g., "probe lens", "macro lens", "fisheye", "drone shot", "GoPro"), treat it as a cinematographic style describing how the footage is captured — never as a physical object visible in the scene. Mention the style (e.g., for a probe lens: extreme close shot; for a fisheye lens: extreme wide angle fisheye view) rather than mentioning the lens or camera apparatus itself.
|
| 65 |
+
- Timelapse: If the instruction implies timelapse, explicitly use the word "timelapse" in the caption and avoid exaggerating its effects.
|
| 66 |
+
- Cuts & Montages: Always describe a single continuous shot with no hard cuts unless the user instruction explicitly used words like "cut", "hard cut", "jump cut", "shot change", or "montage". When multiple shots are requested without specifying an exact number, describe at most 3 shots, and dedicate the majority of the description to the opening action before any cut. Never use phrases like "the first shot", "the opening shot", or number shots as "first", "second", etc. — simply describe the action directly.
|
| 67 |
+
- Tone: Neutral, objective, descriptive. No opinions, value judgments, or inferred emotions unless physically observable.
|
| 68 |
+
- Length & Format: Write exactly ONE coherent paragraph of 5-8 sentences. No bullet points or lists.
|
| 69 |
+
|
| 70 |
+
USER INSTRUCTION:
|
| 71 |
+
"{nl_description}"
|
| 72 |
+
|
| 73 |
+
---
|
| 74 |
+
### PHASE 2: NEGATIVE PROMPT
|
| 75 |
+
Using your final video description from Phase 1, create a customized negative prompt.
|
| 76 |
+
|
| 77 |
+
HOW IT WORKS:
|
| 78 |
+
A negative prompt describes exactly what a bad video looks like. Use declarative statements (e.g., "blurry faces"). Never use negative instructions like "avoid" or "do not".
|
| 79 |
+
|
| 80 |
+
---
|
| 81 |
+
DEFAULT NEGATIVE PROMPT:
|
| 82 |
+
The video captures a series of frames showing macroblocking artifacts, chromatic aberration, high-frequency noise, and rolling shutter distortion. It includes static with no motion, motion blur, over-saturation, shaky footage, low resolution, grainy texture, pixelated images, poorly lit areas, underexposed and overexposed scenes, poor color balance, washed out colors, choppy sequences, jerky movements, low frame rate, bit-depth compression artifacts, color banding, unnatural transitions, outdated special effects, fake elements, unconvincing visuals, poorly edited content, jump cuts, hard cut, visual noise, and flickering. It features moiré patterns, edge halos, and temporal aliasing. Furthermore, the content defies common sense, generating illogical scenarios, nonsensical entities, absurd character behaviors, and conceptual paradoxes that violate basic human reasoning and everyday reality. The video looks like a surreal or glitchy hallucination. Overall, the video is of poor quality.
|
| 83 |
+
---
|
| 84 |
+
|
| 85 |
+
INSTRUCTIONS:
|
| 86 |
+
Delete any words from the default negative prompt that contradict your intended video. Keep most of the original wording and structure intact, and do not add new items. Examples:
|
| 87 |
+
* If you want scene cuts/montages -> REMOVE "jump cuts" and "hard cut".
|
| 88 |
+
* If you want a motionless/static scene -> REMOVE "static with no motion".
|
| 89 |
+
* If you want fantasy, sci-fi, or surrealism -> REMOVE "defies common sense", "illogical scenarios", "nonsensical entities", "surreal", and related logic-violation terms.
|
| 90 |
+
* If the scene has flickering light -> REMOVE "flickering".
|
| 91 |
+
* If it is a night-time timelapse -> REMOVE "motion blur".
|
| 92 |
+
|
| 93 |
+
Output only the final negative prompt as a single paragraph, wrapped in <negative_prompt> tags. Do not output any explanation or preamble."""
|
| 94 |
+
|
| 95 |
+
|
| 96 |
+
def image_to_data_url(path: Path) -> str:
|
| 97 |
+
"""Encode a local image as a base64 data URL."""
|
| 98 |
+
mime = mimetypes.guess_type(path.name)[0] or "image/png"
|
| 99 |
+
encoded = base64.b64encode(path.read_bytes()).decode("ascii")
|
| 100 |
+
return f"data:{mime};base64,{encoded}"
|
| 101 |
+
|
| 102 |
+
|
| 103 |
+
def extract_tag(text: str, tag: str) -> str | None:
|
| 104 |
+
"""Return the stripped inner text of the first <tag>...</tag> block, if present."""
|
| 105 |
+
match = re.search(rf"<{tag}>(.*?)</{tag}>", text, flags=re.DOTALL)
|
| 106 |
+
return match.group(1).strip() if match else None
|
| 107 |
+
|
| 108 |
+
|
| 109 |
+
def parse_args() -> argparse.Namespace:
|
| 110 |
+
parser = argparse.ArgumentParser(description="Upsample an image-to-video prompt with a VLM.")
|
| 111 |
+
parser.add_argument("--image-path", type=Path, default=Path("assets/example_first_frame.png"))
|
| 112 |
+
parser.add_argument("--user-prompt", default="The dog flies into the outer space")
|
| 113 |
+
parser.add_argument("--output-path", type=Path, default=Path("scripts/upsampled.json"))
|
| 114 |
+
parser.add_argument("--model-name", required=True)
|
| 115 |
+
parser.add_argument("--base-url", required=True, metavar="<VLM-endpoint-url>")
|
| 116 |
+
return parser.parse_args()
|
| 117 |
+
|
| 118 |
+
|
| 119 |
+
def invoke_vlm(image_path: Path, user_prompt: str, model_name: str, base_url: str) -> str:
|
| 120 |
+
"""Call an OpenAI-compatible chat completions endpoint and return the assistant text."""
|
| 121 |
+
payload = {
|
| 122 |
+
"model": model_name,
|
| 123 |
+
"max_tokens": MAX_TOKENS,
|
| 124 |
+
"messages": [
|
| 125 |
+
{
|
| 126 |
+
"role": "user",
|
| 127 |
+
"content": [
|
| 128 |
+
{"type": "image_url", "image_url": {"url": image_to_data_url(image_path)}},
|
| 129 |
+
{"type": "text", "text": PROMPT_TEMPLATE.replace("{nl_description}", user_prompt.strip())},
|
| 130 |
+
],
|
| 131 |
+
}
|
| 132 |
+
],
|
| 133 |
+
}
|
| 134 |
+
headers = {"Authorization": f"Bearer {os.environ['PROMPT_UPSAMPLER_API_KEY']}"}
|
| 135 |
+
response = requests.post(f"{base_url.rstrip('/')}/chat/completions", json=payload, headers=headers)
|
| 136 |
+
response.raise_for_status()
|
| 137 |
+
return response.json()["choices"][0]["message"]["content"]
|
| 138 |
+
|
| 139 |
+
|
| 140 |
+
def main() -> None:
|
| 141 |
+
args = parse_args()
|
| 142 |
+
content = invoke_vlm(args.image_path, args.user_prompt, args.model_name, args.base_url)
|
| 143 |
+
|
| 144 |
+
final_prompt = extract_tag(content, "final_prompt")
|
| 145 |
+
if final_prompt is None:
|
| 146 |
+
raise RuntimeError(f"Response missing <final_prompt> block:\n{content}")
|
| 147 |
+
|
| 148 |
+
# Pin the output parameters post-hoc (the template leaves them as placeholders).
|
| 149 |
+
data = json.loads(final_prompt)
|
| 150 |
+
data["duration"] = f"{int(NUM_FRAMES / FPS)}s"
|
| 151 |
+
data["fps"] = float(round(FPS))
|
| 152 |
+
data["resolution"] = {"H": HEIGHT, "W": WIDTH}
|
| 153 |
+
data["aspect_ratio"] = ASPECT_RATIO
|
| 154 |
+
|
| 155 |
+
record: dict = {"prompt": json.dumps(data, ensure_ascii=False)}
|
| 156 |
+
negative = extract_tag(content, "negative_prompt")
|
| 157 |
+
if negative:
|
| 158 |
+
record["negative_prompt"] = negative
|
| 159 |
+
|
| 160 |
+
args.output_path.parent.mkdir(parents=True, exist_ok=True)
|
| 161 |
+
args.output_path.write_text(json.dumps(record, ensure_ascii=False), encoding="utf-8")
|
| 162 |
+
print(f"PROMPT:\n{record['prompt']}")
|
| 163 |
+
print(f"\nNEGATIVE PROMPT:\n{record.get('negative_prompt', '')}")
|
| 164 |
+
print(f"\nWrote {args.output_path}")
|
| 165 |
+
|
| 166 |
+
|
| 167 |
+
if __name__ == "__main__":
|
| 168 |
+
main()
|
text_tokenizer/added_tokens.json
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"</think>": 151668,
|
| 3 |
+
"</tool_call>": 151658,
|
| 4 |
+
"</tool_response>": 151666,
|
| 5 |
+
"<think>": 151667,
|
| 6 |
+
"<tool_call>": 151657,
|
| 7 |
+
"<tool_response>": 151665,
|
| 8 |
+
"<|box_end|>": 151649,
|
| 9 |
+
"<|box_start|>": 151648,
|
| 10 |
+
"<|endoftext|>": 151643,
|
| 11 |
+
"<|file_sep|>": 151664,
|
| 12 |
+
"<|fim_middle|>": 151660,
|
| 13 |
+
"<|fim_pad|>": 151662,
|
| 14 |
+
"<|fim_prefix|>": 151659,
|
| 15 |
+
"<|fim_suffix|>": 151661,
|
| 16 |
+
"<|im_end|>": 151645,
|
| 17 |
+
"<|im_start|>": 151644,
|
| 18 |
+
"<|image_pad|>": 151655,
|
| 19 |
+
"<|object_ref_end|>": 151647,
|
| 20 |
+
"<|object_ref_start|>": 151646,
|
| 21 |
+
"<|quad_end|>": 151651,
|
| 22 |
+
"<|quad_start|>": 151650,
|
| 23 |
+
"<|repo_name|>": 151663,
|
| 24 |
+
"<|video_pad|>": 151656,
|
| 25 |
+
"<|vision_end|>": 151653,
|
| 26 |
+
"<|vision_pad|>": 151654,
|
| 27 |
+
"<|vision_start|>": 151652
|
| 28 |
+
}
|
text_tokenizer/chat_template.jinja
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{%- if tools %}
|
| 2 |
+
{{- '<|im_start|>system\n' }}
|
| 3 |
+
{%- if messages[0].role == 'system' %}
|
| 4 |
+
{%- if messages[0].content is string %}
|
| 5 |
+
{{- messages[0].content }}
|
| 6 |
+
{%- else %}
|
| 7 |
+
{%- for content in messages[0].content %}
|
| 8 |
+
{%- if 'text' in content %}
|
| 9 |
+
{{- content.text }}
|
| 10 |
+
{%- endif %}
|
| 11 |
+
{%- endfor %}
|
| 12 |
+
{%- endif %}
|
| 13 |
+
{{- '\n\n' }}
|
| 14 |
+
{%- endif %}
|
| 15 |
+
{{- "# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within <tools></tools> XML tags:\n<tools>" }}
|
| 16 |
+
{%- for tool in tools %}
|
| 17 |
+
{{- "\n" }}
|
| 18 |
+
{{- tool | tojson }}
|
| 19 |
+
{%- endfor %}
|
| 20 |
+
{{- "\n</tools>\n\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\n<tool_call>\n{\"name\": <function-name>, \"arguments\": <args-json-object>}\n</tool_call><|im_end|>\n" }}
|
| 21 |
+
{%- else %}
|
| 22 |
+
{%- if messages[0].role == 'system' %}
|
| 23 |
+
{{- '<|im_start|>system\n' }}
|
| 24 |
+
{%- if messages[0].content is string %}
|
| 25 |
+
{{- messages[0].content }}
|
| 26 |
+
{%- else %}
|
| 27 |
+
{%- for content in messages[0].content %}
|
| 28 |
+
{%- if 'text' in content %}
|
| 29 |
+
{{- content.text }}
|
| 30 |
+
{%- endif %}
|
| 31 |
+
{%- endfor %}
|
| 32 |
+
{%- endif %}
|
| 33 |
+
{{- '<|im_end|>\n' }}
|
| 34 |
+
{%- endif %}
|
| 35 |
+
{%- endif %}
|
| 36 |
+
{%- set image_count = namespace(value=0) %}
|
| 37 |
+
{%- set video_count = namespace(value=0) %}
|
| 38 |
+
{%- for message in messages %}
|
| 39 |
+
{%- if message.role == "user" %}
|
| 40 |
+
{{- '<|im_start|>' + message.role + '\n' }}
|
| 41 |
+
{%- if message.content is string %}
|
| 42 |
+
{{- message.content }}
|
| 43 |
+
{%- else %}
|
| 44 |
+
{%- for content in message.content %}
|
| 45 |
+
{%- if content.type == 'image' or 'image' in content or 'image_url' in content %}
|
| 46 |
+
{%- set image_count.value = image_count.value + 1 %}
|
| 47 |
+
{%- if add_vision_id %}Picture {{ image_count.value }}: {% endif -%}
|
| 48 |
+
<|vision_start|><|image_pad|><|vision_end|>
|
| 49 |
+
{%- elif content.type == 'video' or 'video' in content %}
|
| 50 |
+
{%- set video_count.value = video_count.value + 1 %}
|
| 51 |
+
{%- if add_vision_id %}Video {{ video_count.value }}: {% endif -%}
|
| 52 |
+
<|vision_start|><|video_pad|><|vision_end|>
|
| 53 |
+
{%- elif 'text' in content %}
|
| 54 |
+
{{- content.text }}
|
| 55 |
+
{%- endif %}
|
| 56 |
+
{%- endfor %}
|
| 57 |
+
{%- endif %}
|
| 58 |
+
{{- '<|im_end|>\n' }}
|
| 59 |
+
{%- elif message.role == "assistant" %}
|
| 60 |
+
{{- '<|im_start|>' + message.role + '\n' }}
|
| 61 |
+
{%- if message.content is string %}
|
| 62 |
+
{{- message.content }}
|
| 63 |
+
{%- else %}
|
| 64 |
+
{%- for content_item in message.content %}
|
| 65 |
+
{%- if 'text' in content_item %}
|
| 66 |
+
{{- content_item.text }}
|
| 67 |
+
{%- endif %}
|
| 68 |
+
{%- endfor %}
|
| 69 |
+
{%- endif %}
|
| 70 |
+
{%- if message.tool_calls %}
|
| 71 |
+
{%- for tool_call in message.tool_calls %}
|
| 72 |
+
{%- if (loop.first and message.content) or (not loop.first) %}
|
| 73 |
+
{{- '\n' }}
|
| 74 |
+
{%- endif %}
|
| 75 |
+
{%- if tool_call.function %}
|
| 76 |
+
{%- set tool_call = tool_call.function %}
|
| 77 |
+
{%- endif %}
|
| 78 |
+
{{- '<tool_call>\n{"name": "' }}
|
| 79 |
+
{{- tool_call.name }}
|
| 80 |
+
{{- '", "arguments": ' }}
|
| 81 |
+
{%- if tool_call.arguments is string %}
|
| 82 |
+
{{- tool_call.arguments }}
|
| 83 |
+
{%- else %}
|
| 84 |
+
{{- tool_call.arguments | tojson }}
|
| 85 |
+
{%- endif %}
|
| 86 |
+
{{- '}\n</tool_call>' }}
|
| 87 |
+
{%- endfor %}
|
| 88 |
+
{%- endif %}
|
| 89 |
+
{{- '<|im_end|>\n' }}
|
| 90 |
+
{%- elif message.role == "tool" %}
|
| 91 |
+
{%- if loop.first or (messages[loop.index0 - 1].role != "tool") %}
|
| 92 |
+
{{- '<|im_start|>user' }}
|
| 93 |
+
{%- endif %}
|
| 94 |
+
{{- '\n<tool_response>\n' }}
|
| 95 |
+
{%- if message.content is string %}
|
| 96 |
+
{{- message.content }}
|
| 97 |
+
{%- else %}
|
| 98 |
+
{%- for content in message.content %}
|
| 99 |
+
{%- if content.type == 'image' or 'image' in content or 'image_url' in content %}
|
| 100 |
+
{%- set image_count.value = image_count.value + 1 %}
|
| 101 |
+
{%- if add_vision_id %}Picture {{ image_count.value }}: {% endif -%}
|
| 102 |
+
<|vision_start|><|image_pad|><|vision_end|>
|
| 103 |
+
{%- elif content.type == 'video' or 'video' in content %}
|
| 104 |
+
{%- set video_count.value = video_count.value + 1 %}
|
| 105 |
+
{%- if add_vision_id %}Video {{ video_count.value }}: {% endif -%}
|
| 106 |
+
<|vision_start|><|video_pad|><|vision_end|>
|
| 107 |
+
{%- elif 'text' in content %}
|
| 108 |
+
{{- content.text }}
|
| 109 |
+
{%- endif %}
|
| 110 |
+
{%- endfor %}
|
| 111 |
+
{%- endif %}
|
| 112 |
+
{{- '\n</tool_response>' }}
|
| 113 |
+
{%- if loop.last or (messages[loop.index0 + 1].role != "tool") %}
|
| 114 |
+
{{- '<|im_end|>\n' }}
|
| 115 |
+
{%- endif %}
|
| 116 |
+
{%- endif %}
|
| 117 |
+
{%- endfor %}
|
| 118 |
+
{%- if add_generation_prompt %}
|
| 119 |
+
{{- '<|im_start|>assistant\n' }}
|
| 120 |
+
{%- endif %}
|
text_tokenizer/merges.txt
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
text_tokenizer/special_tokens_map.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"additional_special_tokens": [
|
| 3 |
+
"<|im_start|>",
|
| 4 |
+
"<|im_end|>",
|
| 5 |
+
"<|object_ref_start|>",
|
| 6 |
+
"<|object_ref_end|>",
|
| 7 |
+
"<|box_start|>",
|
| 8 |
+
"<|box_end|>",
|
| 9 |
+
"<|quad_start|>",
|
| 10 |
+
"<|quad_end|>",
|
| 11 |
+
"<|vision_start|>",
|
| 12 |
+
"<|vision_end|>",
|
| 13 |
+
"<|vision_pad|>",
|
| 14 |
+
"<|image_pad|>",
|
| 15 |
+
"<|video_pad|>"
|
| 16 |
+
],
|
| 17 |
+
"eos_token": {
|
| 18 |
+
"content": "<|im_end|>",
|
| 19 |
+
"lstrip": false,
|
| 20 |
+
"normalized": false,
|
| 21 |
+
"rstrip": false,
|
| 22 |
+
"single_word": false
|
| 23 |
+
},
|
| 24 |
+
"pad_token": {
|
| 25 |
+
"content": "<|endoftext|>",
|
| 26 |
+
"lstrip": false,
|
| 27 |
+
"normalized": false,
|
| 28 |
+
"rstrip": false,
|
| 29 |
+
"single_word": false
|
| 30 |
+
}
|
| 31 |
+
}
|
text_tokenizer/tokenizer.json
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4
|
| 3 |
+
size 11422654
|
text_tokenizer/tokenizer_config.json
ADDED
|
@@ -0,0 +1,239 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"add_bos_token": false,
|
| 3 |
+
"add_prefix_space": false,
|
| 4 |
+
"added_tokens_decoder": {
|
| 5 |
+
"151643": {
|
| 6 |
+
"content": "<|endoftext|>",
|
| 7 |
+
"lstrip": false,
|
| 8 |
+
"normalized": false,
|
| 9 |
+
"rstrip": false,
|
| 10 |
+
"single_word": false,
|
| 11 |
+
"special": true
|
| 12 |
+
},
|
| 13 |
+
"151644": {
|
| 14 |
+
"content": "<|im_start|>",
|
| 15 |
+
"lstrip": false,
|
| 16 |
+
"normalized": false,
|
| 17 |
+
"rstrip": false,
|
| 18 |
+
"single_word": false,
|
| 19 |
+
"special": true
|
| 20 |
+
},
|
| 21 |
+
"151645": {
|
| 22 |
+
"content": "<|im_end|>",
|
| 23 |
+
"lstrip": false,
|
| 24 |
+
"normalized": false,
|
| 25 |
+
"rstrip": false,
|
| 26 |
+
"single_word": false,
|
| 27 |
+
"special": true
|
| 28 |
+
},
|
| 29 |
+
"151646": {
|
| 30 |
+
"content": "<|object_ref_start|>",
|
| 31 |
+
"lstrip": false,
|
| 32 |
+
"normalized": false,
|
| 33 |
+
"rstrip": false,
|
| 34 |
+
"single_word": false,
|
| 35 |
+
"special": true
|
| 36 |
+
},
|
| 37 |
+
"151647": {
|
| 38 |
+
"content": "<|object_ref_end|>",
|
| 39 |
+
"lstrip": false,
|
| 40 |
+
"normalized": false,
|
| 41 |
+
"rstrip": false,
|
| 42 |
+
"single_word": false,
|
| 43 |
+
"special": true
|
| 44 |
+
},
|
| 45 |
+
"151648": {
|
| 46 |
+
"content": "<|box_start|>",
|
| 47 |
+
"lstrip": false,
|
| 48 |
+
"normalized": false,
|
| 49 |
+
"rstrip": false,
|
| 50 |
+
"single_word": false,
|
| 51 |
+
"special": true
|
| 52 |
+
},
|
| 53 |
+
"151649": {
|
| 54 |
+
"content": "<|box_end|>",
|
| 55 |
+
"lstrip": false,
|
| 56 |
+
"normalized": false,
|
| 57 |
+
"rstrip": false,
|
| 58 |
+
"single_word": false,
|
| 59 |
+
"special": true
|
| 60 |
+
},
|
| 61 |
+
"151650": {
|
| 62 |
+
"content": "<|quad_start|>",
|
| 63 |
+
"lstrip": false,
|
| 64 |
+
"normalized": false,
|
| 65 |
+
"rstrip": false,
|
| 66 |
+
"single_word": false,
|
| 67 |
+
"special": true
|
| 68 |
+
},
|
| 69 |
+
"151651": {
|
| 70 |
+
"content": "<|quad_end|>",
|
| 71 |
+
"lstrip": false,
|
| 72 |
+
"normalized": false,
|
| 73 |
+
"rstrip": false,
|
| 74 |
+
"single_word": false,
|
| 75 |
+
"special": true
|
| 76 |
+
},
|
| 77 |
+
"151652": {
|
| 78 |
+
"content": "<|vision_start|>",
|
| 79 |
+
"lstrip": false,
|
| 80 |
+
"normalized": false,
|
| 81 |
+
"rstrip": false,
|
| 82 |
+
"single_word": false,
|
| 83 |
+
"special": true
|
| 84 |
+
},
|
| 85 |
+
"151653": {
|
| 86 |
+
"content": "<|vision_end|>",
|
| 87 |
+
"lstrip": false,
|
| 88 |
+
"normalized": false,
|
| 89 |
+
"rstrip": false,
|
| 90 |
+
"single_word": false,
|
| 91 |
+
"special": true
|
| 92 |
+
},
|
| 93 |
+
"151654": {
|
| 94 |
+
"content": "<|vision_pad|>",
|
| 95 |
+
"lstrip": false,
|
| 96 |
+
"normalized": false,
|
| 97 |
+
"rstrip": false,
|
| 98 |
+
"single_word": false,
|
| 99 |
+
"special": true
|
| 100 |
+
},
|
| 101 |
+
"151655": {
|
| 102 |
+
"content": "<|image_pad|>",
|
| 103 |
+
"lstrip": false,
|
| 104 |
+
"normalized": false,
|
| 105 |
+
"rstrip": false,
|
| 106 |
+
"single_word": false,
|
| 107 |
+
"special": true
|
| 108 |
+
},
|
| 109 |
+
"151656": {
|
| 110 |
+
"content": "<|video_pad|>",
|
| 111 |
+
"lstrip": false,
|
| 112 |
+
"normalized": false,
|
| 113 |
+
"rstrip": false,
|
| 114 |
+
"single_word": false,
|
| 115 |
+
"special": true
|
| 116 |
+
},
|
| 117 |
+
"151657": {
|
| 118 |
+
"content": "<tool_call>",
|
| 119 |
+
"lstrip": false,
|
| 120 |
+
"normalized": false,
|
| 121 |
+
"rstrip": false,
|
| 122 |
+
"single_word": false,
|
| 123 |
+
"special": false
|
| 124 |
+
},
|
| 125 |
+
"151658": {
|
| 126 |
+
"content": "</tool_call>",
|
| 127 |
+
"lstrip": false,
|
| 128 |
+
"normalized": false,
|
| 129 |
+
"rstrip": false,
|
| 130 |
+
"single_word": false,
|
| 131 |
+
"special": false
|
| 132 |
+
},
|
| 133 |
+
"151659": {
|
| 134 |
+
"content": "<|fim_prefix|>",
|
| 135 |
+
"lstrip": false,
|
| 136 |
+
"normalized": false,
|
| 137 |
+
"rstrip": false,
|
| 138 |
+
"single_word": false,
|
| 139 |
+
"special": false
|
| 140 |
+
},
|
| 141 |
+
"151660": {
|
| 142 |
+
"content": "<|fim_middle|>",
|
| 143 |
+
"lstrip": false,
|
| 144 |
+
"normalized": false,
|
| 145 |
+
"rstrip": false,
|
| 146 |
+
"single_word": false,
|
| 147 |
+
"special": false
|
| 148 |
+
},
|
| 149 |
+
"151661": {
|
| 150 |
+
"content": "<|fim_suffix|>",
|
| 151 |
+
"lstrip": false,
|
| 152 |
+
"normalized": false,
|
| 153 |
+
"rstrip": false,
|
| 154 |
+
"single_word": false,
|
| 155 |
+
"special": false
|
| 156 |
+
},
|
| 157 |
+
"151662": {
|
| 158 |
+
"content": "<|fim_pad|>",
|
| 159 |
+
"lstrip": false,
|
| 160 |
+
"normalized": false,
|
| 161 |
+
"rstrip": false,
|
| 162 |
+
"single_word": false,
|
| 163 |
+
"special": false
|
| 164 |
+
},
|
| 165 |
+
"151663": {
|
| 166 |
+
"content": "<|repo_name|>",
|
| 167 |
+
"lstrip": false,
|
| 168 |
+
"normalized": false,
|
| 169 |
+
"rstrip": false,
|
| 170 |
+
"single_word": false,
|
| 171 |
+
"special": false
|
| 172 |
+
},
|
| 173 |
+
"151664": {
|
| 174 |
+
"content": "<|file_sep|>",
|
| 175 |
+
"lstrip": false,
|
| 176 |
+
"normalized": false,
|
| 177 |
+
"rstrip": false,
|
| 178 |
+
"single_word": false,
|
| 179 |
+
"special": false
|
| 180 |
+
},
|
| 181 |
+
"151665": {
|
| 182 |
+
"content": "<tool_response>",
|
| 183 |
+
"lstrip": false,
|
| 184 |
+
"normalized": false,
|
| 185 |
+
"rstrip": false,
|
| 186 |
+
"single_word": false,
|
| 187 |
+
"special": false
|
| 188 |
+
},
|
| 189 |
+
"151666": {
|
| 190 |
+
"content": "</tool_response>",
|
| 191 |
+
"lstrip": false,
|
| 192 |
+
"normalized": false,
|
| 193 |
+
"rstrip": false,
|
| 194 |
+
"single_word": false,
|
| 195 |
+
"special": false
|
| 196 |
+
},
|
| 197 |
+
"151667": {
|
| 198 |
+
"content": "<think>",
|
| 199 |
+
"lstrip": false,
|
| 200 |
+
"normalized": false,
|
| 201 |
+
"rstrip": false,
|
| 202 |
+
"single_word": false,
|
| 203 |
+
"special": false
|
| 204 |
+
},
|
| 205 |
+
"151668": {
|
| 206 |
+
"content": "</think>",
|
| 207 |
+
"lstrip": false,
|
| 208 |
+
"normalized": false,
|
| 209 |
+
"rstrip": false,
|
| 210 |
+
"single_word": false,
|
| 211 |
+
"special": false
|
| 212 |
+
}
|
| 213 |
+
},
|
| 214 |
+
"additional_special_tokens": [
|
| 215 |
+
"<|im_start|>",
|
| 216 |
+
"<|im_end|>",
|
| 217 |
+
"<|object_ref_start|>",
|
| 218 |
+
"<|object_ref_end|>",
|
| 219 |
+
"<|box_start|>",
|
| 220 |
+
"<|box_end|>",
|
| 221 |
+
"<|quad_start|>",
|
| 222 |
+
"<|quad_end|>",
|
| 223 |
+
"<|vision_start|>",
|
| 224 |
+
"<|vision_end|>",
|
| 225 |
+
"<|vision_pad|>",
|
| 226 |
+
"<|image_pad|>",
|
| 227 |
+
"<|video_pad|>"
|
| 228 |
+
],
|
| 229 |
+
"bos_token": null,
|
| 230 |
+
"clean_up_tokenization_spaces": false,
|
| 231 |
+
"eos_token": "<|im_end|>",
|
| 232 |
+
"errors": "replace",
|
| 233 |
+
"extra_special_tokens": {},
|
| 234 |
+
"model_max_length": 262144,
|
| 235 |
+
"pad_token": "<|endoftext|>",
|
| 236 |
+
"split_special_tokens": false,
|
| 237 |
+
"tokenizer_class": "Qwen2Tokenizer",
|
| 238 |
+
"unk_token": null
|
| 239 |
+
}
|
text_tokenizer/vocab.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
tokenizer.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
tokenizer_config.json
ADDED
|
@@ -0,0 +1,239 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"add_bos_token": false,
|
| 3 |
+
"add_prefix_space": false,
|
| 4 |
+
"added_tokens_decoder": {
|
| 5 |
+
"151643": {
|
| 6 |
+
"content": "<|endoftext|>",
|
| 7 |
+
"lstrip": false,
|
| 8 |
+
"normalized": false,
|
| 9 |
+
"rstrip": false,
|
| 10 |
+
"single_word": false,
|
| 11 |
+
"special": true
|
| 12 |
+
},
|
| 13 |
+
"151644": {
|
| 14 |
+
"content": "<|im_start|>",
|
| 15 |
+
"lstrip": false,
|
| 16 |
+
"normalized": false,
|
| 17 |
+
"rstrip": false,
|
| 18 |
+
"single_word": false,
|
| 19 |
+
"special": true
|
| 20 |
+
},
|
| 21 |
+
"151645": {
|
| 22 |
+
"content": "<|im_end|>",
|
| 23 |
+
"lstrip": false,
|
| 24 |
+
"normalized": false,
|
| 25 |
+
"rstrip": false,
|
| 26 |
+
"single_word": false,
|
| 27 |
+
"special": true
|
| 28 |
+
},
|
| 29 |
+
"151646": {
|
| 30 |
+
"content": "<|object_ref_start|>",
|
| 31 |
+
"lstrip": false,
|
| 32 |
+
"normalized": false,
|
| 33 |
+
"rstrip": false,
|
| 34 |
+
"single_word": false,
|
| 35 |
+
"special": true
|
| 36 |
+
},
|
| 37 |
+
"151647": {
|
| 38 |
+
"content": "<|object_ref_end|>",
|
| 39 |
+
"lstrip": false,
|
| 40 |
+
"normalized": false,
|
| 41 |
+
"rstrip": false,
|
| 42 |
+
"single_word": false,
|
| 43 |
+
"special": true
|
| 44 |
+
},
|
| 45 |
+
"151648": {
|
| 46 |
+
"content": "<|box_start|>",
|
| 47 |
+
"lstrip": false,
|
| 48 |
+
"normalized": false,
|
| 49 |
+
"rstrip": false,
|
| 50 |
+
"single_word": false,
|
| 51 |
+
"special": true
|
| 52 |
+
},
|
| 53 |
+
"151649": {
|
| 54 |
+
"content": "<|box_end|>",
|
| 55 |
+
"lstrip": false,
|
| 56 |
+
"normalized": false,
|
| 57 |
+
"rstrip": false,
|
| 58 |
+
"single_word": false,
|
| 59 |
+
"special": true
|
| 60 |
+
},
|
| 61 |
+
"151650": {
|
| 62 |
+
"content": "<|quad_start|>",
|
| 63 |
+
"lstrip": false,
|
| 64 |
+
"normalized": false,
|
| 65 |
+
"rstrip": false,
|
| 66 |
+
"single_word": false,
|
| 67 |
+
"special": true
|
| 68 |
+
},
|
| 69 |
+
"151651": {
|
| 70 |
+
"content": "<|quad_end|>",
|
| 71 |
+
"lstrip": false,
|
| 72 |
+
"normalized": false,
|
| 73 |
+
"rstrip": false,
|
| 74 |
+
"single_word": false,
|
| 75 |
+
"special": true
|
| 76 |
+
},
|
| 77 |
+
"151652": {
|
| 78 |
+
"content": "<|vision_start|>",
|
| 79 |
+
"lstrip": false,
|
| 80 |
+
"normalized": false,
|
| 81 |
+
"rstrip": false,
|
| 82 |
+
"single_word": false,
|
| 83 |
+
"special": true
|
| 84 |
+
},
|
| 85 |
+
"151653": {
|
| 86 |
+
"content": "<|vision_end|>",
|
| 87 |
+
"lstrip": false,
|
| 88 |
+
"normalized": false,
|
| 89 |
+
"rstrip": false,
|
| 90 |
+
"single_word": false,
|
| 91 |
+
"special": true
|
| 92 |
+
},
|
| 93 |
+
"151654": {
|
| 94 |
+
"content": "<|vision_pad|>",
|
| 95 |
+
"lstrip": false,
|
| 96 |
+
"normalized": false,
|
| 97 |
+
"rstrip": false,
|
| 98 |
+
"single_word": false,
|
| 99 |
+
"special": true
|
| 100 |
+
},
|
| 101 |
+
"151655": {
|
| 102 |
+
"content": "<|image_pad|>",
|
| 103 |
+
"lstrip": false,
|
| 104 |
+
"normalized": false,
|
| 105 |
+
"rstrip": false,
|
| 106 |
+
"single_word": false,
|
| 107 |
+
"special": true
|
| 108 |
+
},
|
| 109 |
+
"151656": {
|
| 110 |
+
"content": "<|video_pad|>",
|
| 111 |
+
"lstrip": false,
|
| 112 |
+
"normalized": false,
|
| 113 |
+
"rstrip": false,
|
| 114 |
+
"single_word": false,
|
| 115 |
+
"special": true
|
| 116 |
+
},
|
| 117 |
+
"151657": {
|
| 118 |
+
"content": "<tool_call>",
|
| 119 |
+
"lstrip": false,
|
| 120 |
+
"normalized": false,
|
| 121 |
+
"rstrip": false,
|
| 122 |
+
"single_word": false,
|
| 123 |
+
"special": false
|
| 124 |
+
},
|
| 125 |
+
"151658": {
|
| 126 |
+
"content": "</tool_call>",
|
| 127 |
+
"lstrip": false,
|
| 128 |
+
"normalized": false,
|
| 129 |
+
"rstrip": false,
|
| 130 |
+
"single_word": false,
|
| 131 |
+
"special": false
|
| 132 |
+
},
|
| 133 |
+
"151659": {
|
| 134 |
+
"content": "<|fim_prefix|>",
|
| 135 |
+
"lstrip": false,
|
| 136 |
+
"normalized": false,
|
| 137 |
+
"rstrip": false,
|
| 138 |
+
"single_word": false,
|
| 139 |
+
"special": false
|
| 140 |
+
},
|
| 141 |
+
"151660": {
|
| 142 |
+
"content": "<|fim_middle|>",
|
| 143 |
+
"lstrip": false,
|
| 144 |
+
"normalized": false,
|
| 145 |
+
"rstrip": false,
|
| 146 |
+
"single_word": false,
|
| 147 |
+
"special": false
|
| 148 |
+
},
|
| 149 |
+
"151661": {
|
| 150 |
+
"content": "<|fim_suffix|>",
|
| 151 |
+
"lstrip": false,
|
| 152 |
+
"normalized": false,
|
| 153 |
+
"rstrip": false,
|
| 154 |
+
"single_word": false,
|
| 155 |
+
"special": false
|
| 156 |
+
},
|
| 157 |
+
"151662": {
|
| 158 |
+
"content": "<|fim_pad|>",
|
| 159 |
+
"lstrip": false,
|
| 160 |
+
"normalized": false,
|
| 161 |
+
"rstrip": false,
|
| 162 |
+
"single_word": false,
|
| 163 |
+
"special": false
|
| 164 |
+
},
|
| 165 |
+
"151663": {
|
| 166 |
+
"content": "<|repo_name|>",
|
| 167 |
+
"lstrip": false,
|
| 168 |
+
"normalized": false,
|
| 169 |
+
"rstrip": false,
|
| 170 |
+
"single_word": false,
|
| 171 |
+
"special": false
|
| 172 |
+
},
|
| 173 |
+
"151664": {
|
| 174 |
+
"content": "<|file_sep|>",
|
| 175 |
+
"lstrip": false,
|
| 176 |
+
"normalized": false,
|
| 177 |
+
"rstrip": false,
|
| 178 |
+
"single_word": false,
|
| 179 |
+
"special": false
|
| 180 |
+
},
|
| 181 |
+
"151665": {
|
| 182 |
+
"content": "<tool_response>",
|
| 183 |
+
"lstrip": false,
|
| 184 |
+
"normalized": false,
|
| 185 |
+
"rstrip": false,
|
| 186 |
+
"single_word": false,
|
| 187 |
+
"special": false
|
| 188 |
+
},
|
| 189 |
+
"151666": {
|
| 190 |
+
"content": "</tool_response>",
|
| 191 |
+
"lstrip": false,
|
| 192 |
+
"normalized": false,
|
| 193 |
+
"rstrip": false,
|
| 194 |
+
"single_word": false,
|
| 195 |
+
"special": false
|
| 196 |
+
},
|
| 197 |
+
"151667": {
|
| 198 |
+
"content": "<think>",
|
| 199 |
+
"lstrip": false,
|
| 200 |
+
"normalized": false,
|
| 201 |
+
"rstrip": false,
|
| 202 |
+
"single_word": false,
|
| 203 |
+
"special": false
|
| 204 |
+
},
|
| 205 |
+
"151668": {
|
| 206 |
+
"content": "</think>",
|
| 207 |
+
"lstrip": false,
|
| 208 |
+
"normalized": false,
|
| 209 |
+
"rstrip": false,
|
| 210 |
+
"single_word": false,
|
| 211 |
+
"special": false
|
| 212 |
+
}
|
| 213 |
+
},
|
| 214 |
+
"additional_special_tokens": [
|
| 215 |
+
"<|im_start|>",
|
| 216 |
+
"<|im_end|>",
|
| 217 |
+
"<|object_ref_start|>",
|
| 218 |
+
"<|object_ref_end|>",
|
| 219 |
+
"<|box_start|>",
|
| 220 |
+
"<|box_end|>",
|
| 221 |
+
"<|quad_start|>",
|
| 222 |
+
"<|quad_end|>",
|
| 223 |
+
"<|vision_start|>",
|
| 224 |
+
"<|vision_end|>",
|
| 225 |
+
"<|vision_pad|>",
|
| 226 |
+
"<|image_pad|>",
|
| 227 |
+
"<|video_pad|>"
|
| 228 |
+
],
|
| 229 |
+
"bos_token": null,
|
| 230 |
+
"chat_template": "{%- if tools %}\n {{- '<|im_start|>system\\n' }}\n {%- if messages[0].role == 'system' %}\n {%- if messages[0].content is string %}\n {{- messages[0].content }}\n {%- else %}\n {%- for content in messages[0].content %}\n {%- if 'text' in content %}\n {{- content.text }}\n {%- endif %}\n {%- endfor %}\n {%- endif %}\n {{- '\\n\\n' }}\n {%- endif %}\n {{- \"# Tools\\n\\nYou may call one or more functions to assist with the user query.\\n\\nYou are provided with function signatures within <tools></tools> XML tags:\\n<tools>\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n</tools>\\n\\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\\n<tool_call>\\n{\\\"name\\\": <function-name>, \\\"arguments\\\": <args-json-object>}\\n</tool_call><|im_end|>\\n\" }}\n{%- else %}\n {%- if messages[0].role == 'system' %}\n {{- '<|im_start|>system\\n' }}\n {%- if messages[0].content is string %}\n {{- messages[0].content }}\n {%- else %}\n {%- for content in messages[0].content %}\n {%- if 'text' in content %}\n {{- content.text }}\n {%- endif %}\n {%- endfor %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- set image_count = namespace(value=0) %}\n{%- set video_count = namespace(value=0) %}\n{%- for message in messages %}\n {%- if message.role == \"user\" %}\n {{- '<|im_start|>' + message.role + '\\n' }}\n {%- if message.content is string %}\n {{- message.content }}\n {%- else %}\n {%- for content in message.content %}\n {%- if content.type == 'image' or 'image' in content or 'image_url' in content %}\n {%- set image_count.value = image_count.value + 1 %}\n {%- if add_vision_id %}Picture {{ image_count.value }}: {% endif -%}\n <|vision_start|><|image_pad|><|vision_end|>\n {%- elif content.type == 'video' or 'video' in content %}\n {%- set video_count.value = video_count.value + 1 %}\n {%- if add_vision_id %}Video {{ video_count.value }}: {% endif -%}\n <|vision_start|><|video_pad|><|vision_end|>\n {%- elif 'text' in content %}\n {{- content.text }}\n {%- endif %}\n {%- endfor %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"assistant\" %}\n {{- '<|im_start|>' + message.role + '\\n' }}\n {%- if message.content is string %}\n {{- message.content }}\n {%- else %}\n {%- for content_item in message.content %}\n {%- if 'text' in content_item %}\n {{- content_item.text }}\n {%- endif %}\n {%- endfor %}\n {%- endif %}\n {%- if message.tool_calls %}\n {%- for tool_call in message.tool_calls %}\n {%- if (loop.first and message.content) or (not loop.first) %}\n {{- '\\n' }}\n {%- endif %}\n {%- if tool_call.function %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {{- '<tool_call>\\n{\"name\": \"' }}\n {{- tool_call.name }}\n {{- '\", \"arguments\": ' }}\n {%- if tool_call.arguments is string %}\n {{- tool_call.arguments }}\n {%- else %}\n {{- tool_call.arguments | tojson }}\n {%- endif %}\n {{- '}\\n</tool_call>' }}\n {%- endfor %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if loop.first or (messages[loop.index0 - 1].role != \"tool\") %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n<tool_response>\\n' }}\n {%- if message.content is string %}\n {{- message.content }}\n {%- else %}\n {%- for content in message.content %}\n {%- if content.type == 'image' or 'image' in content or 'image_url' in content %}\n {%- set image_count.value = image_count.value + 1 %}\n {%- if add_vision_id %}Picture {{ image_count.value }}: {% endif -%}\n <|vision_start|><|image_pad|><|vision_end|>\n {%- elif content.type == 'video' or 'video' in content %}\n {%- set video_count.value = video_count.value + 1 %}\n {%- if add_vision_id %}Video {{ video_count.value }}: {% endif -%}\n <|vision_start|><|video_pad|><|vision_end|>\n {%- elif 'text' in content %}\n {{- content.text }}\n {%- endif %}\n {%- endfor %}\n {%- endif %}\n {{- '\\n</tool_response>' }}\n {%- if loop.last or (messages[loop.index0 + 1].role != \"tool\") %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n{%- endif %}\n",
|
| 231 |
+
"clean_up_tokenization_spaces": false,
|
| 232 |
+
"eos_token": "<|im_end|>",
|
| 233 |
+
"errors": "replace",
|
| 234 |
+
"model_max_length": 262144,
|
| 235 |
+
"pad_token": "<|endoftext|>",
|
| 236 |
+
"split_special_tokens": false,
|
| 237 |
+
"tokenizer_class": "Qwen2Tokenizer",
|
| 238 |
+
"unk_token": null
|
| 239 |
+
}
|
transformer/config.json
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"_class_name": "Cosmos3OmniTransformer",
|
| 3 |
+
"_diffusers_version": "0.38.0",
|
| 4 |
+
"action_dim": 32,
|
| 5 |
+
"action_gen": false,
|
| 6 |
+
"attention_bias": false,
|
| 7 |
+
"attention_dropout": 0.0,
|
| 8 |
+
"base_fps": 16,
|
| 9 |
+
"dtype": "bfloat16",
|
| 10 |
+
"enable_fps_modulation": true,
|
| 11 |
+
"freeze_und": false,
|
| 12 |
+
"head_dim": 128,
|
| 13 |
+
"hidden_act": "silu",
|
| 14 |
+
"hidden_size": 5120,
|
| 15 |
+
"initializer_range": 0.02,
|
| 16 |
+
"intermediate_size": 25600,
|
| 17 |
+
"joint_attn_implementation": "two_way",
|
| 18 |
+
"latent_channel": 48,
|
| 19 |
+
"latent_patch_size": 2,
|
| 20 |
+
"max_action_dim": 32,
|
| 21 |
+
"max_position_embeddings": 262144,
|
| 22 |
+
"model_type": "qwen3_vl_text",
|
| 23 |
+
"num_attention_heads": 64,
|
| 24 |
+
"num_embodiment_domains": 32,
|
| 25 |
+
"num_hidden_layers": 64,
|
| 26 |
+
"num_key_value_heads": 8,
|
| 27 |
+
"patch_latent_dim": 192,
|
| 28 |
+
"position_embedding_type": "unified_3d_mrope",
|
| 29 |
+
"qk_norm": false,
|
| 30 |
+
"qk_norm_for_diffusion": true,
|
| 31 |
+
"qk_norm_for_text": true,
|
| 32 |
+
"rms_norm_eps": 1e-06,
|
| 33 |
+
"rope_scaling": {
|
| 34 |
+
"mrope_interleaved": true,
|
| 35 |
+
"mrope_section": [
|
| 36 |
+
24,
|
| 37 |
+
20,
|
| 38 |
+
20
|
| 39 |
+
],
|
| 40 |
+
"rope_type": "default"
|
| 41 |
+
},
|
| 42 |
+
"rope_theta": 5000000,
|
| 43 |
+
"sound_dim": null,
|
| 44 |
+
"sound_gen": false,
|
| 45 |
+
"sound_latent_fps": 25,
|
| 46 |
+
"temporal_compression_factor_sound": 1,
|
| 47 |
+
"timestep_scale": 0.001,
|
| 48 |
+
"unified_3d_mrope_reset_spatial_ids": true,
|
| 49 |
+
"unified_3d_mrope_temporal_modality_margin": 15000,
|
| 50 |
+
"use_cache": true,
|
| 51 |
+
"use_moe": true,
|
| 52 |
+
"video_temporal_causal": false,
|
| 53 |
+
"vocab_size": 151936
|
| 54 |
+
}
|
transformer/diffusion_pytorch_model-00001-of-00027.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:da7e1203782fdbcc24c3ebd965698bdb733c40de79a741a512c3e08106e0e404
|
| 3 |
+
size 4932286736
|
transformer/diffusion_pytorch_model-00002-of-00027.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:deef4952ef906fa0f4f28bf789bab114e224f6437f34ab25bbe6e1253224d750
|
| 3 |
+
size 4802610968
|
transformer/diffusion_pytorch_model-00003-of-00027.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:73e619cfc4a34499be985f19f367dcf6213d952b7a6f538f74be22c45da48f4c
|
| 3 |
+
size 4949368056
|
transformer/diffusion_pytorch_model-00004-of-00027.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:4af5caa0da9e09b3db7454b71d5de50b553ac0f9a08bcf9193a08de61dcc948b
|
| 3 |
+
size 4802610968
|
transformer/diffusion_pytorch_model-00005-of-00027.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:443bb738c375588f50ef23010ac5d01c3a8cd8ad05dbd500463fdab3fd1f7b61
|
| 3 |
+
size 4949368096
|
transformer/diffusion_pytorch_model-00006-of-00027.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:86ec5a7fe509ad59512b59843972b55628298fe7c79422a29f9846758b4320f7
|
| 3 |
+
size 4802611024
|
transformer/diffusion_pytorch_model-00007-of-00027.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:277e2a2e055262b922bf20fc350331c7269cc653ab9aa98fc24bc79fd278aa8d
|
| 3 |
+
size 4949368104
|
transformer/diffusion_pytorch_model-00008-of-00027.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:ad567bf9eae72d1001495df60fb9f4c1b53063517a3c7e9573efeef6b49d6182
|
| 3 |
+
size 4802611024
|
transformer/diffusion_pytorch_model-00009-of-00027.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:d29572826e0f3dddf7300923157fea981784fccf77b9a3041810e5c61046c722
|
| 3 |
+
size 4949368104
|
transformer/diffusion_pytorch_model-00010-of-00027.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:eb0dc522049b96cc5eb624dbf355d6eb78981795705c47ce0508823ecc9c4f1f
|
| 3 |
+
size 4802611024
|
transformer/diffusion_pytorch_model-00011-of-00027.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:4eec73f0e89965bffcd8dad0da82ecfe6e89def456a31c03fde1164de44b8364
|
| 3 |
+
size 4949368104
|
transformer/diffusion_pytorch_model-00012-of-00027.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:453fbbf4ac59b0f7340b57cf3dcd73d49cae356ba2aa9bd7797449e5925cbcd9
|
| 3 |
+
size 4802611024
|
transformer/diffusion_pytorch_model-00013-of-00027.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a21745d30b07533fcc1e3bcf8283bbf0cb94141b42a359b3599d5242246e2f76
|
| 3 |
+
size 4949368104
|
transformer/diffusion_pytorch_model-00014-of-00027.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:595dfc0caa65e8c18f3e9abd700e6d2fff2774047c9dbb04e001eb0530459e7f
|
| 3 |
+
size 4802611024
|
transformer/diffusion_pytorch_model-00015-of-00027.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:3da0db1ef8cba18ae3e0077ef4c5eedeb23545ede99882df5ddf2d83800581fb
|
| 3 |
+
size 4949368104
|
transformer/diffusion_pytorch_model-00016-of-00027.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:5774ddf0cb924d0d003c6013bf9a80f7d8fb8cb76bbb3e8d1ec04a373452e648
|
| 3 |
+
size 4802611024
|