@enderhorror/koishi-plugin-media-luna-enhance 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (760) hide show
  1. package/client/README.md +5 -0
  2. package/client/api.ts +351 -0
  3. package/client/assets/connector-icons/agnes.svg +15 -0
  4. package/client/assets/connector-icons/azure.svg +1 -0
  5. package/client/assets/connector-icons/chatluna.png +0 -0
  6. package/client/assets/connector-icons/comfyui.svg +1 -0
  7. package/client/assets/connector-icons/dalle.svg +1 -0
  8. package/client/assets/connector-icons/default-audio.svg +5 -0
  9. package/client/assets/connector-icons/default-image.svg +5 -0
  10. package/client/assets/connector-icons/default-video.svg +10 -0
  11. package/client/assets/connector-icons/doubao.svg +1 -0
  12. package/client/assets/connector-icons/edge-tts.png +0 -0
  13. package/client/assets/connector-icons/flux.svg +1 -0
  14. package/client/assets/connector-icons/gemini.svg +1 -0
  15. package/client/assets/connector-icons/midjourney.svg +1 -0
  16. package/client/assets/connector-icons/minimax.svg +1 -0
  17. package/client/assets/connector-icons/modelscope.svg +1 -0
  18. package/client/assets/connector-icons/newapi.svg +1 -0
  19. package/client/assets/connector-icons/openai.svg +1 -0
  20. package/client/assets/connector-icons/runway.svg +1 -0
  21. package/client/assets/connector-icons/sd-webui.svg +1 -0
  22. package/client/assets/connector-icons/sora.svg +1 -0
  23. package/client/assets/connector-icons/stability.svg +1 -0
  24. package/client/assets/connector-icons/suno.svg +1 -0
  25. package/client/assets/connector-icons/vertexai.svg +1 -0
  26. package/client/assets/connector-icons/volcengine.svg +1 -0
  27. package/client/components/AudioPlayer.vue +347 -0
  28. package/client/components/ChannelConfigDialog.vue +1920 -0
  29. package/client/components/ChannelsView.vue +1079 -0
  30. package/client/components/ConfigRenderer.vue +774 -0
  31. package/client/components/ConnectorFilter.vue +328 -0
  32. package/client/components/EmptyState.vue +94 -0
  33. package/client/components/GenerateView.vue +2030 -0
  34. package/client/components/HistoryGallery.vue +705 -0
  35. package/client/components/ImageLightbox.vue +1072 -0
  36. package/client/components/ImageUpload.vue +317 -0
  37. package/client/components/JsonEditor.vue +72 -0
  38. package/client/components/LoadingState.vue +76 -0
  39. package/client/components/MasonryGrid.vue +284 -0
  40. package/client/components/PresetDialog.vue +429 -0
  41. package/client/components/PresetPicker.vue +849 -0
  42. package/client/components/PresetsView.vue +1526 -0
  43. package/client/components/ScrollContainer.vue +52 -0
  44. package/client/components/SettingsView.vue +327 -0
  45. package/client/components/SetupWizard.vue +308 -0
  46. package/client/components/SortSelect.vue +110 -0
  47. package/client/components/StatusBadge.vue +58 -0
  48. package/client/components/TableFieldEditor.vue +735 -0
  49. package/client/components/TagDropdown.vue +275 -0
  50. package/client/components/TagFilter.vue +146 -0
  51. package/client/components/TagInput.vue +66 -0
  52. package/client/components/TasksView.vue +1783 -0
  53. package/client/components/UploadDialog.vue +366 -0
  54. package/client/components/ViewModeSwitch.vue +80 -0
  55. package/client/components/settings/CachePanel.vue +144 -0
  56. package/client/components/settings/MiddlewaresPanel.vue +464 -0
  57. package/client/components/settings/PluginsPanel.vue +528 -0
  58. package/client/components/setup/SetupAuth.vue +332 -0
  59. package/client/components/setup/SetupStorage.vue +574 -0
  60. package/client/composables/index.ts +14 -0
  61. package/client/composables/useDataFetch.ts +102 -0
  62. package/client/composables/useDialog.ts +58 -0
  63. package/client/composables/useLoading.ts +84 -0
  64. package/client/composables/usePagination.ts +110 -0
  65. package/client/constants/categories.ts +36 -0
  66. package/client/constants/index.ts +5 -0
  67. package/client/constants/phases.ts +44 -0
  68. package/client/icons/luna-crescent.vue +9 -0
  69. package/client/icons.ts +63 -0
  70. package/client/index.ts +20 -0
  71. package/client/pages/index.vue +547 -0
  72. package/client/styles/material.css +387 -0
  73. package/client/styles/shared.css +384 -0
  74. package/client/styles/theme.scss +1517 -0
  75. package/client/types.ts +236 -0
  76. package/client/utils/format.ts +72 -0
  77. package/dist/index.js +5 -0
  78. package/dist/style.css +1 -0
  79. package/lib/config.d.ts +11 -0
  80. package/lib/config.d.ts.map +1 -0
  81. package/lib/config.js +16 -0
  82. package/lib/config.js.map +1 -0
  83. package/lib/core/api/api-utils.d.ts +46 -0
  84. package/lib/core/api/api-utils.d.ts.map +1 -0
  85. package/lib/core/api/api-utils.js +85 -0
  86. package/lib/core/api/api-utils.js.map +1 -0
  87. package/lib/core/api/cache-api.d.ts +6 -0
  88. package/lib/core/api/cache-api.d.ts.map +1 -0
  89. package/lib/core/api/cache-api.js +169 -0
  90. package/lib/core/api/cache-api.js.map +1 -0
  91. package/lib/core/api/channel-api.d.ts +6 -0
  92. package/lib/core/api/channel-api.d.ts.map +1 -0
  93. package/lib/core/api/channel-api.js +149 -0
  94. package/lib/core/api/channel-api.js.map +1 -0
  95. package/lib/core/api/connector-api.d.ts +6 -0
  96. package/lib/core/api/connector-api.d.ts.map +1 -0
  97. package/lib/core/api/connector-api.js +66 -0
  98. package/lib/core/api/connector-api.js.map +1 -0
  99. package/lib/core/api/generate-api.d.ts +6 -0
  100. package/lib/core/api/generate-api.d.ts.map +1 -0
  101. package/lib/core/api/generate-api.js +171 -0
  102. package/lib/core/api/generate-api.js.map +1 -0
  103. package/lib/core/api/index.d.ts +17 -0
  104. package/lib/core/api/index.d.ts.map +1 -0
  105. package/lib/core/api/index.js +60 -0
  106. package/lib/core/api/index.js.map +1 -0
  107. package/lib/core/api/middleware-api.d.ts +6 -0
  108. package/lib/core/api/middleware-api.d.ts.map +1 -0
  109. package/lib/core/api/middleware-api.js +199 -0
  110. package/lib/core/api/middleware-api.js.map +1 -0
  111. package/lib/core/api/plugin-api.d.ts +6 -0
  112. package/lib/core/api/plugin-api.d.ts.map +1 -0
  113. package/lib/core/api/plugin-api.js +112 -0
  114. package/lib/core/api/plugin-api.js.map +1 -0
  115. package/lib/core/api/preset-api.d.ts +6 -0
  116. package/lib/core/api/preset-api.d.ts.map +1 -0
  117. package/lib/core/api/preset-api.js +426 -0
  118. package/lib/core/api/preset-api.js.map +1 -0
  119. package/lib/core/api/settings-api.d.ts +6 -0
  120. package/lib/core/api/settings-api.d.ts.map +1 -0
  121. package/lib/core/api/settings-api.js +175 -0
  122. package/lib/core/api/settings-api.js.map +1 -0
  123. package/lib/core/api/setup-api.d.ts +6 -0
  124. package/lib/core/api/setup-api.d.ts.map +1 -0
  125. package/lib/core/api/setup-api.js +227 -0
  126. package/lib/core/api/setup-api.js.map +1 -0
  127. package/lib/core/api/task-api.d.ts +6 -0
  128. package/lib/core/api/task-api.d.ts.map +1 -0
  129. package/lib/core/api/task-api.js +400 -0
  130. package/lib/core/api/task-api.js.map +1 -0
  131. package/lib/core/config/config.service.d.ts +89 -0
  132. package/lib/core/config/config.service.d.ts.map +1 -0
  133. package/lib/core/config/config.service.js +253 -0
  134. package/lib/core/config/config.service.js.map +1 -0
  135. package/lib/core/config/index.d.ts +3 -0
  136. package/lib/core/config/index.d.ts.map +1 -0
  137. package/lib/core/config/index.js +7 -0
  138. package/lib/core/config/index.js.map +1 -0
  139. package/lib/core/index.d.ts +11 -0
  140. package/lib/core/index.d.ts.map +1 -0
  141. package/lib/core/index.js +54 -0
  142. package/lib/core/index.js.map +1 -0
  143. package/lib/core/pipeline/dependency-graph.d.ts +43 -0
  144. package/lib/core/pipeline/dependency-graph.d.ts.map +1 -0
  145. package/lib/core/pipeline/dependency-graph.js +227 -0
  146. package/lib/core/pipeline/dependency-graph.js.map +1 -0
  147. package/lib/core/pipeline/generation-pipeline.d.ts +54 -0
  148. package/lib/core/pipeline/generation-pipeline.d.ts.map +1 -0
  149. package/lib/core/pipeline/generation-pipeline.js +339 -0
  150. package/lib/core/pipeline/generation-pipeline.js.map +1 -0
  151. package/lib/core/pipeline/index.d.ts +4 -0
  152. package/lib/core/pipeline/index.d.ts.map +1 -0
  153. package/lib/core/pipeline/index.js +11 -0
  154. package/lib/core/pipeline/index.js.map +1 -0
  155. package/lib/core/pipeline/middleware-registry.d.ts +33 -0
  156. package/lib/core/pipeline/middleware-registry.d.ts.map +1 -0
  157. package/lib/core/pipeline/middleware-registry.js +82 -0
  158. package/lib/core/pipeline/middleware-registry.js.map +1 -0
  159. package/lib/core/plugin/index.d.ts +2 -0
  160. package/lib/core/plugin/index.d.ts.map +1 -0
  161. package/lib/core/plugin/index.js +8 -0
  162. package/lib/core/plugin/index.js.map +1 -0
  163. package/lib/core/plugin/loader.d.ts +131 -0
  164. package/lib/core/plugin/loader.d.ts.map +1 -0
  165. package/lib/core/plugin/loader.js +647 -0
  166. package/lib/core/plugin/loader.js.map +1 -0
  167. package/lib/core/registry/connector.registry.d.ts +39 -0
  168. package/lib/core/registry/connector.registry.d.ts.map +1 -0
  169. package/lib/core/registry/connector.registry.js +72 -0
  170. package/lib/core/registry/connector.registry.js.map +1 -0
  171. package/lib/core/registry/index.d.ts +3 -0
  172. package/lib/core/registry/index.d.ts.map +1 -0
  173. package/lib/core/registry/index.js +9 -0
  174. package/lib/core/registry/index.js.map +1 -0
  175. package/lib/core/registry/service.registry.d.ts +27 -0
  176. package/lib/core/registry/service.registry.d.ts.map +1 -0
  177. package/lib/core/registry/service.registry.js +58 -0
  178. package/lib/core/registry/service.registry.js.map +1 -0
  179. package/lib/core/services/channel.service.d.ts +44 -0
  180. package/lib/core/services/channel.service.d.ts.map +1 -0
  181. package/lib/core/services/channel.service.js +150 -0
  182. package/lib/core/services/channel.service.js.map +1 -0
  183. package/lib/core/services/index.d.ts +4 -0
  184. package/lib/core/services/index.d.ts.map +1 -0
  185. package/lib/core/services/index.js +12 -0
  186. package/lib/core/services/index.js.map +1 -0
  187. package/lib/core/services/medialuna.service.d.ts +202 -0
  188. package/lib/core/services/medialuna.service.d.ts.map +1 -0
  189. package/lib/core/services/medialuna.service.js +507 -0
  190. package/lib/core/services/medialuna.service.js.map +1 -0
  191. package/lib/core/services/request.service.d.ts +94 -0
  192. package/lib/core/services/request.service.d.ts.map +1 -0
  193. package/lib/core/services/request.service.js +352 -0
  194. package/lib/core/services/request.service.js.map +1 -0
  195. package/lib/core/types.d.ts +521 -0
  196. package/lib/core/types.d.ts.map +1 -0
  197. package/lib/core/types.js +20 -0
  198. package/lib/core/types.js.map +1 -0
  199. package/lib/core/utils/error-mapping.d.ts +73 -0
  200. package/lib/core/utils/error-mapping.d.ts.map +1 -0
  201. package/lib/core/utils/error-mapping.js +541 -0
  202. package/lib/core/utils/error-mapping.js.map +1 -0
  203. package/lib/core/utils/error.d.ts +77 -0
  204. package/lib/core/utils/error.d.ts.map +1 -0
  205. package/lib/core/utils/error.js +158 -0
  206. package/lib/core/utils/error.js.map +1 -0
  207. package/lib/core/utils/index.d.ts +4 -0
  208. package/lib/core/utils/index.d.ts.map +1 -0
  209. package/lib/core/utils/index.js +26 -0
  210. package/lib/core/utils/index.js.map +1 -0
  211. package/lib/core/utils/logger.d.ts +18 -0
  212. package/lib/core/utils/logger.d.ts.map +1 -0
  213. package/lib/core/utils/logger.js +45 -0
  214. package/lib/core/utils/logger.js.map +1 -0
  215. package/lib/database.d.ts +6 -0
  216. package/lib/database.d.ts.map +1 -0
  217. package/lib/database.js +100 -0
  218. package/lib/database.js.map +1 -0
  219. package/lib/index.d.ts +14 -0
  220. package/lib/index.d.ts.map +1 -0
  221. package/lib/index.js +84 -0
  222. package/lib/index.js.map +1 -0
  223. package/lib/plugins/billing/config.d.ts +26 -0
  224. package/lib/plugins/billing/config.d.ts.map +1 -0
  225. package/lib/plugins/billing/config.js +176 -0
  226. package/lib/plugins/billing/config.js.map +1 -0
  227. package/lib/plugins/billing/index.d.ts +5 -0
  228. package/lib/plugins/billing/index.d.ts.map +1 -0
  229. package/lib/plugins/billing/index.js +32 -0
  230. package/lib/plugins/billing/index.js.map +1 -0
  231. package/lib/plugins/billing/middleware.d.ts +13 -0
  232. package/lib/plugins/billing/middleware.d.ts.map +1 -0
  233. package/lib/plugins/billing/middleware.js +365 -0
  234. package/lib/plugins/billing/middleware.js.map +1 -0
  235. package/lib/plugins/billing/service.d.ts +42 -0
  236. package/lib/plugins/billing/service.d.ts.map +1 -0
  237. package/lib/plugins/billing/service.js +94 -0
  238. package/lib/plugins/billing/service.js.map +1 -0
  239. package/lib/plugins/cache/config.d.ts +161 -0
  240. package/lib/plugins/cache/config.d.ts.map +1 -0
  241. package/lib/plugins/cache/config.js +494 -0
  242. package/lib/plugins/cache/config.js.map +1 -0
  243. package/lib/plugins/cache/index.d.ts +6 -0
  244. package/lib/plugins/cache/index.d.ts.map +1 -0
  245. package/lib/plugins/cache/index.js +98 -0
  246. package/lib/plugins/cache/index.js.map +1 -0
  247. package/lib/plugins/cache/middleware.d.ts +12 -0
  248. package/lib/plugins/cache/middleware.d.ts.map +1 -0
  249. package/lib/plugins/cache/middleware.js +221 -0
  250. package/lib/plugins/cache/middleware.js.map +1 -0
  251. package/lib/plugins/cache/service.d.ts +137 -0
  252. package/lib/plugins/cache/service.d.ts.map +1 -0
  253. package/lib/plugins/cache/service.js +705 -0
  254. package/lib/plugins/cache/service.js.map +1 -0
  255. package/lib/plugins/cache/utils/index.d.ts +5 -0
  256. package/lib/plugins/cache/utils/index.d.ts.map +1 -0
  257. package/lib/plugins/cache/utils/index.js +16 -0
  258. package/lib/plugins/cache/utils/index.js.map +1 -0
  259. package/lib/plugins/cache/utils/mime.d.ts +9 -0
  260. package/lib/plugins/cache/utils/mime.d.ts.map +1 -0
  261. package/lib/plugins/cache/utils/mime.js +69 -0
  262. package/lib/plugins/cache/utils/mime.js.map +1 -0
  263. package/lib/plugins/cache/utils/oss.d.ts +31 -0
  264. package/lib/plugins/cache/utils/oss.d.ts.map +1 -0
  265. package/lib/plugins/cache/utils/oss.js +172 -0
  266. package/lib/plugins/cache/utils/oss.js.map +1 -0
  267. package/lib/plugins/cache/utils/s3.d.ts +23 -0
  268. package/lib/plugins/cache/utils/s3.d.ts.map +1 -0
  269. package/lib/plugins/cache/utils/s3.js +262 -0
  270. package/lib/plugins/cache/utils/s3.js.map +1 -0
  271. package/lib/plugins/cache/utils/webdav.d.ts +16 -0
  272. package/lib/plugins/cache/utils/webdav.d.ts.map +1 -0
  273. package/lib/plugins/cache/utils/webdav.js +72 -0
  274. package/lib/plugins/cache/utils/webdav.js.map +1 -0
  275. package/lib/plugins/connector-agnes-image/config.d.ts +4 -0
  276. package/lib/plugins/connector-agnes-image/config.d.ts.map +1 -0
  277. package/lib/plugins/connector-agnes-image/config.js +65 -0
  278. package/lib/plugins/connector-agnes-image/config.js.map +1 -0
  279. package/lib/plugins/connector-agnes-image/connector.d.ts +3 -0
  280. package/lib/plugins/connector-agnes-image/connector.d.ts.map +1 -0
  281. package/lib/plugins/connector-agnes-image/connector.js +123 -0
  282. package/lib/plugins/connector-agnes-image/connector.js.map +1 -0
  283. package/lib/plugins/connector-agnes-image/index.d.ts +4 -0
  284. package/lib/plugins/connector-agnes-image/index.d.ts.map +1 -0
  285. package/lib/plugins/connector-agnes-image/index.js +18 -0
  286. package/lib/plugins/connector-agnes-image/index.js.map +1 -0
  287. package/lib/plugins/connector-agnes-video/config.d.ts +4 -0
  288. package/lib/plugins/connector-agnes-video/config.d.ts.map +1 -0
  289. package/lib/plugins/connector-agnes-video/config.js +110 -0
  290. package/lib/plugins/connector-agnes-video/config.js.map +1 -0
  291. package/lib/plugins/connector-agnes-video/connector.d.ts +3 -0
  292. package/lib/plugins/connector-agnes-video/connector.d.ts.map +1 -0
  293. package/lib/plugins/connector-agnes-video/connector.js +175 -0
  294. package/lib/plugins/connector-agnes-video/connector.js.map +1 -0
  295. package/lib/plugins/connector-agnes-video/index.d.ts +4 -0
  296. package/lib/plugins/connector-agnes-video/index.d.ts.map +1 -0
  297. package/lib/plugins/connector-agnes-video/index.js +18 -0
  298. package/lib/plugins/connector-agnes-video/index.js.map +1 -0
  299. package/lib/plugins/connector-azure-tts/config.d.ts +22 -0
  300. package/lib/plugins/connector-azure-tts/config.d.ts.map +1 -0
  301. package/lib/plugins/connector-azure-tts/config.js +223 -0
  302. package/lib/plugins/connector-azure-tts/config.js.map +1 -0
  303. package/lib/plugins/connector-azure-tts/connector.d.ts +4 -0
  304. package/lib/plugins/connector-azure-tts/connector.d.ts.map +1 -0
  305. package/lib/plugins/connector-azure-tts/connector.js +185 -0
  306. package/lib/plugins/connector-azure-tts/connector.js.map +1 -0
  307. package/lib/plugins/connector-azure-tts/index.d.ts +4 -0
  308. package/lib/plugins/connector-azure-tts/index.d.ts.map +1 -0
  309. package/lib/plugins/connector-azure-tts/index.js +20 -0
  310. package/lib/plugins/connector-azure-tts/index.js.map +1 -0
  311. package/lib/plugins/connector-chat-api/config.d.ts +6 -0
  312. package/lib/plugins/connector-chat-api/config.d.ts.map +1 -0
  313. package/lib/plugins/connector-chat-api/config.js +106 -0
  314. package/lib/plugins/connector-chat-api/config.js.map +1 -0
  315. package/lib/plugins/connector-chat-api/connector.d.ts +4 -0
  316. package/lib/plugins/connector-chat-api/connector.d.ts.map +1 -0
  317. package/lib/plugins/connector-chat-api/connector.js +363 -0
  318. package/lib/plugins/connector-chat-api/connector.js.map +1 -0
  319. package/lib/plugins/connector-chat-api/index.d.ts +4 -0
  320. package/lib/plugins/connector-chat-api/index.d.ts.map +1 -0
  321. package/lib/plugins/connector-chat-api/index.js +19 -0
  322. package/lib/plugins/connector-chat-api/index.js.map +1 -0
  323. package/lib/plugins/connector-chatluna/api.d.ts +7 -0
  324. package/lib/plugins/connector-chatluna/api.d.ts.map +1 -0
  325. package/lib/plugins/connector-chatluna/api.js +166 -0
  326. package/lib/plugins/connector-chatluna/api.js.map +1 -0
  327. package/lib/plugins/connector-chatluna/config.d.ts +69 -0
  328. package/lib/plugins/connector-chatluna/config.d.ts.map +1 -0
  329. package/lib/plugins/connector-chatluna/config.js +222 -0
  330. package/lib/plugins/connector-chatluna/config.js.map +1 -0
  331. package/lib/plugins/connector-chatluna/connector.d.ts +4 -0
  332. package/lib/plugins/connector-chatluna/connector.d.ts.map +1 -0
  333. package/lib/plugins/connector-chatluna/connector.js +134 -0
  334. package/lib/plugins/connector-chatluna/connector.js.map +1 -0
  335. package/lib/plugins/connector-chatluna/index.d.ts +7 -0
  336. package/lib/plugins/connector-chatluna/index.d.ts.map +1 -0
  337. package/lib/plugins/connector-chatluna/index.js +211 -0
  338. package/lib/plugins/connector-chatluna/index.js.map +1 -0
  339. package/lib/plugins/connector-chatluna/middleware.d.ts +117 -0
  340. package/lib/plugins/connector-chatluna/middleware.d.ts.map +1 -0
  341. package/lib/plugins/connector-chatluna/middleware.js +239 -0
  342. package/lib/plugins/connector-chatluna/middleware.js.map +1 -0
  343. package/lib/plugins/connector-chatluna/task-binding.d.ts +29 -0
  344. package/lib/plugins/connector-chatluna/task-binding.d.ts.map +1 -0
  345. package/lib/plugins/connector-chatluna/task-binding.js +112 -0
  346. package/lib/plugins/connector-chatluna/task-binding.js.map +1 -0
  347. package/lib/plugins/connector-chatluna/tools.d.ts +10 -0
  348. package/lib/plugins/connector-chatluna/tools.d.ts.map +1 -0
  349. package/lib/plugins/connector-chatluna/tools.js +771 -0
  350. package/lib/plugins/connector-chatluna/tools.js.map +1 -0
  351. package/lib/plugins/connector-chatluna/variables.d.ts +12 -0
  352. package/lib/plugins/connector-chatluna/variables.d.ts.map +1 -0
  353. package/lib/plugins/connector-chatluna/variables.js +286 -0
  354. package/lib/plugins/connector-chatluna/variables.js.map +1 -0
  355. package/lib/plugins/connector-comfyui/config.d.ts +6 -0
  356. package/lib/plugins/connector-comfyui/config.d.ts.map +1 -0
  357. package/lib/plugins/connector-comfyui/config.js +183 -0
  358. package/lib/plugins/connector-comfyui/config.js.map +1 -0
  359. package/lib/plugins/connector-comfyui/connector.d.ts +4 -0
  360. package/lib/plugins/connector-comfyui/connector.d.ts.map +1 -0
  361. package/lib/plugins/connector-comfyui/connector.js +685 -0
  362. package/lib/plugins/connector-comfyui/connector.js.map +1 -0
  363. package/lib/plugins/connector-comfyui/index.d.ts +4 -0
  364. package/lib/plugins/connector-comfyui/index.d.ts.map +1 -0
  365. package/lib/plugins/connector-comfyui/index.js +19 -0
  366. package/lib/plugins/connector-comfyui/index.js.map +1 -0
  367. package/lib/plugins/connector-custom-form-image/config.d.ts +4 -0
  368. package/lib/plugins/connector-custom-form-image/config.d.ts.map +1 -0
  369. package/lib/plugins/connector-custom-form-image/config.js +101 -0
  370. package/lib/plugins/connector-custom-form-image/config.js.map +1 -0
  371. package/lib/plugins/connector-custom-form-image/connector.d.ts +3 -0
  372. package/lib/plugins/connector-custom-form-image/connector.d.ts.map +1 -0
  373. package/lib/plugins/connector-custom-form-image/connector.js +135 -0
  374. package/lib/plugins/connector-custom-form-image/connector.js.map +1 -0
  375. package/lib/plugins/connector-custom-form-image/index.d.ts +4 -0
  376. package/lib/plugins/connector-custom-form-image/index.d.ts.map +1 -0
  377. package/lib/plugins/connector-custom-form-image/index.js +18 -0
  378. package/lib/plugins/connector-custom-form-image/index.js.map +1 -0
  379. package/lib/plugins/connector-dalle/config.d.ts +6 -0
  380. package/lib/plugins/connector-dalle/config.d.ts.map +1 -0
  381. package/lib/plugins/connector-dalle/config.js +155 -0
  382. package/lib/plugins/connector-dalle/config.js.map +1 -0
  383. package/lib/plugins/connector-dalle/connector.d.ts +4 -0
  384. package/lib/plugins/connector-dalle/connector.d.ts.map +1 -0
  385. package/lib/plugins/connector-dalle/connector.js +238 -0
  386. package/lib/plugins/connector-dalle/connector.js.map +1 -0
  387. package/lib/plugins/connector-dalle/index.d.ts +4 -0
  388. package/lib/plugins/connector-dalle/index.d.ts.map +1 -0
  389. package/lib/plugins/connector-dalle/index.js +19 -0
  390. package/lib/plugins/connector-dalle/index.js.map +1 -0
  391. package/lib/plugins/connector-doubao/config.d.ts +6 -0
  392. package/lib/plugins/connector-doubao/config.d.ts.map +1 -0
  393. package/lib/plugins/connector-doubao/config.js +89 -0
  394. package/lib/plugins/connector-doubao/config.js.map +1 -0
  395. package/lib/plugins/connector-doubao/connector.d.ts +4 -0
  396. package/lib/plugins/connector-doubao/connector.d.ts.map +1 -0
  397. package/lib/plugins/connector-doubao/connector.js +141 -0
  398. package/lib/plugins/connector-doubao/connector.js.map +1 -0
  399. package/lib/plugins/connector-doubao/index.d.ts +4 -0
  400. package/lib/plugins/connector-doubao/index.d.ts.map +1 -0
  401. package/lib/plugins/connector-doubao/index.js +19 -0
  402. package/lib/plugins/connector-doubao/index.js.map +1 -0
  403. package/lib/plugins/connector-edge-tts/config.d.ts +12 -0
  404. package/lib/plugins/connector-edge-tts/config.d.ts.map +1 -0
  405. package/lib/plugins/connector-edge-tts/config.js +179 -0
  406. package/lib/plugins/connector-edge-tts/config.js.map +1 -0
  407. package/lib/plugins/connector-edge-tts/connector.d.ts +4 -0
  408. package/lib/plugins/connector-edge-tts/connector.d.ts.map +1 -0
  409. package/lib/plugins/connector-edge-tts/connector.js +87 -0
  410. package/lib/plugins/connector-edge-tts/connector.js.map +1 -0
  411. package/lib/plugins/connector-edge-tts/index.d.ts +4 -0
  412. package/lib/plugins/connector-edge-tts/index.d.ts.map +1 -0
  413. package/lib/plugins/connector-edge-tts/index.js +20 -0
  414. package/lib/plugins/connector-edge-tts/index.js.map +1 -0
  415. package/lib/plugins/connector-flux/config.d.ts +6 -0
  416. package/lib/plugins/connector-flux/config.d.ts.map +1 -0
  417. package/lib/plugins/connector-flux/config.js +92 -0
  418. package/lib/plugins/connector-flux/config.js.map +1 -0
  419. package/lib/plugins/connector-flux/connector.d.ts +4 -0
  420. package/lib/plugins/connector-flux/connector.d.ts.map +1 -0
  421. package/lib/plugins/connector-flux/connector.js +150 -0
  422. package/lib/plugins/connector-flux/connector.js.map +1 -0
  423. package/lib/plugins/connector-flux/index.d.ts +4 -0
  424. package/lib/plugins/connector-flux/index.d.ts.map +1 -0
  425. package/lib/plugins/connector-flux/index.js +19 -0
  426. package/lib/plugins/connector-flux/index.js.map +1 -0
  427. package/lib/plugins/connector-gemini/config.d.ts +6 -0
  428. package/lib/plugins/connector-gemini/config.d.ts.map +1 -0
  429. package/lib/plugins/connector-gemini/config.js +168 -0
  430. package/lib/plugins/connector-gemini/config.js.map +1 -0
  431. package/lib/plugins/connector-gemini/connector.d.ts +4 -0
  432. package/lib/plugins/connector-gemini/connector.d.ts.map +1 -0
  433. package/lib/plugins/connector-gemini/connector.js +313 -0
  434. package/lib/plugins/connector-gemini/connector.js.map +1 -0
  435. package/lib/plugins/connector-gemini/index.d.ts +4 -0
  436. package/lib/plugins/connector-gemini/index.d.ts.map +1 -0
  437. package/lib/plugins/connector-gemini/index.js +20 -0
  438. package/lib/plugins/connector-gemini/index.js.map +1 -0
  439. package/lib/plugins/connector-midjourney/config.d.ts +6 -0
  440. package/lib/plugins/connector-midjourney/config.d.ts.map +1 -0
  441. package/lib/plugins/connector-midjourney/config.js +59 -0
  442. package/lib/plugins/connector-midjourney/config.js.map +1 -0
  443. package/lib/plugins/connector-midjourney/connector.d.ts +4 -0
  444. package/lib/plugins/connector-midjourney/connector.d.ts.map +1 -0
  445. package/lib/plugins/connector-midjourney/connector.js +123 -0
  446. package/lib/plugins/connector-midjourney/connector.js.map +1 -0
  447. package/lib/plugins/connector-midjourney/index.d.ts +4 -0
  448. package/lib/plugins/connector-midjourney/index.d.ts.map +1 -0
  449. package/lib/plugins/connector-midjourney/index.js +19 -0
  450. package/lib/plugins/connector-midjourney/index.js.map +1 -0
  451. package/lib/plugins/connector-minimax/config.d.ts +6 -0
  452. package/lib/plugins/connector-minimax/config.d.ts.map +1 -0
  453. package/lib/plugins/connector-minimax/config.js +229 -0
  454. package/lib/plugins/connector-minimax/config.js.map +1 -0
  455. package/lib/plugins/connector-minimax/connector.d.ts +4 -0
  456. package/lib/plugins/connector-minimax/connector.d.ts.map +1 -0
  457. package/lib/plugins/connector-minimax/connector.js +130 -0
  458. package/lib/plugins/connector-minimax/connector.js.map +1 -0
  459. package/lib/plugins/connector-minimax/index.d.ts +4 -0
  460. package/lib/plugins/connector-minimax/index.d.ts.map +1 -0
  461. package/lib/plugins/connector-minimax/index.js +19 -0
  462. package/lib/plugins/connector-minimax/index.js.map +1 -0
  463. package/lib/plugins/connector-newapi-video/config.d.ts +4 -0
  464. package/lib/plugins/connector-newapi-video/config.d.ts.map +1 -0
  465. package/lib/plugins/connector-newapi-video/config.js +100 -0
  466. package/lib/plugins/connector-newapi-video/config.js.map +1 -0
  467. package/lib/plugins/connector-newapi-video/connector.d.ts +3 -0
  468. package/lib/plugins/connector-newapi-video/connector.d.ts.map +1 -0
  469. package/lib/plugins/connector-newapi-video/connector.js +164 -0
  470. package/lib/plugins/connector-newapi-video/connector.js.map +1 -0
  471. package/lib/plugins/connector-newapi-video/index.d.ts +4 -0
  472. package/lib/plugins/connector-newapi-video/index.d.ts.map +1 -0
  473. package/lib/plugins/connector-newapi-video/index.js +18 -0
  474. package/lib/plugins/connector-newapi-video/index.js.map +1 -0
  475. package/lib/plugins/connector-openai-tts/config.d.ts +22 -0
  476. package/lib/plugins/connector-openai-tts/config.d.ts.map +1 -0
  477. package/lib/plugins/connector-openai-tts/config.js +98 -0
  478. package/lib/plugins/connector-openai-tts/config.js.map +1 -0
  479. package/lib/plugins/connector-openai-tts/connector.d.ts +4 -0
  480. package/lib/plugins/connector-openai-tts/connector.d.ts.map +1 -0
  481. package/lib/plugins/connector-openai-tts/connector.js +105 -0
  482. package/lib/plugins/connector-openai-tts/connector.js.map +1 -0
  483. package/lib/plugins/connector-openai-tts/index.d.ts +4 -0
  484. package/lib/plugins/connector-openai-tts/index.d.ts.map +1 -0
  485. package/lib/plugins/connector-openai-tts/index.js +20 -0
  486. package/lib/plugins/connector-openai-tts/index.js.map +1 -0
  487. package/lib/plugins/connector-openai-video/config.d.ts +4 -0
  488. package/lib/plugins/connector-openai-video/config.d.ts.map +1 -0
  489. package/lib/plugins/connector-openai-video/config.js +79 -0
  490. package/lib/plugins/connector-openai-video/config.js.map +1 -0
  491. package/lib/plugins/connector-openai-video/connector.d.ts +3 -0
  492. package/lib/plugins/connector-openai-video/connector.d.ts.map +1 -0
  493. package/lib/plugins/connector-openai-video/connector.js +149 -0
  494. package/lib/plugins/connector-openai-video/connector.js.map +1 -0
  495. package/lib/plugins/connector-openai-video/index.d.ts +4 -0
  496. package/lib/plugins/connector-openai-video/index.d.ts.map +1 -0
  497. package/lib/plugins/connector-openai-video/index.js +18 -0
  498. package/lib/plugins/connector-openai-video/index.js.map +1 -0
  499. package/lib/plugins/connector-peinture/config.d.ts +17 -0
  500. package/lib/plugins/connector-peinture/config.d.ts.map +1 -0
  501. package/lib/plugins/connector-peinture/config.js +89 -0
  502. package/lib/plugins/connector-peinture/config.js.map +1 -0
  503. package/lib/plugins/connector-peinture/connector.d.ts +4 -0
  504. package/lib/plugins/connector-peinture/connector.d.ts.map +1 -0
  505. package/lib/plugins/connector-peinture/connector.js +104 -0
  506. package/lib/plugins/connector-peinture/connector.js.map +1 -0
  507. package/lib/plugins/connector-peinture/index.d.ts +4 -0
  508. package/lib/plugins/connector-peinture/index.d.ts.map +1 -0
  509. package/lib/plugins/connector-peinture/index.js +19 -0
  510. package/lib/plugins/connector-peinture/index.js.map +1 -0
  511. package/lib/plugins/connector-runway/config.d.ts +6 -0
  512. package/lib/plugins/connector-runway/config.d.ts.map +1 -0
  513. package/lib/plugins/connector-runway/config.js +68 -0
  514. package/lib/plugins/connector-runway/config.js.map +1 -0
  515. package/lib/plugins/connector-runway/connector.d.ts +4 -0
  516. package/lib/plugins/connector-runway/connector.d.ts.map +1 -0
  517. package/lib/plugins/connector-runway/connector.js +110 -0
  518. package/lib/plugins/connector-runway/connector.js.map +1 -0
  519. package/lib/plugins/connector-runway/index.d.ts +4 -0
  520. package/lib/plugins/connector-runway/index.d.ts.map +1 -0
  521. package/lib/plugins/connector-runway/index.js +19 -0
  522. package/lib/plugins/connector-runway/index.js.map +1 -0
  523. package/lib/plugins/connector-sd-webui/config.d.ts +6 -0
  524. package/lib/plugins/connector-sd-webui/config.d.ts.map +1 -0
  525. package/lib/plugins/connector-sd-webui/config.js +84 -0
  526. package/lib/plugins/connector-sd-webui/config.js.map +1 -0
  527. package/lib/plugins/connector-sd-webui/connector.d.ts +4 -0
  528. package/lib/plugins/connector-sd-webui/connector.d.ts.map +1 -0
  529. package/lib/plugins/connector-sd-webui/connector.js +121 -0
  530. package/lib/plugins/connector-sd-webui/connector.js.map +1 -0
  531. package/lib/plugins/connector-sd-webui/index.d.ts +4 -0
  532. package/lib/plugins/connector-sd-webui/index.d.ts.map +1 -0
  533. package/lib/plugins/connector-sd-webui/index.js +19 -0
  534. package/lib/plugins/connector-sd-webui/index.js.map +1 -0
  535. package/lib/plugins/connector-stability/config.d.ts +6 -0
  536. package/lib/plugins/connector-stability/config.d.ts.map +1 -0
  537. package/lib/plugins/connector-stability/config.js +73 -0
  538. package/lib/plugins/connector-stability/config.js.map +1 -0
  539. package/lib/plugins/connector-stability/connector.d.ts +4 -0
  540. package/lib/plugins/connector-stability/connector.d.ts.map +1 -0
  541. package/lib/plugins/connector-stability/connector.js +117 -0
  542. package/lib/plugins/connector-stability/connector.js.map +1 -0
  543. package/lib/plugins/connector-stability/index.d.ts +4 -0
  544. package/lib/plugins/connector-stability/index.d.ts.map +1 -0
  545. package/lib/plugins/connector-stability/index.js +19 -0
  546. package/lib/plugins/connector-stability/index.js.map +1 -0
  547. package/lib/plugins/connector-suno/config.d.ts +6 -0
  548. package/lib/plugins/connector-suno/config.d.ts.map +1 -0
  549. package/lib/plugins/connector-suno/config.js +63 -0
  550. package/lib/plugins/connector-suno/config.js.map +1 -0
  551. package/lib/plugins/connector-suno/connector.d.ts +4 -0
  552. package/lib/plugins/connector-suno/connector.d.ts.map +1 -0
  553. package/lib/plugins/connector-suno/connector.js +160 -0
  554. package/lib/plugins/connector-suno/connector.js.map +1 -0
  555. package/lib/plugins/connector-suno/index.d.ts +4 -0
  556. package/lib/plugins/connector-suno/index.d.ts.map +1 -0
  557. package/lib/plugins/connector-suno/index.js +19 -0
  558. package/lib/plugins/connector-suno/index.js.map +1 -0
  559. package/lib/plugins/connector-test/config.d.ts +6 -0
  560. package/lib/plugins/connector-test/config.d.ts.map +1 -0
  561. package/lib/plugins/connector-test/config.js +58 -0
  562. package/lib/plugins/connector-test/config.js.map +1 -0
  563. package/lib/plugins/connector-test/connector.d.ts +4 -0
  564. package/lib/plugins/connector-test/connector.d.ts.map +1 -0
  565. package/lib/plugins/connector-test/connector.js +155 -0
  566. package/lib/plugins/connector-test/connector.js.map +1 -0
  567. package/lib/plugins/connector-test/index.d.ts +4 -0
  568. package/lib/plugins/connector-test/index.d.ts.map +1 -0
  569. package/lib/plugins/connector-test/index.js +19 -0
  570. package/lib/plugins/connector-test/index.js.map +1 -0
  571. package/lib/plugins/connector-vertex-ai/config.d.ts +6 -0
  572. package/lib/plugins/connector-vertex-ai/config.d.ts.map +1 -0
  573. package/lib/plugins/connector-vertex-ai/config.js +153 -0
  574. package/lib/plugins/connector-vertex-ai/config.js.map +1 -0
  575. package/lib/plugins/connector-vertex-ai/connector.d.ts +4 -0
  576. package/lib/plugins/connector-vertex-ai/connector.d.ts.map +1 -0
  577. package/lib/plugins/connector-vertex-ai/connector.js +206 -0
  578. package/lib/plugins/connector-vertex-ai/connector.js.map +1 -0
  579. package/lib/plugins/connector-vertex-ai/index.d.ts +4 -0
  580. package/lib/plugins/connector-vertex-ai/index.d.ts.map +1 -0
  581. package/lib/plugins/connector-vertex-ai/index.js +20 -0
  582. package/lib/plugins/connector-vertex-ai/index.js.map +1 -0
  583. package/lib/plugins/connector-volcengine-tts/config.d.ts +42 -0
  584. package/lib/plugins/connector-volcengine-tts/config.d.ts.map +1 -0
  585. package/lib/plugins/connector-volcengine-tts/config.js +442 -0
  586. package/lib/plugins/connector-volcengine-tts/config.js.map +1 -0
  587. package/lib/plugins/connector-volcengine-tts/connector.d.ts +4 -0
  588. package/lib/plugins/connector-volcengine-tts/connector.d.ts.map +1 -0
  589. package/lib/plugins/connector-volcengine-tts/connector.js +189 -0
  590. package/lib/plugins/connector-volcengine-tts/connector.js.map +1 -0
  591. package/lib/plugins/connector-volcengine-tts/index.d.ts +4 -0
  592. package/lib/plugins/connector-volcengine-tts/index.d.ts.map +1 -0
  593. package/lib/plugins/connector-volcengine-tts/index.js +20 -0
  594. package/lib/plugins/connector-volcengine-tts/index.js.map +1 -0
  595. package/lib/plugins/dalle-size-enhancer/config.d.ts +17 -0
  596. package/lib/plugins/dalle-size-enhancer/config.d.ts.map +1 -0
  597. package/lib/plugins/dalle-size-enhancer/config.js +96 -0
  598. package/lib/plugins/dalle-size-enhancer/config.js.map +1 -0
  599. package/lib/plugins/dalle-size-enhancer/index.d.ts +5 -0
  600. package/lib/plugins/dalle-size-enhancer/index.d.ts.map +1 -0
  601. package/lib/plugins/dalle-size-enhancer/index.js +23 -0
  602. package/lib/plugins/dalle-size-enhancer/index.js.map +1 -0
  603. package/lib/plugins/dalle-size-enhancer/middleware.d.ts +4 -0
  604. package/lib/plugins/dalle-size-enhancer/middleware.d.ts.map +1 -0
  605. package/lib/plugins/dalle-size-enhancer/middleware.js +288 -0
  606. package/lib/plugins/dalle-size-enhancer/middleware.js.map +1 -0
  607. package/lib/plugins/index.d.ts +63 -0
  608. package/lib/plugins/index.d.ts.map +1 -0
  609. package/lib/plugins/index.js +147 -0
  610. package/lib/plugins/index.js.map +1 -0
  611. package/lib/plugins/koishi-commands/commands/catalog.d.ts +14 -0
  612. package/lib/plugins/koishi-commands/commands/catalog.d.ts.map +1 -0
  613. package/lib/plugins/koishi-commands/commands/catalog.js +287 -0
  614. package/lib/plugins/koishi-commands/commands/catalog.js.map +1 -0
  615. package/lib/plugins/koishi-commands/commands/channel-generate.d.ts +13 -0
  616. package/lib/plugins/koishi-commands/commands/channel-generate.d.ts.map +1 -0
  617. package/lib/plugins/koishi-commands/commands/channel-generate.js +109 -0
  618. package/lib/plugins/koishi-commands/commands/channel-generate.js.map +1 -0
  619. package/lib/plugins/koishi-commands/commands/tasks.d.ts +11 -0
  620. package/lib/plugins/koishi-commands/commands/tasks.d.ts.map +1 -0
  621. package/lib/plugins/koishi-commands/commands/tasks.js +322 -0
  622. package/lib/plugins/koishi-commands/commands/tasks.js.map +1 -0
  623. package/lib/plugins/koishi-commands/config.d.ts +29 -0
  624. package/lib/plugins/koishi-commands/config.d.ts.map +1 -0
  625. package/lib/plugins/koishi-commands/config.js +91 -0
  626. package/lib/plugins/koishi-commands/config.js.map +1 -0
  627. package/lib/plugins/koishi-commands/formatters/delivery.d.ts +18 -0
  628. package/lib/plugins/koishi-commands/formatters/delivery.d.ts.map +1 -0
  629. package/lib/plugins/koishi-commands/formatters/delivery.js +219 -0
  630. package/lib/plugins/koishi-commands/formatters/delivery.js.map +1 -0
  631. package/lib/plugins/koishi-commands/index.d.ts +4 -0
  632. package/lib/plugins/koishi-commands/index.d.ts.map +1 -0
  633. package/lib/plugins/koishi-commands/index.js +168 -0
  634. package/lib/plugins/koishi-commands/index.js.map +1 -0
  635. package/lib/plugins/koishi-commands/services/generation-flow.d.ts +24 -0
  636. package/lib/plugins/koishi-commands/services/generation-flow.d.ts.map +1 -0
  637. package/lib/plugins/koishi-commands/services/generation-flow.js +315 -0
  638. package/lib/plugins/koishi-commands/services/generation-flow.js.map +1 -0
  639. package/lib/plugins/koishi-commands/services/message-extractor.d.ts +60 -0
  640. package/lib/plugins/koishi-commands/services/message-extractor.d.ts.map +1 -0
  641. package/lib/plugins/koishi-commands/services/message-extractor.js +436 -0
  642. package/lib/plugins/koishi-commands/services/message-extractor.js.map +1 -0
  643. package/lib/plugins/koishi-commands/services/task-reference.d.ts +15 -0
  644. package/lib/plugins/koishi-commands/services/task-reference.d.ts.map +1 -0
  645. package/lib/plugins/koishi-commands/services/task-reference.js +111 -0
  646. package/lib/plugins/koishi-commands/services/task-reference.js.map +1 -0
  647. package/lib/plugins/plugin-modelscope/config.d.ts +29 -0
  648. package/lib/plugins/plugin-modelscope/config.d.ts.map +1 -0
  649. package/lib/plugins/plugin-modelscope/config.js +212 -0
  650. package/lib/plugins/plugin-modelscope/config.js.map +1 -0
  651. package/lib/plugins/plugin-modelscope/connector.d.ts +4 -0
  652. package/lib/plugins/plugin-modelscope/connector.d.ts.map +1 -0
  653. package/lib/plugins/plugin-modelscope/connector.js +164 -0
  654. package/lib/plugins/plugin-modelscope/connector.js.map +1 -0
  655. package/lib/plugins/plugin-modelscope/index.d.ts +8 -0
  656. package/lib/plugins/plugin-modelscope/index.d.ts.map +1 -0
  657. package/lib/plugins/plugin-modelscope/index.js +38 -0
  658. package/lib/plugins/plugin-modelscope/index.js.map +1 -0
  659. package/lib/plugins/plugin-modelscope/middleware.d.ts +4 -0
  660. package/lib/plugins/plugin-modelscope/middleware.d.ts.map +1 -0
  661. package/lib/plugins/plugin-modelscope/middleware.js +275 -0
  662. package/lib/plugins/plugin-modelscope/middleware.js.map +1 -0
  663. package/lib/plugins/plugin-modelscope/presets.d.ts +9 -0
  664. package/lib/plugins/plugin-modelscope/presets.d.ts.map +1 -0
  665. package/lib/plugins/plugin-modelscope/presets.js +368 -0
  666. package/lib/plugins/plugin-modelscope/presets.js.map +1 -0
  667. package/lib/plugins/preset/config.d.ts +41 -0
  668. package/lib/plugins/preset/config.d.ts.map +1 -0
  669. package/lib/plugins/preset/config.js +95 -0
  670. package/lib/plugins/preset/config.js.map +1 -0
  671. package/lib/plugins/preset/index.d.ts +6 -0
  672. package/lib/plugins/preset/index.d.ts.map +1 -0
  673. package/lib/plugins/preset/index.js +70 -0
  674. package/lib/plugins/preset/index.js.map +1 -0
  675. package/lib/plugins/preset/middleware.d.ts +6 -0
  676. package/lib/plugins/preset/middleware.d.ts.map +1 -0
  677. package/lib/plugins/preset/middleware.js +129 -0
  678. package/lib/plugins/preset/middleware.js.map +1 -0
  679. package/lib/plugins/preset/remote-sync.service.d.ts +139 -0
  680. package/lib/plugins/preset/remote-sync.service.d.ts.map +1 -0
  681. package/lib/plugins/preset/remote-sync.service.js +526 -0
  682. package/lib/plugins/preset/remote-sync.service.js.map +1 -0
  683. package/lib/plugins/preset/service.d.ts +66 -0
  684. package/lib/plugins/preset/service.d.ts.map +1 -0
  685. package/lib/plugins/preset/service.js +208 -0
  686. package/lib/plugins/preset/service.js.map +1 -0
  687. package/lib/plugins/prompt-censor-bypass/config.d.ts +31 -0
  688. package/lib/plugins/prompt-censor-bypass/config.d.ts.map +1 -0
  689. package/lib/plugins/prompt-censor-bypass/config.js +89 -0
  690. package/lib/plugins/prompt-censor-bypass/config.js.map +1 -0
  691. package/lib/plugins/prompt-censor-bypass/index.d.ts +5 -0
  692. package/lib/plugins/prompt-censor-bypass/index.d.ts.map +1 -0
  693. package/lib/plugins/prompt-censor-bypass/index.js +25 -0
  694. package/lib/plugins/prompt-censor-bypass/index.js.map +1 -0
  695. package/lib/plugins/prompt-censor-bypass/middleware.d.ts +6 -0
  696. package/lib/plugins/prompt-censor-bypass/middleware.d.ts.map +1 -0
  697. package/lib/plugins/prompt-censor-bypass/middleware.js +181 -0
  698. package/lib/plugins/prompt-censor-bypass/middleware.js.map +1 -0
  699. package/lib/plugins/task/config.d.ts +15 -0
  700. package/lib/plugins/task/config.d.ts.map +1 -0
  701. package/lib/plugins/task/config.js +36 -0
  702. package/lib/plugins/task/config.js.map +1 -0
  703. package/lib/plugins/task/index.d.ts +5 -0
  704. package/lib/plugins/task/index.d.ts.map +1 -0
  705. package/lib/plugins/task/index.js +62 -0
  706. package/lib/plugins/task/index.js.map +1 -0
  707. package/lib/plugins/task/middleware.d.ts +14 -0
  708. package/lib/plugins/task/middleware.d.ts.map +1 -0
  709. package/lib/plugins/task/middleware.js +174 -0
  710. package/lib/plugins/task/middleware.js.map +1 -0
  711. package/lib/plugins/task/service.d.ts +116 -0
  712. package/lib/plugins/task/service.d.ts.map +1 -0
  713. package/lib/plugins/task/service.js +298 -0
  714. package/lib/plugins/task/service.js.map +1 -0
  715. package/lib/plugins/video-duration-enhancer/config.d.ts +12 -0
  716. package/lib/plugins/video-duration-enhancer/config.d.ts.map +1 -0
  717. package/lib/plugins/video-duration-enhancer/config.js +56 -0
  718. package/lib/plugins/video-duration-enhancer/config.js.map +1 -0
  719. package/lib/plugins/video-duration-enhancer/index.d.ts +5 -0
  720. package/lib/plugins/video-duration-enhancer/index.d.ts.map +1 -0
  721. package/lib/plugins/video-duration-enhancer/index.js +23 -0
  722. package/lib/plugins/video-duration-enhancer/index.js.map +1 -0
  723. package/lib/plugins/video-duration-enhancer/middleware.d.ts +4 -0
  724. package/lib/plugins/video-duration-enhancer/middleware.d.ts.map +1 -0
  725. package/lib/plugins/video-duration-enhancer/middleware.js +103 -0
  726. package/lib/plugins/video-duration-enhancer/middleware.js.map +1 -0
  727. package/lib/plugins/vits/config.d.ts +11 -0
  728. package/lib/plugins/vits/config.d.ts.map +1 -0
  729. package/lib/plugins/vits/config.js +19 -0
  730. package/lib/plugins/vits/config.js.map +1 -0
  731. package/lib/plugins/vits/index.d.ts +6 -0
  732. package/lib/plugins/vits/index.d.ts.map +1 -0
  733. package/lib/plugins/vits/index.js +49 -0
  734. package/lib/plugins/vits/index.js.map +1 -0
  735. package/lib/plugins/vits/service.d.ts +38 -0
  736. package/lib/plugins/vits/service.d.ts.map +1 -0
  737. package/lib/plugins/vits/service.js +140 -0
  738. package/lib/plugins/vits/service.js.map +1 -0
  739. package/lib/plugins/vits/types.d.ts +19 -0
  740. package/lib/plugins/vits/types.d.ts.map +1 -0
  741. package/lib/plugins/vits/types.js +4 -0
  742. package/lib/plugins/vits/types.js.map +1 -0
  743. package/lib/plugins/webui-auth/config.d.ts +12 -0
  744. package/lib/plugins/webui-auth/config.d.ts.map +1 -0
  745. package/lib/plugins/webui-auth/config.js +33 -0
  746. package/lib/plugins/webui-auth/config.js.map +1 -0
  747. package/lib/plugins/webui-auth/index.d.ts +5 -0
  748. package/lib/plugins/webui-auth/index.d.ts.map +1 -0
  749. package/lib/plugins/webui-auth/index.js +110 -0
  750. package/lib/plugins/webui-auth/index.js.map +1 -0
  751. package/lib/plugins/webui-auth/service.d.ts +42 -0
  752. package/lib/plugins/webui-auth/service.d.ts.map +1 -0
  753. package/lib/plugins/webui-auth/service.js +119 -0
  754. package/lib/plugins/webui-auth/service.js.map +1 -0
  755. package/lib/types/index.d.ts +2 -0
  756. package/lib/types/index.d.ts.map +1 -0
  757. package/lib/types/index.js +20 -0
  758. package/lib/types/index.js.map +1 -0
  759. package/package.json +89 -0
  760. package/readme.md +267 -0
@@ -0,0 +1,5 @@
1
+ # Media Luna WebUI
2
+
3
+ 基于 Koishi Console 的 WebUI 前端,使用 Vue 3 + TypeScript。
4
+
5
+ 详细开发文档请查看 [docs/webui.md](../docs/webui.md)。
package/client/api.ts ADDED
@@ -0,0 +1,351 @@
1
+ import { send, socket } from '@koishijs/client'
2
+ import type {
3
+ ChannelConfig,
4
+ PresetData,
5
+ TaskData,
6
+ TaskStats,
7
+ ConnectorDefinition,
8
+ ConfigField,
9
+ GenerationResult,
10
+ ClientFileData,
11
+ MiddlewareInfo,
12
+ CardFieldsResponse,
13
+ PaginatedResponse,
14
+ ApiResponse,
15
+ SettingsPanelInfo,
16
+ PluginInfo,
17
+ GalleryItem,
18
+ GalleryResponse,
19
+ RecentImage,
20
+ CacheFileInfo,
21
+ CacheStats,
22
+ ExternalPluginInfo,
23
+ CurrentUser
24
+ } from './types'
25
+
26
+ // 重新导出类型,方便使用
27
+ export type {
28
+ GalleryItem,
29
+ GalleryResponse,
30
+ RecentImage,
31
+ CacheFileInfo,
32
+ CacheStats,
33
+ SettingsPanelInfo,
34
+ PluginInfo,
35
+ ExternalPluginInfo,
36
+ CurrentUser
37
+ }
38
+
39
+ // 支持自定义超时的 send 函数
40
+ // @koishijs/client 的 send 默认超时 60 秒,对于生成任务不够用
41
+ const responseHooks: Record<string, [(value: any) => void, (reason: any) => void]> = {}
42
+
43
+ // 监听响应消息
44
+ let listenerInitialized = false
45
+ function initResponseListener() {
46
+ if (listenerInitialized || !socket.value) return
47
+ listenerInitialized = true
48
+ socket.value.addEventListener('message', (ev) => {
49
+ try {
50
+ const data = JSON.parse(ev.data)
51
+ if (data.type === 'response' && data.body) {
52
+ const { id, value, error } = data.body
53
+ if (responseHooks[id]) {
54
+ const [resolve, reject] = responseHooks[id]
55
+ delete responseHooks[id]
56
+ if (error) {
57
+ reject(error)
58
+ } else {
59
+ resolve(value)
60
+ }
61
+ }
62
+ }
63
+ } catch {
64
+ // ignore parse errors
65
+ }
66
+ })
67
+ }
68
+
69
+ function sendWithTimeout(type: string, args: any[], timeoutMs: number): Promise<any> {
70
+ if (!socket.value) return Promise.reject(new Error('WebSocket not connected'))
71
+ initResponseListener()
72
+
73
+ const id = Math.random().toString(36).slice(2, 9)
74
+ socket.value.send(JSON.stringify({ id, type, args: [args] }))
75
+
76
+ return new Promise((resolve, reject) => {
77
+ responseHooks[id] = [resolve, reject]
78
+ setTimeout(() => {
79
+ if (responseHooks[id]) {
80
+ delete responseHooks[id]
81
+ reject(new Error('timeout'))
82
+ }
83
+ }, timeoutMs)
84
+ })
85
+ }
86
+
87
+ // 通用调用封装
88
+ async function call<T>(event: keyof any, params?: any): Promise<T> {
89
+ // @ts-ignore
90
+ const result = await send(event, params) as ApiResponse<T>
91
+ if (!result.success) {
92
+ throw new Error(result.error || '请求失败')
93
+ }
94
+ // @ts-ignore
95
+ return result.data
96
+ }
97
+
98
+ // 支持自定义超时的调用封装
99
+ async function callWithTimeout<T>(event: string, params: any, timeoutMs: number): Promise<T> {
100
+ const result = await sendWithTimeout(event, params, timeoutMs) as ApiResponse<T>
101
+ if (!result.success) {
102
+ throw new Error(result.error || '请求失败')
103
+ }
104
+ // @ts-ignore
105
+ return result.data
106
+ }
107
+
108
+ // 渠道 API
109
+ export const channelApi = {
110
+ list: () => call<ChannelConfig[]>('media-luna/channels/list'),
111
+ listEnabled: () => call<ChannelConfig[]>('media-luna/channels/list-enabled'),
112
+ get: (id: number) => call<ChannelConfig>('media-luna/channels/get', { id }),
113
+ create: (data: Omit<ChannelConfig, 'id'>) => call<ChannelConfig>('media-luna/channels/create', data),
114
+ update: (id: number, data: Partial<ChannelConfig>) => call<ChannelConfig>('media-luna/channels/update', { id, data }),
115
+ delete: (id: number) => call<void>('media-luna/channels/delete', { id }),
116
+ toggle: (id: number, enabled: boolean) => call<void>('media-luna/channels/toggle', { id, enabled }),
117
+ tags: () => call<string[]>('media-luna/channels/tags'),
118
+ getByTags: (tags: string[], matchAll?: boolean) => call<ChannelConfig[]>('media-luna/channels/by-tags', { tags, matchAll })
119
+ }
120
+
121
+ // 预设 API
122
+ export const presetApi = {
123
+ list: (enabledOnly?: boolean) => call<PresetData[]>('media-luna/presets/list', { enabledOnly }),
124
+ get: (id: number) => call<PresetData>('media-luna/presets/get', { id }),
125
+ create: (data: Omit<PresetData, 'id'>) => call<PresetData>('media-luna/presets/create', data),
126
+ update: (id: number, data: Partial<PresetData>) => call<PresetData>('media-luna/presets/update', { id, data }),
127
+ delete: (id: number) => call<void>('media-luna/presets/delete', { id }),
128
+ toggle: (id: number, enabled: boolean) => call<void>('media-luna/presets/toggle', { id, enabled }),
129
+ copy: (id: number) => call<PresetData>('media-luna/presets/copy', { id }),
130
+ matching: (channelId: number) => call<PresetData[]>('media-luna/presets/matching', { channelId }),
131
+ tags: () => call<string[]>('media-luna/presets/tags'),
132
+ getByTags: (tags: string[], matchAll?: boolean) => call<PresetData[]>('media-luna/presets/by-tags', { tags, matchAll }),
133
+ // 上传相关
134
+ getUploadConfig: () => call<{ uploadUrl: string, defaultAuthor: string, enabled: boolean }>('media-luna/presets/upload-config'),
135
+ upload: (data: {
136
+ title: string
137
+ prompt: string
138
+ imageUrl?: string
139
+ category?: 'gallery' | 'template'
140
+ type?: 'txt2img' | 'img2img'
141
+ author?: string
142
+ description?: string
143
+ tags?: string[]
144
+ referenceImages?: Array<{ url?: string; isPlaceholder?: boolean }>
145
+ }) => call<{ pending?: boolean, message: string }>('media-luna/presets/upload', data),
146
+ uploadTask: (data: {
147
+ taskId: number
148
+ assetIndex?: number
149
+ title: string
150
+ category?: 'gallery' | 'template'
151
+ author?: string
152
+ description?: string
153
+ tags?: string[]
154
+ }) => call<{ pending?: boolean, message: string }>('media-luna/presets/upload-task', data)
155
+ }
156
+
157
+ // 任务 API
158
+ export const taskApi = {
159
+ list: (params?: { uid?: number, channelId?: number, status?: string, startDate?: string, limit?: number, offset?: number }) =>
160
+ call<PaginatedResponse<TaskData>>('media-luna/tasks/list', params),
161
+ get: (id: number) => call<TaskData>('media-luna/tasks/get', { id }),
162
+ delete: (id: number) => call<void>('media-luna/tasks/delete', { id }),
163
+ stats: (params?: { channelId?: number, startDate?: string }) => call<TaskStats>('media-luna/tasks/stats', params),
164
+ cleanup: (days?: number) => call<{ deleted: number, beforeDate: string }>('media-luna/tasks/cleanup', { days }),
165
+ deleteByStatus: (status: string) => call<{ deleted: number, status: string }>('media-luna/tasks/delete-by-status', { status }),
166
+ recent: (userId: number, limit?: number) => call<TaskData[]>('media-luna/tasks/recent', { userId, limit }),
167
+ /** 获取当前用户的任务列表 */
168
+ my: (params?: { channelId?: number, status?: string, limit?: number, offset?: number }) =>
169
+ call<PaginatedResponse<TaskData>>('media-luna/tasks/my', params)
170
+ }
171
+
172
+ // 用户 API
173
+ export const userApi = {
174
+ /** 批量获取用户信息(通过 binding 表和 bot 从平台获取头像和用户名) */
175
+ batch: (uids: number[]) =>
176
+ call<Record<number, { name?: string; avatar?: string; platform?: string }>>('media-luna/users/batch', { uids })
177
+ }
178
+
179
+ // 画廊 API
180
+ export const galleryApi = {
181
+ /** 获取当前用户的生成画廊 */
182
+ my: (params?: { limit?: number, offset?: number, channelId?: number }) =>
183
+ call<GalleryResponse>('media-luna/gallery/my', params),
184
+ /** 获取当前用户最近生成的图片 */
185
+ recentImages: (limit?: number) =>
186
+ call<RecentImage[]>('media-luna/gallery/recent-images', { limit }),
187
+ /** 获取指定用户的画廊(管理员) */
188
+ user: (params: { uid: number, limit?: number, offset?: number, channelId?: number }) =>
189
+ call<GalleryResponse>('media-luna/gallery/user', params)
190
+ }
191
+
192
+ // 认证 API
193
+ export const authApi = {
194
+ /** 获取当前登录用户信息 */
195
+ me: () => call<{ loggedIn: boolean, source?: string, uid?: number, name?: string, authority?: number }>('media-luna/auth/me')
196
+ }
197
+
198
+ // 中间件 API
199
+ export const middlewareApi = {
200
+ list: () => call<MiddlewareInfo[]>('media-luna/middlewares/list'),
201
+ get: (name: string) => call<MiddlewareInfo>('media-luna/middlewares/get', { name }),
202
+ update: (name: string, data: { enabled?: boolean, config?: any }) => call<void>('media-luna/middlewares/update', { name, data }),
203
+ reset: (name: string) => call<void>('media-luna/middlewares/reset', { name }),
204
+ executionOrder: () => call<any[]>('media-luna/middlewares/execution-order'),
205
+ /** 获取中间件注册的卡片展示字段 */
206
+ cardFields: () => call<CardFieldsResponse>('media-luna/middlewares/card-fields')
207
+ }
208
+
209
+ // 连接器 API
210
+ export const connectorApi = {
211
+ list: () => call<ConnectorDefinition[]>('media-luna/connectors/list'),
212
+ get: (id: string) => call<ConnectorDefinition>('media-luna/connectors/get', { id }),
213
+ fields: (id: string) => call<ConfigField[]>('media-luna/connectors/fields', { id }),
214
+ schema: () => call<any[]>('media-luna/connectors/schema')
215
+ }
216
+
217
+ // 生成 API
218
+ // 生成任务使用 10 分钟超时(600000ms),因为某些连接器(如 chat-api)可能需要较长时间
219
+ const GENERATE_TIMEOUT = 10 * 60 * 1000
220
+
221
+ export const generateApi = {
222
+ generate: (params: { channelId: number, prompt: string, files?: ClientFileData[], parameters?: any, userId?: number }) =>
223
+ callWithTimeout<GenerationResult>('media-luna/generate', params, GENERATE_TIMEOUT),
224
+ preview: (params: { channelId: number, prompt: string, parameters?: any }) =>
225
+ call<{ channelName: string, connectorId: string, finalPrompt: string, parameters: any }>('media-luna/generate/preview', params)
226
+ }
227
+
228
+ // 缓存 API
229
+ export const cacheApi = {
230
+ /** 上传文件到缓存 */
231
+ upload: (data: string, mime: string, filename?: string) =>
232
+ call<CacheFileInfo>('media-luna/cache/upload', { data, mime, filename }),
233
+ /** 从 URL 下载并缓存 */
234
+ cacheUrl: (url: string) =>
235
+ call<CacheFileInfo>('media-luna/cache/cache-url', { url }),
236
+ /** 获取缓存文件信息 */
237
+ get: (id: string) =>
238
+ call<CacheFileInfo>('media-luna/cache/get', { id }),
239
+ /** 读取缓存文件内容(返回 data URL) */
240
+ read: (id: string) =>
241
+ call<string>('media-luna/cache/read', { id }),
242
+ /** 删除缓存文件 */
243
+ delete: (id: string) =>
244
+ call<void>('media-luna/cache/delete', { id }),
245
+ /** 获取缓存统计信息 */
246
+ stats: () =>
247
+ call<CacheStats>('media-luna/cache/stats'),
248
+ /** 清空所有缓存 */
249
+ clear: () =>
250
+ call<void>('media-luna/cache/clear'),
251
+ /** 测试存储连接 */
252
+ test: () =>
253
+ call<{ backend: string, url?: string, duration?: number, message: string }>('media-luna/cache/test')
254
+ }
255
+
256
+ // 设置面板 API
257
+ export const settingsApi = {
258
+ /** 获取所有设置面板 */
259
+ panels: () =>
260
+ call<SettingsPanelInfo[]>('media-luna/settings/panels'),
261
+ /** 获取单个设置面板 */
262
+ get: (id: string) =>
263
+ call<SettingsPanelInfo>('media-luna/settings/get', { id }),
264
+ /** 更新设置面板配置(仅 custom 类型) */
265
+ update: (id: string, config: Record<string, any>) =>
266
+ call<void>('media-luna/settings/update', { id, config }),
267
+ /** 手动触发远程预设同步(通过 preset 插件 API) */
268
+ syncRemotePresets: () =>
269
+ call<{ added: number, updated: number, removed: number }>('media-luna/presets/sync')
270
+ }
271
+
272
+ // 设置向导 API
273
+ export const setupApi = {
274
+ /** 获取设置状态 */
275
+ status: () =>
276
+ call<{
277
+ needsSetup: boolean
278
+ storageConfigured: boolean
279
+ userBound: boolean
280
+ storageBackend: string
281
+ boundUid: number | null
282
+ }>('media-luna/setup/status'),
283
+ /** 获取存储配置字段定义 */
284
+ getStorageFields: () =>
285
+ call<ConfigField[]>('media-luna/setup/storage/fields'),
286
+ /** 获取当前存储配置 */
287
+ getStorageConfig: () =>
288
+ call<Record<string, any>>('media-luna/setup/storage/get'),
289
+ /** 更新存储配置 */
290
+ updateStorageConfig: (config: Record<string, any>) =>
291
+ call<void>('media-luna/setup/storage/update', config),
292
+ /** 生成验证码 */
293
+ generateVerifyCode: (uid: number) =>
294
+ call<{ code: string, expiresIn: number, uid: number }>('media-luna/setup/verify-code/generate', { uid }),
295
+ /** 验证验证码 */
296
+ verifyCode: (code: string, uid: number) =>
297
+ call<{ uid: number }>('media-luna/setup/verify-code/verify', { code, uid }),
298
+ /** 直接绑定 UID */
299
+ bindUid: (uid: number) =>
300
+ call<{ uid: number }>('media-luna/setup/bind-uid', { uid }),
301
+ /** 获取可用用户列表 */
302
+ getUsers: () =>
303
+ call<Array<{ id: number, name: string, authority: number }>>('media-luna/setup/users'),
304
+ /** 完成设置 */
305
+ complete: () =>
306
+ call<void>('media-luna/setup/complete')
307
+ }
308
+
309
+ // 插件 API
310
+ export const pluginApi = {
311
+ /** 获取所有已加载插件 */
312
+ list: () =>
313
+ call<PluginInfo[]>('media-luna/plugins/list'),
314
+ /** 获取单个插件信息 */
315
+ get: (id: string) =>
316
+ call<PluginInfo>('media-luna/plugins/get', { id }),
317
+ /** 更新插件配置 */
318
+ updateConfig: (pluginId: string, config: Record<string, any>) =>
319
+ call<void>('media-luna/plugins/update-config', { pluginId, config }),
320
+ /** 启用插件 */
321
+ enable: (id: string) =>
322
+ call<void>('media-luna/plugins/enable', { id }),
323
+ /** 禁用插件 */
324
+ disable: (id: string) =>
325
+ call<void>('media-luna/plugins/disable', { id }),
326
+
327
+ // ============ 外部插件管理 ============
328
+
329
+ /** 获取已加载的外部插件列表 */
330
+ externalList: () =>
331
+ call<ExternalPluginInfo[]>('media-luna/plugins/external/list'),
332
+ /** 添加外部插件 */
333
+ externalAdd: (moduleName: string) =>
334
+ call<void>('media-luna/plugins/external/add', { moduleName }),
335
+ /** 移除外部插件 */
336
+ externalRemove: (moduleName: string) =>
337
+ call<void>('media-luna/plugins/external/remove', { moduleName })
338
+ }
339
+
340
+ // 版本 API
341
+ export const versionApi = {
342
+ /** 检查版本更新 */
343
+ check: () =>
344
+ call<{
345
+ current: string
346
+ latest: string
347
+ hasUpdate: boolean
348
+ packageName: string
349
+ npmUrl: string
350
+ }>('media-luna/version/check')
351
+ }
@@ -0,0 +1,15 @@
1
+ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_36263_13085)">
3
+ <path d="M2.76587 13.0095C2.76587 13.0095 1.40212 17.2165 3.91537 17.64C6.42862 18.0635 10.5959 16.8552 15.2019 8.03849C15.2019 8.03849 14.6331 10.8067 14.3246 12.3937C14.2306 12.877 13.8091 13.2262 13.3169 13.2297L12.7024 13.2342C12.5216 13.2355 12.4531 13.467 12.6019 13.5697C13.1844 13.9725 13.9314 14.8452 14.0506 16.695C14.0761 17.0895 14.4916 17.3432 14.8521 17.1805C15.0134 17.1077 15.1706 16.9817 15.2909 16.7705C15.3919 16.5932 15.4386 16.3902 15.4464 16.1865L15.3631 15.4157C15.3191 15.0075 15.5636 14.6272 15.9496 14.4875C16.4951 14.29 17.2324 13.8752 17.5934 13.0262C17.6361 12.926 17.5369 12.8222 17.4344 12.859C17.0699 12.99 16.3761 13.2057 15.7724 13.2027C15.5929 13.2017 15.4576 13.0385 15.4831 12.861L16.3204 7.01124C16.3686 6.67499 16.1136 6.36924 15.7741 6.36224C15.5851 6.35824 15.3569 6.38174 15.0946 6.45999C14.5074 6.63499 13.9521 6.93149 13.6481 7.51624C12.2109 10.2805 5.32862 18.5672 2.76637 13.0097L2.76587 13.0095Z" fill="url(#paint0_linear_36263_13085)"/>
4
+ <path d="M15.2543 5.11635C16.0355 5.11635 16.6688 4.48306 16.6688 3.70185C16.6688 2.92065 16.0355 2.28735 15.2543 2.28735C14.4731 2.28735 13.8398 2.92065 13.8398 3.70185C13.8398 4.48306 14.4731 5.11635 15.2543 5.11635Z" fill="#9246FD"/>
5
+ </g>
6
+ <defs>
7
+ <linearGradient id="paint0_linear_36263_13085" x1="16.4606" y1="6.30049" x2="6.76137" y2="17.531" gradientUnits="userSpaceOnUse">
8
+ <stop stop-color="#9545FD"/>
9
+ <stop offset="1" stop-color="#6354FD"/>
10
+ </linearGradient>
11
+ <clipPath id="clip0_36263_13085">
12
+ <rect width="20" height="20" fill="white"/>
13
+ </clipPath>
14
+ </defs>
15
+ </svg>
@@ -0,0 +1 @@
1
+ <svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Azure</title><path d="M7.242 1.613A1.11 1.11 0 018.295.857h6.977L8.03 22.316a1.11 1.11 0 01-1.052.755h-5.43a1.11 1.11 0 01-1.053-1.466L7.242 1.613z" fill="url(#lobe-icons-azure-fill-0)"></path><path d="M18.397 15.296H7.4a.51.51 0 00-.347.882l7.066 6.595c.206.192.477.298.758.298h6.226l-2.706-7.775z" fill="#0078D4"></path><path d="M15.272.857H7.497L0 23.071h7.775l1.596-4.73 5.068 4.73h6.665l-2.707-7.775h-7.998L15.272.857z" fill="url(#lobe-icons-azure-fill-1)"></path><path d="M17.193 1.613a1.11 1.11 0 00-1.052-.756h-7.81.035c.477 0 .9.304 1.052.756l6.748 19.992a1.11 1.11 0 01-1.052 1.466h-.12 7.895a1.11 1.11 0 001.052-1.466L17.193 1.613z" fill="url(#lobe-icons-azure-fill-2)"></path><defs><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-azure-fill-0" x1="8.247" x2="1.002" y1="1.626" y2="23.03"><stop stop-color="#114A8B"></stop><stop offset="1" stop-color="#0669BC"></stop></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-azure-fill-1" x1="14.042" x2="12.324" y1="15.302" y2="15.888"><stop stop-opacity=".3"></stop><stop offset=".071" stop-opacity=".2"></stop><stop offset=".321" stop-opacity=".1"></stop><stop offset=".623" stop-opacity=".05"></stop><stop offset="1" stop-opacity="0"></stop></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-azure-fill-2" x1="12.841" x2="20.793" y1="1.626" y2="22.814"><stop stop-color="#3CCBF4"></stop><stop offset="1" stop-color="#2892DF"></stop></linearGradient></defs></svg>
@@ -0,0 +1 @@
1
+ <svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>ComfyUI</title><path d="M5.485 23.76c-.568 0-1.026-.207-1.325-.598-.307-.402-.387-.964-.22-1.54l.672-2.315a.605.605 0 00-.1-.536.622.622 0 00-.494-.243H2.085c-.568 0-1.026-.207-1.325-.598-.307-.403-.387-.964-.22-1.54l2.31-7.917.255-.87c.343-1.18 1.592-2.14 2.786-2.14h2.313c.276 0 .519-.18.595-.442l.764-2.633C9.906 1.208 11.155.249 12.35.249l4.945-.008h3.62c.568 0 1.027.206 1.325.597.307.402.387.964.22 1.54l-1.035 3.566c-.343 1.178-1.593 2.137-2.787 2.137l-4.956.01H11.37a.618.618 0 00-.594.441l-1.928 6.604a.605.605 0 00.1.537c.118.153.3.243.495.243l3.275-.006h3.61c.568 0 1.026.206 1.325.598.307.402.387.964.22 1.54l-1.036 3.565c-.342 1.179-1.592 2.138-2.786 2.138l-4.957.01h-3.61z" fill="#F0FF41"></path></svg>
@@ -0,0 +1 @@
1
+ <svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>DALL-E</title><path d="M0 10h4.8v5H0z" fill="#FFFF67"></path><path d="M4.8 10h4.8v5H4.8z" fill="#43FFFF"></path><path d="M9.6 10h4.8v5H9.6z" fill="#51DA4B"></path><path d="M14.4 10h4.8v5h-4.8z" fill="#FF6E3D"></path><path d="M19.2 10H24v5h-4.8z" fill="#3C46FF"></path></svg>
@@ -0,0 +1,5 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
2
+ <polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"/>
3
+ <path d="M15.54 8.46a5 5 0 0 1 0 7.07"/>
4
+ <path d="M19.07 4.93a10 10 0 0 1 0 14.14"/>
5
+ </svg>
@@ -0,0 +1,5 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
2
+ <rect x="3" y="3" width="18" height="18" rx="2" ry="2"/>
3
+ <circle cx="8.5" cy="8.5" r="1.5"/>
4
+ <polyline points="21 15 16 10 5 21"/>
5
+ </svg>
@@ -0,0 +1,10 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
2
+ <rect x="2" y="2" width="20" height="20" rx="2.18" ry="2.18"/>
3
+ <line x1="7" y1="2" x2="7" y2="22"/>
4
+ <line x1="17" y1="2" x2="17" y2="22"/>
5
+ <line x1="2" y1="12" x2="22" y2="12"/>
6
+ <line x1="2" y1="7" x2="7" y2="7"/>
7
+ <line x1="2" y1="17" x2="7" y2="17"/>
8
+ <line x1="17" y1="17" x2="22" y2="17"/>
9
+ <line x1="17" y1="7" x2="22" y2="7"/>
10
+ </svg>
@@ -0,0 +1 @@
1
+ <svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Doubao</title><path d="M5.31 15.756c.172-3.75 1.883-5.999 2.549-6.739-3.26 2.058-5.425 5.658-6.358 8.308v1.12C1.501 21.513 4.226 24 7.59 24a6.59 6.59 0 002.2-.375c.353-.12.7-.248 1.039-.378.913-.899 1.65-1.91 2.243-2.992-4.877 2.431-7.974.072-7.763-4.5l.002.001z" fill="#1E37FC"></path><path d="M22.57 10.283c-1.212-.901-4.109-2.404-7.397-2.8.295 3.792.093 8.766-2.1 12.773a12.782 12.782 0 01-2.244 2.992c3.764-1.448 6.746-3.457 8.596-5.219 2.82-2.683 3.353-5.178 3.361-6.66a2.737 2.737 0 00-.216-1.084v-.002z" fill="#37E1BE"></path><path d="M14.303 1.867C12.955.7 11.248 0 9.39 0 7.532 0 5.883.677 4.545 1.807 2.791 3.29 1.627 5.557 1.5 8.125v9.201c.932-2.65 3.097-6.25 6.357-8.307.5-.318 1.025-.595 1.569-.829 1.883-.801 3.878-.932 5.746-.706-.222-2.83-.718-5.002-.87-5.617h.001z" fill="#A569FF"></path><path d="M17.305 4.961a199.47 199.47 0 01-1.08-1.094c-.202-.213-.398-.419-.586-.622l-1.333-1.378c.151.615.648 2.786.869 5.617 3.288.395 6.185 1.898 7.396 2.8-1.306-1.275-3.475-3.487-5.266-5.323z" fill="#1E37FC"></path></svg>
@@ -0,0 +1 @@
1
+ <svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Flux</title><path d="M0 20.683L12.01 2.5 24 20.683h-2.233L12.009 5.878 3.471 18.806h12.122l1.239 1.877H0z"></path><path d="M8.069 16.724l2.073-3.115 2.074 3.115H8.069zM18.24 20.683l-5.668-8.707h2.177l5.686 8.707h-2.196zM19.74 11.676l2.13-3.19 2.13 3.19h-4.26z"></path></svg>
@@ -0,0 +1 @@
1
+ <svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Gemini</title><path d="M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z" fill="#3186FF"></path><path d="M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z" fill="url(#lobe-icons-gemini-fill-0)"></path><path d="M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z" fill="url(#lobe-icons-gemini-fill-1)"></path><path d="M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z" fill="url(#lobe-icons-gemini-fill-2)"></path><defs><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-gemini-fill-0" x1="7" x2="11" y1="15.5" y2="12"><stop stop-color="#08B962"></stop><stop offset="1" stop-color="#08B962" stop-opacity="0"></stop></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-gemini-fill-1" x1="8" x2="11.5" y1="5.5" y2="11"><stop stop-color="#F94543"></stop><stop offset="1" stop-color="#F94543" stop-opacity="0"></stop></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-gemini-fill-2" x1="3.5" x2="17.5" y1="13.5" y2="12"><stop stop-color="#FABC12"></stop><stop offset=".46" stop-color="#FABC12" stop-opacity="0"></stop></linearGradient></defs></svg>
@@ -0,0 +1 @@
1
+ <svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Midjourney</title><path d="M22.369 17.676c-1.387 1.259-3.17 2.378-5.332 3.417.044.03.086.057.13.083l.018.01.019.012c.216.123.42.184.641.184.222 0 .426-.061.642-.184l.018-.011.019-.011c.14-.084.266-.178.492-.366l.178-.148c.279-.232.426-.342.625-.456.304-.174.612-.266.949-.266.337 0 .645.092.949.266l.023.014c.188.109.334.219.602.442l.178.148c.221.184.346.278.483.36l.028.017.018.01c.21.12.407.181.62.185h.022a.31.31 0 110 .618c-.337 0-.645-.092-.95-.266a3.137 3.137 0 01-.09-.054l-.022-.014-.022-.013-.02-.014a5.356 5.356 0 01-.49-.377l-.159-.132a3.836 3.836 0 00-.483-.36l-.027-.017-.019-.01a1.256 1.256 0 00-.641-.185c-.222 0-.426.061-.641.184l-.02.011-.018.011c-.14.084-.266.178-.492.366l-.158.132a5.125 5.125 0 01-.51.39l-.022.014-.022.014-.09.054a1.868 1.868 0 01-.95.266c-.337 0-.644-.092-.949-.266a3.137 3.137 0 01-.09-.054l-.022-.014-.022-.013-.026-.017a4.881 4.881 0 01-.425-.325.308.308 0 01-.12-.1l-.098-.081a3.836 3.836 0 00-.483-.36l-.027-.017-.019-.01a1.256 1.256 0 00-.641-.185c-.222 0-.426.061-.642.184l-.018.011-.019.011c-.14.084-.266.178-.492.366l-.158.132a5.125 5.125 0 01-.51.39l-.023.014-.022.014-.09.054A1.868 1.868 0 0112 22c-.337 0-.645-.092-.949-.266a3.137 3.137 0 01-.09-.054l-.022-.014-.022-.013-.021-.014a5.356 5.356 0 01-.49-.377l-.158-.132a3.836 3.836 0 00-.483-.36l-.028-.017-.018-.01a1.256 1.256 0 00-.642-.185c-.221 0-.425.061-.641.184l-.019.011-.018.011c-.141.084-.266.178-.492.366l-.158.132a5.125 5.125 0 01-.511.39l-.022.014-.022.014-.09.054a1.868 1.868 0 01-.986.264c-.746-.09-1.319-.38-1.89-.866l-.035-.03c-.047-.041-.118-.106-.192-.174l-.196-.181-.107-.1-.011-.01a1.531 1.531 0 00-.336-.253.313.313 0 00-.095-.03h-.005c-.119.022-.238.059-.361.11a.308.308 0 01-.077.061l-.008.005a.309.309 0 01-.126.034 5.66 5.66 0 00-.774.518l-.416.324-.055.043a6.542 6.542 0 01-.324.236c-.305.207-.552.315-.8.315a.31.31 0 01-.01-.618h.01c.09 0 .235-.062.438-.198l.04-.027c.077-.054.163-.117.27-.199l.385-.301.06-.047c.268-.206.506-.373.73-.505l-.633-1.21a.309.309 0 01.254-.451l20.287-1.305a.309.309 0 01.228.537zm-1.118.14L2.369 19.03l.423.809c.128-.045.256-.078.388-.1a.31.31 0 01.052-.005c.132 0 .26.032.386.093.153.073.294.179.483.35l.016.015.092.086.144.134.097.089c.065.06.125.114.16.144.485.418.948.658 1.554.736h.011a1.25 1.25 0 00.6-.172l.021-.011.019-.011.018-.011c.141-.084.266-.178.492-.366l.178-.148c.279-.232.426-.342.625-.456.305-.174.612-.266.95-.266.336 0 .644.092.948.266l.023.014c.188.109.335.219.603.442l.177.148c.222.184.346.278.484.36l.027.017.019.01c.215.124.42.185.641.185.222 0 .426-.061.641-.184l.019-.011.018-.011c.141-.084.267-.178.493-.366l.177-.148c.28-.232.427-.342.626-.456.304-.174.612-.266.949-.266.337 0 .644.092.949.266l.025.015c.187.109.334.22.603.443 1.867-.878 3.448-1.811 4.73-2.832l.02-.016zM3.653 2.026C6.073 3.06 8.69 4.941 10.8 7.258c2.46 2.7 4.109 5.828 4.637 9.149a.31.31 0 01-.421.335c-2.348-.945-4.54-1.258-6.59-1.02-1.739.2-3.337.792-4.816 1.703-.294.182-.62-.182-.405-.454 1.856-2.355 2.581-4.99 2.343-7.794-.195-2.292-1.031-4.61-2.284-6.709a.31.31 0 01.388-.442zM10.04 4.45c1.778.543 3.892 2.102 5.782 4.243 1.984 2.248 3.552 4.934 4.347 7.582a.31.31 0 01-.401.38l-.022-.01-.386-.154a10.594 10.594 0 00-.291-.112l-.016-.006c-.68-.247-1.199-.291-1.944-.101a.31.31 0 01-.375-.218C15.378 11.123 13.073 7.276 9.775 5c-.291-.201-.072-.653.266-.55zM4.273 2.996l.008.015c1.028 1.94 1.708 4.031 1.885 6.113.213 2.513-.31 4.906-1.673 7.092l-.02.031.003-.001c1.198-.581 2.47-.969 3.825-1.132l.055-.006c1.981-.23 4.083.029 6.309.837l.066.025-.007-.039c-.593-2.95-2.108-5.737-4.31-8.179l-.07-.078c-1.785-1.96-3.944-3.6-6.014-4.65l-.057-.028zm7.92 3.238l.048.048c2.237 2.295 3.885 5.431 4.974 9.191l.038.132.022-.004c.71-.133 1.284-.063 1.963.18l.027.01.066.024.046.018-.025-.073c-.811-2.307-2.208-4.62-3.936-6.594l-.058-.065c-1.02-1.155-2.103-2.132-3.15-2.856l-.015-.011z"></path></svg>
@@ -0,0 +1 @@
1
+ <svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Minimax</title><defs><linearGradient id="lobe-icons-minimax-fill" x1="0%" x2="100.182%" y1="50.057%" y2="50.057%"><stop offset="0%" stop-color="#E2167E"></stop><stop offset="100%" stop-color="#FE603C"></stop></linearGradient></defs><path d="M16.278 2c1.156 0 2.093.927 2.093 2.07v12.501a.74.74 0 00.744.709.74.74 0 00.743-.709V9.099a2.06 2.06 0 012.071-2.049A2.06 2.06 0 0124 9.1v6.561a.649.649 0 01-.652.645.649.649 0 01-.653-.645V9.1a.762.762 0 00-.766-.758.762.762 0 00-.766.758v7.472a2.037 2.037 0 01-2.048 2.026 2.037 2.037 0 01-2.048-2.026v-12.5a.785.785 0 00-.788-.753.785.785 0 00-.789.752l-.001 15.904A2.037 2.037 0 0113.441 22a2.037 2.037 0 01-2.048-2.026V18.04c0-.356.292-.645.652-.645.36 0 .652.289.652.645v1.934c0 .263.142.506.372.638.23.131.514.131.744 0a.734.734 0 00.372-.638V4.07c0-1.143.937-2.07 2.093-2.07zm-5.674 0c1.156 0 2.093.927 2.093 2.07v11.523a.648.648 0 01-.652.645.648.648 0 01-.652-.645V4.07a.785.785 0 00-.789-.78.785.785 0 00-.789.78v14.013a2.06 2.06 0 01-2.07 2.048 2.06 2.06 0 01-2.071-2.048V9.1a.762.762 0 00-.766-.758.762.762 0 00-.766.758v3.8a2.06 2.06 0 01-2.071 2.049A2.06 2.06 0 010 12.9v-1.378c0-.357.292-.646.652-.646.36 0 .653.29.653.646V12.9c0 .418.343.757.766.757s.766-.339.766-.757V9.099a2.06 2.06 0 012.07-2.048 2.06 2.06 0 012.071 2.048v8.984c0 .419.343.758.767.758.423 0 .766-.339.766-.758V4.07c0-1.143.937-2.07 2.093-2.07z" fill="url(#lobe-icons-minimax-fill)" fill-rule="nonzero"></path></svg>
@@ -0,0 +1 @@
1
+ <svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>ModelScope</title><path d="M0 7.967h2.667v2.667H0zM8 10.633h2.667V13.3H8z" fill="#36CED0"></path><path d="M0 10.633h2.667V13.3H0zM2.667 13.3h2.666v2.667H8v2.666H2.667V13.3zM2.667 5.3H8v2.667H5.333v2.666H2.667V5.3zM10.667 13.3h2.667v2.667h-2.667z" fill="#624AFF"></path><path d="M24 7.967h-2.667v2.667H24zM16 10.633h-2.667V13.3H16z" fill="#36CED0"></path><path d="M24 10.633h-2.667V13.3H24zM21.333 13.3h-2.666v2.667H16v2.666h5.333V13.3zM21.333 5.3H16v2.667h2.667v2.666h2.666V5.3z" fill="#624AFF"></path></svg>
@@ -0,0 +1 @@
1
+ <svg height="56" viewBox="0 0 24 24" width="56" xmlns="http://www.w3.org/2000/svg" style="flex: 0 0 auto; line-height: 1;"><title>New API</title><path d="M23.078 16.34c-.506 1.323-1.198 2.519-2.117 3.562-2.378 2.696-5.374 4.057-8.971 4.098a.037.037 0 01-.024-.01.041.041 0 01-.013-.023.041.041 0 01.003-.025.037.037 0 01.019-.019c1.886-.779 3.454-1.973 4.625-3.639a10.148 10.148 0 001.626-3.677c.217-.98.33-1.955.282-2.942-.048-1.018-.152-1.601-.484-2.565-.386-1.12-.915-2.16-1.627-3.089-.883-1.154-1.876-1.87-2.9-2.779-.995-.88-2.19-2.623-1.059-3.754.384-.384.997-.59 1.838-.621 2.478-.09 5.011 1.636 6.597 3.453.75.86 1.38 1.798 1.865 2.837.486 1.041.814 2.122.978 3.246.133.915.117 1.441.092 2.365a10.82 10.82 0 01-.73 3.582z" fill="url(#lobe-icons-new-api-fill-0)"></path><path d="M11.86.01a.041.041 0 01.009.049.038.038 0 01-.018.018C9.964.856 8.396 2.05 7.225 3.716a10.148 10.148 0 00-1.626 3.678c-.217.979-.33 1.955-.283 2.941.049 1.018.154 1.601.486 2.565.385 1.12.914 2.16 1.626 3.088.883 1.154 1.876 1.872 2.9 2.78.995.88 2.19 2.622 1.059 3.753-.385.385-.997.591-1.838.622-2.478.089-5.011-1.636-6.597-3.454-.75-.86-1.38-1.797-1.865-2.837a11.591 11.591 0 01-.978-3.246c-.133-.914-.117-1.44-.091-2.364.034-1.225.284-2.416.73-3.582.504-1.323 1.197-2.52 2.116-3.562C5.241 1.402 8.238.04 11.835 0c.009 0 .018.004.024.01z" fill="url(#lobe-icons-new-api-fill-1)"></path><path d="M8.721 11.903l2.455-.708.72-2.48a.066.066 0 01.127.002l.58 2.26c.776.437 1.65.755 2.622.956a.05.05 0 01.028.075.05.05 0 01-.024.019l-2.382.709a.163.163 0 00-.109.108l-.72 2.444a.034.034 0 01-.031.027.034.034 0 01-.034-.024l-.713-2.395a.183.183 0 00-.128-.128l-2.39-.705a.084.084 0 01-.044-.13.084.084 0 01.043-.03z" fill="url(#lobe-icons-new-api-fill-2)"></path><defs><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-new-api-fill-0" x1="17.889" x2="17.889" y1=".854" y2="24"><stop stop-color="#F85EAD"></stop><stop offset="1" stop-color="#FD75FD"></stop></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-new-api-fill-1" x1="5.936" x2="5.936" y1="0" y2="23.146"><stop offset=".332" stop-color="#11F5EF"></stop><stop offset="1" stop-color="#C738FB"></stop></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-new-api-fill-2" x1="11.961" x2="11.961" y1="8.666" y2="15.315"><stop offset=".332" stop-color="#11F5EF"></stop><stop offset="1" stop-color="#C738FB"></stop></linearGradient></defs></svg>
@@ -0,0 +1 @@
1
+ <svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>OpenAI</title><path d="M21.55 10.004a5.416 5.416 0 00-.478-4.501c-1.217-2.09-3.662-3.166-6.05-2.66A5.59 5.59 0 0010.831 1C8.39.995 6.224 2.546 5.473 4.838A5.553 5.553 0 001.76 7.496a5.487 5.487 0 00.691 6.5 5.416 5.416 0 00.477 4.502c1.217 2.09 3.662 3.165 6.05 2.66A5.586 5.586 0 0013.168 23c2.443.006 4.61-1.546 5.361-3.84a5.553 5.553 0 003.715-2.66 5.488 5.488 0 00-.693-6.497v.001zm-8.381 11.558a4.199 4.199 0 01-2.675-.954c.034-.018.093-.05.132-.074l4.44-2.53a.71.71 0 00.364-.623v-6.176l1.877 1.069c.02.01.033.029.036.05v5.115c-.003 2.274-1.87 4.118-4.174 4.123zM4.192 17.78a4.059 4.059 0 01-.498-2.763c.032.02.09.055.131.078l4.44 2.53c.225.13.504.13.73 0l5.42-3.088v2.138a.068.068 0 01-.027.057L9.9 19.288c-1.999 1.136-4.552.46-5.707-1.51h-.001zM3.023 8.216A4.15 4.15 0 015.198 6.41l-.002.151v5.06a.711.711 0 00.364.624l5.42 3.087-1.876 1.07a.067.067 0 01-.063.005l-4.489-2.559c-1.995-1.14-2.679-3.658-1.53-5.63h.001zm15.417 3.54l-5.42-3.088L14.896 7.6a.067.067 0 01.063-.006l4.489 2.557c1.998 1.14 2.683 3.662 1.529 5.633a4.163 4.163 0 01-2.174 1.807V12.38a.71.71 0 00-.363-.623zm1.867-2.773a6.04 6.04 0 00-.132-.078l-4.44-2.53a.731.731 0 00-.729 0l-5.42 3.088V7.325a.068.068 0 01.027-.057L14.1 4.713c2-1.137 4.555-.46 5.707 1.513.487.833.664 1.809.499 2.757h.001zm-11.741 3.81l-1.877-1.068a.065.065 0 01-.036-.051V6.559c.001-2.277 1.873-4.122 4.181-4.12.976 0 1.92.338 2.671.954-.034.018-.092.05-.131.073l-4.44 2.53a.71.71 0 00-.365.623l-.003 6.173v.002zm1.02-2.168L12 9.25l2.414 1.375v2.75L12 14.75l-2.415-1.375v-2.75z"></path></svg>
@@ -0,0 +1 @@
1
+ <svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Runway</title><path d="M17.86 22.992c-2.669.245-4.887-2.876-6.597-4.454C10.398 24.759 1 24.177 1 17.86V6.15c0-.921.244-1.861.733-2.65C2.635 1.977 4.383.98 6.15 1h11.71c6.316 0 6.918 9.398.677 10.243l2.97 2.951c3.252 3.064.808 8.929-3.646 8.797zm-1.428-3.721c1.842 1.898 4.774-1.034 2.876-2.876l-5.132-5.132H11.3v2.876l4.436 4.436.696.696zM4.12 17.842c-.037 2.632 4.117 2.632 4.06 0V6.132c.038-1.316-1.353-2.35-2.612-1.955-.057.019-.113.037-.15.056-.79.301-1.335 1.09-1.317 1.936v11.673h.02zm13.74-9.68c2.632.037 2.632-4.098 0-4.06h-6.973c.526 1.109.395 2.857.413 4.06h6.56z"></path></svg>
@@ -0,0 +1 @@
1
+ <svg fill="#E00054" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Automatic</title><path d="M8.462 3.5h2.924l8.33 17h-1.46L10.617 4.942l-1.442.001z" opacity=".8"></path><path d="M5.474 20.5l2.817-5.366 2.873 5.366h5.541l-8.362-17L0 20.5z"></path><path d="M12.768 3.501L21.113 20.5h1.46L14.238 3.504z" opacity=".4"></path><path d="M14.195 3.501L22.54 20.5H24L15.666 3.504z" opacity=".2"></path><path d="M11.34 3.501L19.683 20.5h1.464L12.81 3.504z" opacity=".6"></path></svg>
@@ -0,0 +1 @@
1
+ <svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Sora</title><path d="M19.503 0H4.496A4.496 4.496 0 000 4.496v15.007A4.496 4.496 0 004.496 24h15.007A4.496 4.496 0 0024 19.503V4.496A4.496 4.496 0 0019.503 0z" fill="url(#lobe-icons-sora-0-_R_0_)"></path><path d="M9.726 11.36a.306.306 0 110 .612.306.306 0 010-.612z" fill="url(#lobe-icons-sora-1-_R_0_)"></path><path clip-rule="evenodd" d="M8.408 9.561c.033-.009.065.002.096.033.145.15.292.298.44.447l.021.016c.01.005.017.009.024.01l.608.157c.042.01.068.033.077.066.009.035-.002.067-.033.098l-.447.439a.098.098 0 00-.016.022.1.1 0 00-.01.024l-.157.607c-.01.042-.033.068-.067.077-.034.01-.066-.002-.096-.033l-.44-.446a.117.117 0 00-.047-.027c-.202-.053-.405-.105-.607-.156-.042-.01-.068-.033-.077-.068-.01-.033.002-.066.033-.096.15-.146.298-.292.447-.44a.092.092 0 00.016-.021.101.101 0 00.01-.025l.157-.607c.01-.042.033-.068.068-.077z" fill="url(#lobe-icons-sora-2-_R_0_)" fill-rule="evenodd"></path><path d="M14.87 9.982a.307.307 0 110 .613.307.307 0 010-.613z" fill="url(#lobe-icons-sora-3-_R_0_)"></path><path clip-rule="evenodd" d="M13.553 8.187c.035-.01.067.002.097.032l.438.448a.117.117 0 00.046.026l.606.158c.042.01.067.033.077.068.009.033-.002.065-.034.095l-.447.438a.123.123 0 00-.027.046l-.157.605c-.01.042-.034.068-.068.077-.034.009-.066-.002-.096-.033-.145-.15-.291-.299-.437-.447a.09.09 0 00-.022-.017.09.09 0 00-.025-.01l-.605-.158c-.042-.01-.068-.033-.077-.067-.009-.034.002-.066.033-.096.15-.145.298-.291.447-.437a.093.093 0 00.017-.022.1.1 0 00.01-.025l.158-.605c.01-.042.033-.068.066-.076z" fill="url(#lobe-icons-sora-4-_R_0_)" fill-rule="evenodd"></path><path clip-rule="evenodd" d="M9.065 3.343a4.577 4.577 0 012.284-.311c1 .114 1.891.54 2.673 1.274a.086.086 0 00.08.022 4.549 4.549 0 013.046.275l.047.021.116.058a4.58 4.58 0 012.188 2.398c.209.51.314 1.041.316 1.595.015.415-.03.823-.135 1.224a.12.12 0 00.03.116c.594.606.988 1.329 1.183 2.168.289 1.426-.007 2.71-.887 3.855l-.136.166a4.546 4.546 0 01-2.201 1.387.12.12 0 00-.08.077c-.191.551-.384 1.023-.741 1.494-.9 1.186-2.221 1.846-3.711 1.838-1.187-.006-2.24-.44-3.157-1.302a.106.106 0 00-.106-.024c-.388.125-.78.144-1.203.139a4.44 4.44 0 01-1.946-.467 4.542 4.542 0 01-1.61-1.336c-.152-.201-.303-.391-.413-.616a5.805 5.805 0 01-.37-.961 4.58 4.58 0 01-.013-2.299.122.122 0 00.005-.055.084.084 0 00-.027-.048 4.466 4.466 0 01-1.035-1.651 3.896 3.896 0 01-.25-1.192 5.183 5.183 0 01.141-1.6c.337-1.112.982-1.985 1.933-2.619.212-.14.412-.25.601-.329.215-.09.43-.165.646-.228a.096.096 0 00.065-.065 4.51 4.51 0 01.828-1.616 4.535 4.535 0 011.839-1.388zm.723 5.735c-.865-.614-2.048-.31-2.483.656-.226.5-.27 1.026-.133 1.58l.108.44.195.712c.08.4.232.765.459 1.096l.022.032c.12.142.252.272.394.389 1.039.854 2.456.284 2.739-.992l.037-.16.01-.06c.044-.3.03-.594-.04-.882a35.608 35.608 0 00-.41-1.517c-.163-.554-.462-.985-.898-1.294zm5.328-1.235c-.646-.6-1.643-.623-2.285-.019-.25.235-.425.552-.523.949a2.603 2.603 0 000 1.226l.01.04.042.136c.095.315.183.625.264.93.085.317.152.53.204.638.43.905 1.365 1.556 2.382 1.141.946-.386 1.23-1.507 1.016-2.415a9.78 9.78 0 00-.105-.41c-.15-.583-.256-.976-.321-1.179a2.41 2.41 0 00-.684-1.037z" fill="url(#lobe-icons-sora-5-_R_0_)" fill-rule="evenodd"></path><defs><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-sora-0-_R_0_" x1="12" x2="12" y1="0" y2="24"><stop stop-color="#012659"></stop><stop offset="1" stop-color="#0968DA"></stop></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-sora-1-_R_0_" x1="9.859" x2="14.219" y1="3" y2="21.017"><stop stop-color="#fff"></stop><stop offset="1" stop-color="#6BB6FE"></stop></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-sora-2-_R_0_" x1="9.859" x2="14.219" y1="3" y2="21.017"><stop stop-color="#fff"></stop><stop offset="1" stop-color="#6BB6FE"></stop></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-sora-3-_R_0_" x1="9.859" x2="14.219" y1="3" y2="21.017"><stop stop-color="#fff"></stop><stop offset="1" stop-color="#6BB6FE"></stop></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-sora-4-_R_0_" x1="9.859" x2="14.219" y1="3" y2="21.017"><stop stop-color="#fff"></stop><stop offset="1" stop-color="#6BB6FE"></stop></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-sora-5-_R_0_" x1="9.859" x2="14.219" y1="3" y2="21.017"><stop stop-color="#fff"></stop><stop offset="1" stop-color="#6BB6FE"></stop></linearGradient></defs></svg>
@@ -0,0 +1 @@
1
+ <svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Stability</title><path d="M7.223 21c4.252 0 7.018-2.22 7.018-5.56 0-2.59-1.682-4.236-4.69-4.918l-1.93-.571c-1.694-.375-2.683-.825-2.45-1.975.194-.957.773-1.497 2.122-1.497 4.285 0 5.873 1.497 5.873 1.497v-3.6S11.62 3 7.293 3C3.213 3 1 5.07 1 8.273c0 2.59 1.534 4.097 4.645 4.812l.334.083c.473.144 1.112.335 1.916.572 1.59.375 1.999.773 1.999 1.966 0 1.09-1.15 1.71-2.67 1.71C2.841 17.416 1 15.231 1 15.231v3.989S2.152 21 7.223 21z" fill="url(#lobe-icons-stability-fill)"></path><path d="M20.374 20.73c1.505 0 2.626-1.073 2.626-2.526 0-1.484-1.089-2.526-2.626-2.526-1.505 0-2.594 1.042-2.594 2.526 0 1.484 1.089 2.526 2.594 2.526z" fill="#E80000"></path><defs><linearGradient id="lobe-icons-stability-fill" x1="50%" x2="50%" y1="0%" y2="100%"><stop offset="0%" stop-color="#9D39FF"></stop><stop offset="100%" stop-color="#A380FF"></stop></linearGradient></defs></svg>
@@ -0,0 +1 @@
1
+ <svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Suno</title><path d="M16.5 0C20.642 0 24 5.373 24 12h-9c0 6.627-3.358 12-7.5 12C3.358 24 0 18.627 0 12h9c0-6.627 3.358-12 7.5-12z"></path></svg>
@@ -0,0 +1 @@
1
+ <svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>VertexAI</title><path d="M11.995 20.216a1.892 1.892 0 100 3.785 1.892 1.892 0 000-3.785zm0 2.806a.927.927 0 11.927-.914.914.914 0 01-.927.914z" fill="#4285F4"></path><path clip-rule="evenodd" d="M21.687 14.144c.237.038.452.16.605.344a.978.978 0 01-.18 1.3l-8.24 6.082a1.892 1.892 0 00-1.147-1.508l8.28-6.08a.991.991 0 01.682-.138z" fill="#669DF6" fill-rule="evenodd"></path><path clip-rule="evenodd" d="M10.122 21.842l-8.217-6.066a.952.952 0 01-.206-1.287.978.978 0 011.287-.206l8.28 6.08a1.893 1.893 0 00-1.144 1.479z" fill="#AECBFA" fill-rule="evenodd"></path><path d="M4.273 4.475a.978.978 0 01-.965-.965V1.09a.978.978 0 111.943 0v2.42a.978.978 0 01-.978.965zM4.247 13.034a.978.978 0 100-1.956.978.978 0 000 1.956zM4.247 10.19a.978.978 0 100-1.956.978.978 0 000 1.956zM4.247 7.332a.978.978 0 100-1.956.978.978 0 000 1.956z" fill="#AECBFA"></path><path d="M19.718 7.307a.978.978 0 01-.965-.979v-2.42a.965.965 0 011.93 0v2.42a.964.964 0 01-.965.979zM19.743 13.047a.978.978 0 100-1.956.978.978 0 000 1.956zM19.743 10.151a.978.978 0 100-1.956.978.978 0 000 1.956zM19.743 2.068a.978.978 0 100-1.956.978.978 0 000 1.956z" fill="#4285F4"></path><path d="M11.995 15.917a.978.978 0 01-.965-.965v-2.459a.978.978 0 011.943 0v2.433a.976.976 0 01-.978.991zM11.995 18.762a.978.978 0 100-1.956.978.978 0 000 1.956zM11.995 10.64a.978.978 0 100-1.956.978.978 0 000 1.956zM11.995 7.783a.978.978 0 100-1.956.978.978 0 000 1.956z" fill="#669DF6"></path><path d="M15.856 10.177a.978.978 0 01-.965-.965v-2.42a.977.977 0 011.702-.763.979.979 0 01.241.763v2.42a.978.978 0 01-.978.965zM15.869 4.913a.978.978 0 100-1.956.978.978 0 000 1.956zM15.869 15.853a.978.978 0 100-1.956.978.978 0 000 1.956zM15.869 12.996a.978.978 0 100-1.956.978.978 0 000 1.956z" fill="#4285F4"></path><path d="M8.121 15.853a.978.978 0 100-1.956.978.978 0 000 1.956zM8.121 7.783a.978.978 0 100-1.956.978.978 0 000 1.956zM8.121 4.913a.978.978 0 100-1.957.978.978 0 000 1.957zM8.134 12.996a.978.978 0 01-.978-.94V9.611a.965.965 0 011.93 0v2.445a.966.966 0 01-.952.94z" fill="#AECBFA"></path></svg>
@@ -0,0 +1 @@
1
+ <svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Volcengine</title><path d="M19.44 10.153l-2.936 11.586a.215.215 0 00.214.261h5.87a.215.215 0 00.214-.261l-2.95-11.586a.214.214 0 00-.412 0zM3.28 12.778l-2.275 8.96A.214.214 0 001.22 22h4.532a.212.212 0 00.214-.165.214.214 0 000-.097l-2.276-8.96a.214.214 0 00-.41 0z" fill="#00E5E5"></path><path d="M7.29 5.359L3.148 21.738a.215.215 0 00.203.261h8.29a.214.214 0 00.215-.261L7.7 5.358a.214.214 0 00-.41 0z" fill="#006EFF"></path><path d="M14.44.15a.214.214 0 00-.41 0L8.366 21.739a.214.214 0 00.214.261H19.9a.216.216 0 00.171-.078.214.214 0 00.044-.183L14.439.15z" fill="#006EFF"></path><path d="M10.278 7.741L6.685 21.736a.214.214 0 00.214.264h7.17a.215.215 0 00.214-.264L10.688 7.741a.214.214 0 00-.41 0z" fill="#00E5E5"></path></svg>