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

# nemo_gym.vision_input

Shared prompt and image input construction for HLE datasets.

## Module Contents

### Functions

| Name                                                            | Description                                                            |
| --------------------------------------------------------------- | ---------------------------------------------------------------------- |
| [`_to_data_uri`](#nemo_gym-vision_input-_to_data_uri)           | Normalize an HLE image field into a data URI usable as an `image_url`. |
| [`build_image_input`](#nemo_gym-vision_input-build_image_input) | Build a materialized `responses_create_params.input` for one row.      |

### API

```python
nemo_gym.vision_input._to_data_uri(
    image: str
) -> str
```

Normalize an HLE image field into a data URI usable as an `image_url`.

The `cais/hle` image column stores a base64 data URI string (e.g.
`data:image/png;base64,...`) for image questions. If a raw base64 payload
is encountered instead, wrap it with a PNG data-URI prefix.

```python
nemo_gym.vision_input.build_image_input(
    prompt_config: nemo_gym.prompt.PromptConfig,
    question: str,
    image: str
) -> list[dict]
```

Build a materialized `responses_create_params.input` for one row.

Applies the shared prompt template, then (for image questions) rewrites the
user turn into a multimodal content list with an `input_image` block.