> This page is for RFD4-Proteina, version 1.0.0 (Latest) (default).
> For other versions, use one of these documentation indexes:
> - 1.0.0 (Latest) (default): https://docs.nvidia.com/nim/bionemo/rfd4-proteina/1.0.0/llms.txt

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

# Getting Started

This section describes how to get the RFD4-Proteina NIM up and running.
1. Pull and run the NIM
2. Submit health check requests to the NIM
3. Run inference

<Note>
This page assumes you have installed and set up [Prerequisite Software](/nim/bionemo/rfd4-proteina/prerequisites) (Docker, NGC CLI, NGC registry access).
</Note>

## Pull and Run the NIM

1. Pull the NIM container.

```bash
docker pull nvcr.io/nim/ipd/rfd4-proteina:1.0.0
```


2. Run the NIM container and expose port 8000, to which the user can submit requests.

The following command starts the NIM container and exposes port 8000. Set the
`LOCAL_NIM_CACHE` environment variable to a location on the local filesystem
with sufficient space for the model checkpoints; refer to
[Support Matrix](/nim/bionemo/rfd4-proteina/support-matrix#minimum-system-hardware-requirements) for
the sizing.

The container runs as a non-root user (UID 1000), so the cache directory must
exist and be writable by that user before the first run. Otherwise, the NIM
exits at startup with `ManifestDownloadError: ... Permission denied (os error 13)`.
Refer to [Set Up Your NIM Cache](/nim/bionemo/rfd4-proteina/prerequisites#set-up-your-nim-cache).

```bash
export LOCAL_NIM_CACHE=~/.cache/nim
mkdir -p "$LOCAL_NIM_CACHE"
chmod a+rwx "$LOCAL_NIM_CACHE"
export NGC_API_KEY=<Your NGC API Key>
```

```bash
docker run --rm --name rfd4-proteina \
    --runtime=nvidia \
    --gpus 'device=0' \
    -p 8000:8000 \
    -e NGC_API_KEY \
    -v $LOCAL_NIM_CACHE:/opt/nim/.cache \
    --shm-size=16g \
    nvcr.io/nim/ipd/rfd4-proteina:1.0.0
```


## Submit Health-Check Requests to the NIM as It Starts Up

1. Open a new terminal, leaving the current terminal open with the launched service.

2. Submit requests to the health check endpoint until you see `true`. The NIM
reports ready as soon as its weights are loaded; it does not pre-warm every
supported input size, so the very first request against a new token-count
bucket after startup will run slower than steady state. Refer to
[Performance](/nim/bionemo/rfd4-proteina/performance#cold-start-behavior) for measured figures.

```bash
curl -X 'GET' \
    'http://localhost:8000/v1/health/ready' \
    -H 'accept: application/json'
```

You can also check the NIM's status with Python by using the request module, installed using `pip install requests`.

```python
import requests

url = "http://localhost:8000/v1/health/ready"  # Replace with the actual URL
headers = {"content-type": "application/json"}

try:
    response = requests.get(url, headers=headers)

    # Check if the request was successful
    if response.ok:
        print("Request succeeded:", response.json())
    else:
        print("Request failed:", response.status_code, response.text)
except Exception as E:
    print("Request failed:", E)
```

When the response body is `true`, the NIM is ready to accept a request with real inputs.

## Discover Supported Tasks

After the NIM reports ready, it reports the tasks it serves and the
requirements of each at `/v1/tasks`:

```bash
curl -X 'GET' \
    'http://localhost:8000/v1/tasks' \
    -H 'accept: application/json'
```

## Run Inference

Design requests go to a single endpoint:

```
POST /biology/ipd/rfd4-proteina/generative
```

Refer to [Example Requests](/nim/bionemo/rfd4-proteina/example-requests) for a complete, working
request and an annotated walkthrough of the response.