> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/curator/llms.txt.
> For full documentation content, see https://docs.nvidia.com/nemo/curator/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/curator/_mcp/server.

# nemo_curator.models.nemotron_3_nano_omni

## Module Contents

### Classes

| Name                                                                               | Description                                               |
| ---------------------------------------------------------------------------------- | --------------------------------------------------------- |
| [`LLM`](#nemo_curator-models-nemotron_3_nano_omni-LLM)                             | -                                                         |
| [`Nemotron3NanoOmni`](#nemo_curator-models-nemotron_3_nano_omni-Nemotron3NanoOmni) | Nemotron 3 Nano Omni multimodal VLM for video captioning. |
| [`SamplingParams`](#nemo_curator-models-nemotron_3_nano_omni-SamplingParams)       | -                                                         |

### Data

[`VLLM_AVAILABLE`](#nemo_curator-models-nemotron_3_nano_omni-VLLM_AVAILABLE)

[`_EXPECTED_VIDEO_TAG_PARTS`](#nemo_curator-models-nemotron_3_nano_omni-_EXPECTED_VIDEO_TAG_PARTS)

[`_HF_MODEL_ID`](#nemo_curator-models-nemotron_3_nano_omni-_HF_MODEL_ID)

[`_HF_REVISION`](#nemo_curator-models-nemotron_3_nano_omni-_HF_REVISION)

[`_VIDEO_TAG_SPLIT_MAX`](#nemo_curator-models-nemotron_3_nano_omni-_VIDEO_TAG_SPLIT_MAX)

### API

```python
class nemo_curator.models.nemotron_3_nano_omni.LLM()
```

```python
class nemo_curator.models.nemotron_3_nano_omni.Nemotron3NanoOmni(
    model_dir: str,
    caption_batch_size: int = 8,
    max_output_tokens: int = 512,
    stage2_prompt_text: str | None = None,
    verbose: bool = False
)
```

**Bases:** [ModelInterface](/nemo-curator/nemo_curator/models/base#nemo_curator-models-base-ModelInterface)

Nemotron 3 Nano Omni multimodal VLM for video captioning.

Weights are downloaded automatically from HuggingFace on first use.
model\_dir is the base directory; weights are stored at model\_dir/\<\_HF\_MODEL\_ID>/.

```python
nemo_curator.models.nemotron_3_nano_omni.Nemotron3NanoOmni._patch_config(
    model_dir_path: pathlib.Path
) -> None
```

staticmethod

```python
nemo_curator.models.nemotron_3_nano_omni.Nemotron3NanoOmni._refine_caption_prompt(
    original_prompt: str,
    refinement_text: str
) -> str
```

```python
nemo_curator.models.nemotron_3_nano_omni.Nemotron3NanoOmni.download_weights_on_node(
    model_dir: str
) -> None
```

classmethod

Download Nemotron3NanoOmni weights.

```python
nemo_curator.models.nemotron_3_nano_omni.Nemotron3NanoOmni.generate(
    videos: list[dict[str, typing.Any]],
    generate_stage2_caption: bool = False,
    batch_size: int | None = None
) -> list[str]
```

```python
nemo_curator.models.nemotron_3_nano_omni.Nemotron3NanoOmni.setup() -> None
```

```python
class nemo_curator.models.nemotron_3_nano_omni.SamplingParams()
```

```python
nemo_curator.models.nemotron_3_nano_omni.VLLM_AVAILABLE = True
```

```python
nemo_curator.models.nemotron_3_nano_omni._EXPECTED_VIDEO_TAG_PARTS = 2
```

```python
nemo_curator.models.nemotron_3_nano_omni._HF_MODEL_ID: Final[str] = 'nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning'
```

```python
nemo_curator.models.nemotron_3_nano_omni._HF_REVISION: Final[str] = '23d21acd455d9836d50c48570a329bde77e08ba4'
```

```python
nemo_curator.models.nemotron_3_nano_omni._VIDEO_TAG_SPLIT_MAX = 1
```