> ## Documentation Index
> Fetch the complete documentation index at: https://openrouter-d02e98a0-mintlify-5b6e02fd.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# InputMessageItemContentUnion - Go SDK

> InputMessageItemContentUnion type definition

<Warning>
  The Go SDK and docs are currently in beta.
  Report issues on [GitHub](https://github.com/OpenRouterTeam/go-sdk/issues).
</Warning>

## Supported Types

### InputText

```go lines theme={null}
inputMessageItemContentUnion := components.CreateInputMessageItemContentUnionInputText(components.InputText{/* values here */})
```

### InputMessageItemContentInputImage

```go lines theme={null}
inputMessageItemContentUnion := components.CreateInputMessageItemContentUnionInputImage(components.InputMessageItemContentInputImage{/* values here */})
```

### InputFile

```go lines theme={null}
inputMessageItemContentUnion := components.CreateInputMessageItemContentUnionInputFile(components.InputFile{/* values here */})
```

### InputAudio

```go lines theme={null}
inputMessageItemContentUnion := components.CreateInputMessageItemContentUnionInputAudio(components.InputAudio{/* values here */})
```

### InputVideo

```go lines theme={null}
inputMessageItemContentUnion := components.CreateInputMessageItemContentUnionInputVideo(components.InputVideo{/* values here */})
```

## Union Discrimination

Use the `Type` field to determine which variant is active, then access the corresponding field:

```go lines theme={null}
switch inputMessageItemContentUnion.Type {
	case components.InputMessageItemContentUnionTypeInputText:
		// inputMessageItemContentUnion.InputText is populated
	case components.InputMessageItemContentUnionTypeInputImage:
		// inputMessageItemContentUnion.InputMessageItemContentInputImage is populated
	case components.InputMessageItemContentUnionTypeInputFile:
		// inputMessageItemContentUnion.InputFile is populated
	case components.InputMessageItemContentUnionTypeInputAudio:
		// inputMessageItemContentUnion.InputAudio is populated
	case components.InputMessageItemContentUnionTypeInputVideo:
		// inputMessageItemContentUnion.InputVideo is populated
}
```
