> ## 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 (including BytePlus Seedance generation 2 and newer). ## 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 } ```