package service import ( "strings" "github.com/QuantumNous/new-api/constant" "github.com/QuantumNous/new-api/model" ) const DoubaoAssetChannelPageSize = 50 const DoubaoAssetChannelType = constant.ChannelTypeDoubaoVideoCompatibleAiping var DoubaoAssetChannelTypes = VideoAssetChannelTypesForFamily(VideoAssetFamilySeedance) func ResolveDoubaoAssetChannel(userId int, tokenGroup string) (*model.Channel, error) { return ResolveDoubaoAssetChannelForModel(userId, tokenGroup, "") } func ResolveDoubaoAssetChannelForModel(userId int, tokenGroup string, modelName string) (*model.Channel, error) { return ResolveVideoAssetChannelForModel(userId, tokenGroup, modelName, VideoAssetFamilySeedance) } func GetBoundDoubaoAssetChannel(userId int, tokenGroup string) (*model.Channel, error) { return GetBoundDoubaoAssetChannelForModel(userId, tokenGroup, "") } func GetBoundDoubaoAssetChannelForModel(userId int, tokenGroup string, modelName string) (*model.Channel, error) { return GetBoundVideoAssetChannelForModel(userId, tokenGroup, modelName, VideoAssetFamilySeedance) } func HasDoubaoVideoChannelForGroupModel(tokenGroup string, modelName string) bool { return HasVideoAssetChannelForGroupModel(tokenGroup, modelName, VideoAssetFamilySeedance) } func AutoMatchDoubaoAssetChannel(tokenGroup string) (*model.Channel, error) { return autoMatchVideoAssetChannelForModel(tokenGroup, "", VideoAssetFamilySeedance) } func IsUsableDoubaoAssetChannel(channel *model.Channel, tokenGroup string) bool { return IsUsableVideoAssetChannelForFamily(channel, tokenGroup, "", VideoAssetFamilySeedance) } func IsDoubaoAssetChannelType(channelType int) bool { return channelTypeAllowed(channelType, DoubaoAssetChannelTypes) } func DoubaoAssetChannelTypeForModel(modelName string) int { if strings.HasPrefix(strings.ToLower(strings.TrimSpace(modelName)), "cdance") { return constant.ChannelTypeDoubaoVideoCompatibleTianyiYun } return DoubaoAssetChannelType } func MatchDoubaoAssetGroup(channelGroups []string, tokenGroup string) bool { tokenGroup = strings.TrimSpace(tokenGroup) if tokenGroup == "" { return false } for _, group := range channelGroups { if strings.TrimSpace(group) == tokenGroup { return true } } return false }