Skip to main content
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 the Type 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
}