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

# InputUnion - Go SDK

> InputUnion type definition

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

Text, token, or multimodal input(s) to embed

## Supported Types

###

```go lines theme={null}
inputUnion := operations.CreateInputUnionStr(string{/* values here */})
```

###

```go lines theme={null}
inputUnion := operations.CreateInputUnionArrayOfStr([]string{/* values here */})
```

###

```go lines theme={null}
inputUnion := operations.CreateInputUnionArrayOfNumber([]float64{/* values here */})
```

###

```go lines theme={null}
inputUnion := operations.CreateInputUnionArrayOfArrayOfNumber([][]float64{/* values here */})
```

###

```go lines theme={null}
inputUnion := operations.CreateInputUnionArrayOfInput([]operations.Input{/* values here */})
```

## Union Discrimination

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

```go lines theme={null}
switch inputUnion.Type {
	case operations.InputUnionTypeStr:
		// inputUnion.Str is populated
	case operations.InputUnionTypeArrayOfStr:
		// inputUnion.ArrayOfStr is populated
	case operations.InputUnionTypeArrayOfNumber:
		// inputUnion.ArrayOfNumber is populated
	case operations.InputUnionTypeArrayOfArrayOfNumber:
		// inputUnion.ArrayOfArrayOfNumber is populated
	case operations.InputUnionTypeArrayOfInput:
		// inputUnion.ArrayOfInput is populated
}
```
