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

# Content - Go SDK

> Content 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

### ContentText

```go lines theme={null}
content := operations.CreateContentText(operations.ContentText{/* values here */})
```

### ContentImageURL

```go lines theme={null}
content := operations.CreateContentImageURL(operations.ContentImageURL{/* values here */})
```

### ContentPartInputAudio

```go lines theme={null}
content := operations.CreateContentInputAudio(components.ContentPartInputAudio{/* values here */})
```

### ContentPartInputVideo

```go lines theme={null}
content := operations.CreateContentInputVideo(components.ContentPartInputVideo{/* values here */})
```

### ContentPartInputFile

```go lines theme={null}
content := operations.CreateContentInputFile(components.ContentPartInputFile{/* values here */})
```

## Union Discrimination

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

```go lines theme={null}
switch content.Type {
	case operations.ContentTypeText:
		// content.ContentText is populated
	case operations.ContentTypeImageURL:
		// content.ContentImageURL is populated
	case operations.ContentTypeInputAudio:
		// content.ContentPartInputAudio is populated
	case operations.ContentTypeInputVideo:
		// content.ContentPartInputVideo is populated
	case operations.ContentTypeInputFile:
		// content.ContentPartInputFile is populated
}
```
