Skip to main content
The Go SDK and docs are currently in beta. Report issues on GitHub.
Content part for chat completion messages

Supported Types

ChatContentFile

chatContentItems := components.CreateChatContentItemsFile(components.ChatContentFile{/* values here */})

ChatContentImage

chatContentItems := components.CreateChatContentItemsImageURL(components.ChatContentImage{/* values here */})

ChatContentAudio

chatContentItems := components.CreateChatContentItemsInputAudio(components.ChatContentAudio{/* values here */})

LegacyChatContentVideo

chatContentItems := components.CreateChatContentItemsInputVideo(components.LegacyChatContentVideo{/* values here */})

ChatContentText

chatContentItems := components.CreateChatContentItemsText(components.ChatContentText{/* values here */})

ChatContentVideo

chatContentItems := components.CreateChatContentItemsVideoURL(components.ChatContentVideo{/* values here */})

Union Discrimination

Use the Type field to determine which variant is active, then access the corresponding field:
switch chatContentItems.Type {
	case components.ChatContentItemsTypeFile:
		// chatContentItems.ChatContentFile is populated
	case components.ChatContentItemsTypeImageURL:
		// chatContentItems.ChatContentImage is populated
	case components.ChatContentItemsTypeInputAudio:
		// chatContentItems.ChatContentAudio is populated
	case components.ChatContentItemsTypeInputVideo:
		// chatContentItems.LegacyChatContentVideo is populated
	case components.ChatContentItemsTypeText:
		// chatContentItems.ChatContentText is populated
	case components.ChatContentItemsTypeVideoURL:
		// chatContentItems.ChatContentVideo is populated
	default:
		// Unknown type - use chatContentItems.GetUnknownRaw() for raw JSON
}