> ## 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. # Variables ## Supported Types ### ```go theme={null} variables := components.CreateVariablesStr(string{/* values here */}) ``` ### InputText ```go theme={null} variables := components.CreateVariablesInputText(components.InputText{/* values here */}) ``` ### InputImage ```go theme={null} variables := components.CreateVariablesInputImage(components.InputImage{/* values here */}) ``` ### InputFile ```go theme={null} variables := components.CreateVariablesInputFile(components.InputFile{/* values here */}) ``` ## Union Discrimination Use the `Type` field to determine which variant is active, then access the corresponding field: ```go theme={null} switch variables.Type { case components.VariablesTypeStr: // variables.Str is populated case components.VariablesTypeInputText: // variables.InputText is populated case components.VariablesTypeInputImage: // variables.InputImage is populated case components.VariablesTypeInputFile: // variables.InputFile is populated } ```