TSAIList+Enmu.swift 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. //
  2. // TSAIList+Enmu.swift
  3. // TSLiveWallpaper
  4. //
  5. // Created by 100Years on 2025/6/10.
  6. //
  7. enum TSGeneratorImageStyle:String {
  8. case enhance = "enhance" //照片变高清
  9. case colorize = "colorize" //黑白变颜色
  10. case descratch = "descratch" //旧照片修复
  11. case enlighten = "enlighten" //调整光线
  12. case recreate = "recreate" //修复和上色老照片
  13. case creatVideo = "creatVideo" //创造视频
  14. case remove = "remove" //删除图片的东西
  15. case ptp = "ptp"
  16. case portraitFusion = "PortraitFusion" //照片融合
  17. case removeBg = "removeBg" //删除图片的背景
  18. case removeWatermark = "RemoveWatermark" //移除水印
  19. case photoExpand = "ExpandPhoto" // AI扩图
  20. case magicText = "MagicText" // 神奇文字,也就是自定义提示词图生图
  21. var imageMaxKb:Int{
  22. switch self {
  23. case .descratch:
  24. return 5*1024
  25. default:
  26. return 10*1024
  27. }
  28. }
  29. var imageMaxBitSize:Int{
  30. switch self {
  31. case .descratch:
  32. return kUploadImageMaxBit5Size
  33. default:
  34. return kUploadImageMaxBit10Size
  35. }
  36. }
  37. var userDefaultsKey:String{
  38. switch self {
  39. case .remove,.removeWatermark,.photoExpand,.removeBg:
  40. return ""
  41. default:
  42. return self.rawValue
  43. }
  44. }
  45. var config:TSAIListHintBaseVC.Config{
  46. switch self {
  47. case .descratch:
  48. return .descratchConfig
  49. case .colorize:
  50. return .colorizeConfig
  51. case .enhance:
  52. return .enhanceConfig
  53. case .enlighten:
  54. return .enlightenConfig
  55. case .recreate:
  56. return .recreateConfig
  57. case .creatVideo:
  58. return .animatedConfig
  59. case .portraitFusion:
  60. return .portraitFusionConfig
  61. case .ptp:
  62. return .ptpConfig
  63. default:
  64. return .animatedConfig
  65. }
  66. }
  67. var advance:Bool{
  68. return false
  69. }
  70. //服务器生成图片所用的模型
  71. var aiModel:String {
  72. return "kie"
  73. }
  74. var generatorBtnTitle:String {
  75. switch self {
  76. case .enhance:
  77. return "Enhance Photo".localized
  78. case .colorize:
  79. return "Colorize Photo".localized
  80. case .descratch:
  81. return "Descratch Photo".localized
  82. case .enlighten:
  83. return "Adjust Light".localized
  84. case .recreate:
  85. return "Recreate Photo".localized
  86. case .creatVideo:
  87. return "Animated Photo".localized
  88. case .remove:
  89. return "Remove".localized
  90. case .portraitFusion:
  91. return "Fusion".localized
  92. default:
  93. return "Photo".localized
  94. }
  95. }
  96. var needPhotos:Int {
  97. if self == .portraitFusion {
  98. return 2
  99. }
  100. return 1
  101. }
  102. var vipFreeNumType:VipFreeNumType{
  103. if self == .creatVideo {
  104. return .generalVideo
  105. }else if self == .removeBg {
  106. return .generalRemoveBg
  107. }else{
  108. return .general
  109. }
  110. }
  111. }
  112. extension TSGeneratorImageStyle {
  113. var generateModel:TSGenerateModel? {
  114. let vm = TSAIListDataVM.shared
  115. switch self {
  116. case .enhance:
  117. return TSGenerateModel(json: vm.ptp_Enhance)
  118. case .colorize:
  119. return TSGenerateModel(json: vm.ptp_Colorize)
  120. case .descratch:
  121. return TSGenerateModel(json: vm.ptp_Descratch)
  122. case .enlighten:
  123. return TSGenerateModel(json: vm.ptp_AdjustLight)
  124. case .recreate:
  125. return TSGenerateModel(json: vm.ptp_Recreate)
  126. case .creatVideo:
  127. return TSGenerateModel(json: vm.video_Creat)
  128. case .photoExpand:
  129. return TSGenerateModel(json: vm.ptp_PhotoExpand)
  130. default:
  131. return nil
  132. }
  133. }
  134. }