The Go SDK and docs are currently in beta.
Report issues on GitHub.
Supported Types
InputAudio
openAIResponseInputMessageItemContent := components.CreateOpenAIResponseInputMessageItemContentInputAudio(components.InputAudio{/* values here */})
InputFile
openAIResponseInputMessageItemContent := components.CreateOpenAIResponseInputMessageItemContentInputFile(components.InputFile{/* values here */})
InputImage
openAIResponseInputMessageItemContent := components.CreateOpenAIResponseInputMessageItemContentInputImage(components.InputImage{/* values here */})
InputText
openAIResponseInputMessageItemContent := components.CreateOpenAIResponseInputMessageItemContentInputText(components.InputText{/* values here */})
Union Discrimination
Use theType field to determine which variant is active, then access the corresponding field:
switch openAIResponseInputMessageItemContent.Type {
case components.OpenAIResponseInputMessageItemContentTypeInputAudio:
// openAIResponseInputMessageItemContent.InputAudio is populated
case components.OpenAIResponseInputMessageItemContentTypeInputFile:
// openAIResponseInputMessageItemContent.InputFile is populated
case components.OpenAIResponseInputMessageItemContentTypeInputImage:
// openAIResponseInputMessageItemContent.InputImage is populated
case components.OpenAIResponseInputMessageItemContentTypeInputText:
// openAIResponseInputMessageItemContent.InputText is populated
default:
// Unknown type - use openAIResponseInputMessageItemContent.GetUnknownRaw() for raw JSON
}