> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/workflows/blocks/blocks/run-a-model/cosmos3.md).

# Cosmos 3

This workflow block runs the NVIDIA Cosmos 3 reasoner - a world model tuned for physical scene understanding - on an image with an optional text prompt, and returns a text answer. The model is well suited to questions about spatial relations, safety, and what will happen next in a scene.

### Type identifier

Use the following identifier in step `"type"` field: `roboflow_core/cosmos3_edge@v1` to add the block as a step in your workflow.

### Properties

| **Name**        | **Type** | **Description**                                                                                                                                    | Refs |
| --------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ---- |
| `name`          | `str`    | Enter a unique identifier for this step..                                                                                                          | ❌    |
| `prompt`        | `str`    | Optional text prompt to pass to Cosmos 3 Edge. Otherwise a default scene-description prompt is used, which may affect the desired model behavior.. | ✅    |
| `model_version` | `str`    | The Cosmos 3 Edge model to be used for inference..                                                                                                 | ✅    |
| `system_prompt` | `str`    | Optional system prompt to provide additional context to Cosmos 3 Edge..                                                                            | ✅    |

The **Refs** column marks possibility to parametrise the property with dynamic values available in `workflow` runtime. See *Bindings* for more info.

### :material-shield-half-full:{ style="color: #5e6c75" } Runtime compatibility

:material-shield-alert:{ style="color: #d32f2f" } `hard` - runtime `self_hosted_cpu`; execution `local` : Requires a GPU; run\_locally() loads a model that needs CUDA.

### Input and Output Bindings

The available connections depend on its binding kinds. Check what binding kinds `Cosmos 3` in version `v1` has.

<details>

<summary>Input and output bindings</summary>

* input
  * `images` ([*`image`*](https://inference.roboflow.com/workflows/kinds/image/)): The image to infer on..
  * `prompt` ([*`string`*](https://inference.roboflow.com/workflows/kinds/string/)): Optional text prompt to pass to Cosmos 3 Edge. Otherwise a default scene-description prompt is used, which may affect the desired model behavior..
  * `model_version` ([*`roboflow_model_id`*](https://inference.roboflow.com/workflows/kinds/roboflow_model_id/)): The Cosmos 3 Edge model to be used for inference..
  * `system_prompt` ([*`string`*](https://inference.roboflow.com/workflows/kinds/string/)): Optional system prompt to provide additional context to Cosmos 3 Edge..
* output
  * `output` (*Union\[*[*`string`*](https://inference.roboflow.com/workflows/kinds/string/)*,* [*`language_model_output`*](https://inference.roboflow.com/workflows/kinds/language_model_output/)*]*): String value if `string` or LLM / VLM output if `language_model_output`.

</details>

<details>

<summary>Example JSON definition</summary>

```json
{
	    "name": "<your_step_name_here>",
	    "type": "roboflow_core/cosmos3_edge@v1",
	    "images": "$inputs.image",
	    "prompt": "Is the walkway free of obstacles?",
	    "model_version": "nvidia/cosmos-3-edge",
	    "system_prompt": "You are a safety inspector."
	}
```

</details>
