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

# InputReference

A reference asset used to guide video generation. Image references are supported by all providers; audio and video references are only honored by providers that support them (currently BytePlus Seedance 2.0).

## Supported Types

### ContentPartAudio

```go theme={null}
inputReference := components.CreateInputReferenceAudioURL(components.ContentPartAudio{/* values here */})
```

### ContentPartImage

```go theme={null}
inputReference := components.CreateInputReferenceImageURL(components.ContentPartImage{/* values here */})
```

### ContentPartVideo

```go theme={null}
inputReference := components.CreateInputReferenceVideoURL(components.ContentPartVideo{/* values here */})
```

## Union Discrimination

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

```go theme={null}
switch inputReference.Type {
	case components.InputReferenceTypeAudioURL:
		// inputReference.ContentPartAudio is populated
	case components.InputReferenceTypeImageURL:
		// inputReference.ContentPartImage is populated
	case components.InputReferenceTypeVideoURL:
		// inputReference.ContentPartVideo is populated
}
```
