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

# Enum Content Part

> A single content part within a multimodal message.

Generated from `cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-pii-redaction -p nemo-relay-ffi -p nemo-relay-types -p nemo-relay-plugin -p nemo-relay-worker-proto -p nemo-relay-worker`.

<pre />

A single content part within a multimodal message.

v1 supports text only. Future versions may add `ImageUrl`, `Audio`, etc.

## Variants

### `Text`

<pre />

A text content part.

#### Fields

### `text: String`

The text content.

### `extra: Map<String, Value>`

Provider fields without portable semantics.

### `ImageUrl`

<pre />

An image URL content part.

#### Fields

### `image_url: OpenAiImageUrl`

Image URL payload.

### `extra: Map<String, Value>`

Provider fields without portable semantics.

### `Image`

<pre />

Portable image input payload.

#### Fields

### `image: Value`

Provider-neutral image data object.

### `extra: Map<String, Value>`

Provider fields without portable semantics.

### `Audio`

<pre />

Portable audio input payload.

#### Fields

### `audio: Value`

Provider-neutral audio data object.

### `extra: Map<String, Value>`

Provider fields without portable semantics.

### `File`

<pre />

Portable file or document input payload.

#### Fields

### `file: Value`

Provider-neutral file data object.

### `extra: Map<String, Value>`

Provider fields without portable semantics.

### `Refusal`

<pre />

Assistant refusal content.

#### Fields

### `refusal: String`

Refusal text.

### `extra: Map<String, Value>`

Provider fields without portable semantics.

### `ToolUse`

<pre />

Tool call embedded in a provider content-block array.

#### Fields

### `id: String`

Tool call identifier.

### `name: String`

Tool name.

### `input: Value`

Parsed arguments.

### `extra: Map<String, Value>`

Provider fields without portable semantics.

### `ToolResult`

<pre />

Tool result embedded in a provider content-block array.

#### Fields

### `tool_use_id: String`

Tool call identifier.

### `content: Value`

Tool result payload.

### `is_error: Option<bool>`

Whether the tool failed.

### `extra: Map<String, Value>`

Provider fields without portable semantics.

### `ProviderNative`

<pre />

Lossless provider-native content block.

#### Fields

### `provider: String`

Provider surface that owns the value.

### `kind: String`

Native block discriminator or a descriptive fallback.

### `value: Value`

Exact provider JSON value.

## Trait Implementations

### `impl Clone for ContentPart`

<pre />

#### `clone`

<pre />

#### `clone_from`

<pre />

### `impl Debug for ContentPart`

<pre />

#### `fmt`

<pre />

### `impl<'de> Deserialize<'de> for ContentPart`

<pre />

#### `deserialize`

<pre />

### `impl PartialEq for ContentPart`

<pre />

#### `eq`

<pre />

#### `ne`

<pre />

### `impl Serialize for ContentPart`

<pre />

#### `serialize`

<pre />

### `impl StructuralPartialEq for ContentPart`

<pre />