weshop-cli 0.1.0 → 0.2.1

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 (366) hide show
  1. package/README.md +169 -7
  2. package/dist/client.d.ts +2 -0
  3. package/dist/client.js +1 -1
  4. package/dist/client.js.map +1 -1
  5. package/dist/commands/2d-to-3d-image-converter.d.ts +2 -0
  6. package/dist/commands/2d-to-3d-image-converter.js +27 -0
  7. package/dist/commands/2d-to-3d-image-converter.js.map +1 -0
  8. package/dist/commands/ai-3d-rendering.d.ts +2 -0
  9. package/dist/commands/ai-3d-rendering.js +29 -0
  10. package/dist/commands/ai-3d-rendering.js.map +1 -0
  11. package/dist/commands/ai-action-figure-generators.d.ts +2 -0
  12. package/dist/commands/ai-action-figure-generators.js +28 -0
  13. package/dist/commands/ai-action-figure-generators.js.map +1 -0
  14. package/dist/commands/ai-aging.d.ts +2 -0
  15. package/dist/commands/ai-aging.js +27 -0
  16. package/dist/commands/ai-aging.js.map +1 -0
  17. package/dist/commands/ai-babe.d.ts +2 -0
  18. package/dist/commands/ai-babe.js +26 -0
  19. package/dist/commands/ai-babe.js.map +1 -0
  20. package/dist/commands/ai-bikini-model.d.ts +2 -0
  21. package/dist/commands/ai-bikini-model.js +36 -0
  22. package/dist/commands/ai-bikini-model.js.map +1 -0
  23. package/dist/commands/ai-bikini-photo-editor.d.ts +2 -0
  24. package/dist/commands/ai-bikini-photo-editor.js +26 -0
  25. package/dist/commands/ai-bikini-photo-editor.js.map +1 -0
  26. package/dist/commands/ai-bikini-video.d.ts +2 -0
  27. package/dist/commands/ai-bikini-video.js +30 -0
  28. package/dist/commands/ai-bikini-video.js.map +1 -0
  29. package/dist/commands/ai-christmas-photo.d.ts +2 -0
  30. package/dist/commands/ai-christmas-photo.js +29 -0
  31. package/dist/commands/ai-christmas-photo.js.map +1 -0
  32. package/dist/commands/ai-clothes-changer.d.ts +2 -0
  33. package/dist/commands/ai-clothes-changer.js +35 -0
  34. package/dist/commands/ai-clothes-changer.js.map +1 -0
  35. package/dist/commands/ai-collage-maker.d.ts +2 -0
  36. package/dist/commands/ai-collage-maker.js +33 -0
  37. package/dist/commands/ai-collage-maker.js.map +1 -0
  38. package/dist/commands/ai-dog.d.ts +2 -0
  39. package/dist/commands/ai-dog.js +30 -0
  40. package/dist/commands/ai-dog.js.map +1 -0
  41. package/dist/commands/ai-elf.d.ts +2 -0
  42. package/dist/commands/ai-elf.js +28 -0
  43. package/dist/commands/ai-elf.js.map +1 -0
  44. package/dist/commands/ai-face-merge.d.ts +2 -0
  45. package/dist/commands/ai-face-merge.js +34 -0
  46. package/dist/commands/ai-face-merge.js.map +1 -0
  47. package/dist/commands/ai-feet.d.ts +2 -0
  48. package/dist/commands/ai-feet.js +27 -0
  49. package/dist/commands/ai-feet.js.map +1 -0
  50. package/dist/commands/ai-flag-generator.d.ts +2 -0
  51. package/dist/commands/ai-flag-generator.js +28 -0
  52. package/dist/commands/ai-flag-generator.js.map +1 -0
  53. package/dist/commands/ai-generated-bikini-girls.d.ts +2 -0
  54. package/dist/commands/ai-generated-bikini-girls.js +34 -0
  55. package/dist/commands/ai-generated-bikini-girls.js.map +1 -0
  56. package/dist/commands/ai-generated-perfect-female-body.d.ts +2 -0
  57. package/dist/commands/ai-generated-perfect-female-body.js +34 -0
  58. package/dist/commands/ai-generated-perfect-female-body.js.map +1 -0
  59. package/dist/commands/ai-ghost-mannequin-generator.d.ts +2 -0
  60. package/dist/commands/ai-ghost-mannequin-generator.js +38 -0
  61. package/dist/commands/ai-ghost-mannequin-generator.js.map +1 -0
  62. package/dist/commands/ai-group-photo-generator.d.ts +2 -0
  63. package/dist/commands/ai-group-photo-generator.js +33 -0
  64. package/dist/commands/ai-group-photo-generator.js.map +1 -0
  65. package/dist/commands/ai-hair-color-changer.d.ts +2 -0
  66. package/dist/commands/ai-hair-color-changer.js +28 -0
  67. package/dist/commands/ai-hair-color-changer.js.map +1 -0
  68. package/dist/commands/ai-hairstyle-changer.d.ts +2 -0
  69. package/dist/commands/ai-hairstyle-changer.js +27 -0
  70. package/dist/commands/ai-hairstyle-changer.js.map +1 -0
  71. package/dist/commands/ai-hot-girl-image.d.ts +2 -0
  72. package/dist/commands/ai-hot-girl-image.js +34 -0
  73. package/dist/commands/ai-hot-girl-image.js.map +1 -0
  74. package/dist/commands/ai-image-animation.d.ts +2 -0
  75. package/dist/commands/ai-image-animation.js +39 -0
  76. package/dist/commands/ai-image-animation.js.map +1 -0
  77. package/dist/commands/ai-image-combiner.d.ts +2 -0
  78. package/dist/commands/ai-image-combiner.js +33 -0
  79. package/dist/commands/ai-image-combiner.js.map +1 -0
  80. package/dist/commands/ai-landscape-design-free.d.ts +2 -0
  81. package/dist/commands/ai-landscape-design-free.js +40 -0
  82. package/dist/commands/ai-landscape-design-free.js.map +1 -0
  83. package/dist/commands/ai-lingerie-models.d.ts +2 -0
  84. package/dist/commands/ai-lingerie-models.js +34 -0
  85. package/dist/commands/ai-lingerie-models.js.map +1 -0
  86. package/dist/commands/ai-photoshoot.d.ts +2 -0
  87. package/dist/commands/ai-photoshoot.js +59 -0
  88. package/dist/commands/ai-photoshoot.js.map +1 -0
  89. package/dist/commands/ai-poster-from-images.d.ts +2 -0
  90. package/dist/commands/ai-poster-from-images.js +48 -0
  91. package/dist/commands/ai-poster-from-images.js.map +1 -0
  92. package/dist/commands/ai-poster.d.ts +2 -0
  93. package/dist/commands/ai-poster.js +53 -0
  94. package/dist/commands/ai-poster.js.map +1 -0
  95. package/dist/commands/ai-room-planner.d.ts +2 -0
  96. package/dist/commands/ai-room-planner.js +28 -0
  97. package/dist/commands/ai-room-planner.js.map +1 -0
  98. package/dist/commands/ai-selfie.d.ts +2 -0
  99. package/dist/commands/ai-selfie.js +27 -0
  100. package/dist/commands/ai-selfie.js.map +1 -0
  101. package/dist/commands/ai-sexy-portrait.d.ts +2 -0
  102. package/dist/commands/ai-sexy-portrait.js +34 -0
  103. package/dist/commands/ai-sexy-portrait.js.map +1 -0
  104. package/dist/commands/ai-sexy-teens.d.ts +2 -0
  105. package/dist/commands/ai-sexy-teens.js +34 -0
  106. package/dist/commands/ai-sexy-teens.js.map +1 -0
  107. package/dist/commands/ai-spray-paint.d.ts +2 -0
  108. package/dist/commands/ai-spray-paint.js +28 -0
  109. package/dist/commands/ai-spray-paint.js.map +1 -0
  110. package/dist/commands/ai-swimsuit-model.d.ts +2 -0
  111. package/dist/commands/ai-swimsuit-model.js +27 -0
  112. package/dist/commands/ai-swimsuit-model.js.map +1 -0
  113. package/dist/commands/ai-tattoo-generator.d.ts +2 -0
  114. package/dist/commands/ai-tattoo-generator.js +27 -0
  115. package/dist/commands/ai-tattoo-generator.js.map +1 -0
  116. package/dist/commands/ai-text-remover-from-video.d.ts +2 -0
  117. package/dist/commands/ai-text-remover-from-video.js +21 -0
  118. package/dist/commands/ai-text-remover-from-video.js.map +1 -0
  119. package/dist/commands/ai-translate.d.ts +2 -0
  120. package/dist/commands/ai-translate.js +28 -0
  121. package/dist/commands/ai-translate.js.map +1 -0
  122. package/dist/commands/ai-video-enhancer.d.ts +2 -0
  123. package/dist/commands/ai-video-enhancer.js +29 -0
  124. package/dist/commands/ai-video-enhancer.js.map +1 -0
  125. package/dist/commands/ai-werewolf.d.ts +2 -0
  126. package/dist/commands/ai-werewolf.js +43 -0
  127. package/dist/commands/ai-werewolf.js.map +1 -0
  128. package/dist/commands/ai-xray-clothes.d.ts +2 -0
  129. package/dist/commands/ai-xray-clothes.js +28 -0
  130. package/dist/commands/ai-xray-clothes.js.map +1 -0
  131. package/dist/commands/ai-zombie.d.ts +2 -0
  132. package/dist/commands/ai-zombie.js +28 -0
  133. package/dist/commands/ai-zombie.js.map +1 -0
  134. package/dist/commands/aimodel.js +2 -2
  135. package/dist/commands/aimodel.js.map +1 -1
  136. package/dist/commands/aipose.js +2 -2
  137. package/dist/commands/aipose.js.map +1 -1
  138. package/dist/commands/aiproduct.js +2 -2
  139. package/dist/commands/aiproduct.js.map +1 -1
  140. package/dist/commands/anime-image-converter.d.ts +2 -0
  141. package/dist/commands/anime-image-converter.js +27 -0
  142. package/dist/commands/anime-image-converter.js.map +1 -0
  143. package/dist/commands/baby-face-generator.d.ts +2 -0
  144. package/dist/commands/baby-face-generator.js +39 -0
  145. package/dist/commands/baby-face-generator.js.map +1 -0
  146. package/dist/commands/bald-filter.d.ts +2 -0
  147. package/dist/commands/bald-filter.js +27 -0
  148. package/dist/commands/bald-filter.js.map +1 -0
  149. package/dist/commands/bangs-filter.d.ts +2 -0
  150. package/dist/commands/bangs-filter.js +28 -0
  151. package/dist/commands/bangs-filter.js.map +1 -0
  152. package/dist/commands/bikini-contest-photos.d.ts +2 -0
  153. package/dist/commands/bikini-contest-photos.js +34 -0
  154. package/dist/commands/bikini-contest-photos.js.map +1 -0
  155. package/dist/commands/bikini-try-on.d.ts +2 -0
  156. package/dist/commands/bikini-try-on.js +27 -0
  157. package/dist/commands/bikini-try-on.js.map +1 -0
  158. package/dist/commands/braces-filter.d.ts +2 -0
  159. package/dist/commands/braces-filter.js +27 -0
  160. package/dist/commands/braces-filter.js.map +1 -0
  161. package/dist/commands/brat-generator.d.ts +2 -0
  162. package/dist/commands/brat-generator.js +27 -0
  163. package/dist/commands/brat-generator.js.map +1 -0
  164. package/dist/commands/buzz-cut-ai.d.ts +2 -0
  165. package/dist/commands/buzz-cut-ai.js +27 -0
  166. package/dist/commands/buzz-cut-ai.js.map +1 -0
  167. package/dist/commands/celeb-ai.d.ts +2 -0
  168. package/dist/commands/celeb-ai.js +33 -0
  169. package/dist/commands/celeb-ai.js.map +1 -0
  170. package/dist/commands/chibi-maker.d.ts +2 -0
  171. package/dist/commands/chibi-maker.js +27 -0
  172. package/dist/commands/chibi-maker.js.map +1 -0
  173. package/dist/commands/clothing-magic-remover.d.ts +2 -0
  174. package/dist/commands/clothing-magic-remover.js +27 -0
  175. package/dist/commands/clothing-magic-remover.js.map +1 -0
  176. package/dist/commands/custom-bikini.d.ts +2 -0
  177. package/dist/commands/custom-bikini.js +34 -0
  178. package/dist/commands/custom-bikini.js.map +1 -0
  179. package/dist/commands/cute-anime-girl-ai-bikini.d.ts +2 -0
  180. package/dist/commands/cute-anime-girl-ai-bikini.js +34 -0
  181. package/dist/commands/cute-anime-girl-ai-bikini.js.map +1 -0
  182. package/dist/commands/demon-slayer-oc-maker.d.ts +2 -0
  183. package/dist/commands/demon-slayer-oc-maker.js +29 -0
  184. package/dist/commands/demon-slayer-oc-maker.js.map +1 -0
  185. package/dist/commands/dress-remover-magic-eraser.d.ts +2 -0
  186. package/dist/commands/dress-remover-magic-eraser.js +27 -0
  187. package/dist/commands/dress-remover-magic-eraser.js.map +1 -0
  188. package/dist/commands/expandimage.js +2 -2
  189. package/dist/commands/expandimage.js.map +1 -1
  190. package/dist/commands/face-forge.d.ts +2 -0
  191. package/dist/commands/face-forge.js +56 -0
  192. package/dist/commands/face-forge.js.map +1 -0
  193. package/dist/commands/fat-ai.d.ts +2 -0
  194. package/dist/commands/fat-ai.js +28 -0
  195. package/dist/commands/fat-ai.js.map +1 -0
  196. package/dist/commands/firered-image-edit.d.ts +2 -0
  197. package/dist/commands/firered-image-edit.js +36 -0
  198. package/dist/commands/firered-image-edit.js.map +1 -0
  199. package/dist/commands/flat-lay.d.ts +2 -0
  200. package/dist/commands/flat-lay.js +42 -0
  201. package/dist/commands/flat-lay.js.map +1 -0
  202. package/dist/commands/free-4k-video-upscaler.d.ts +2 -0
  203. package/dist/commands/free-4k-video-upscaler.js +26 -0
  204. package/dist/commands/free-4k-video-upscaler.js.map +1 -0
  205. package/dist/commands/free-ai-girlfriend-generator.d.ts +2 -0
  206. package/dist/commands/free-ai-girlfriend-generator.js +27 -0
  207. package/dist/commands/free-ai-girlfriend-generator.js.map +1 -0
  208. package/dist/commands/free-online-video-quality-enhancer.d.ts +2 -0
  209. package/dist/commands/free-online-video-quality-enhancer.js +26 -0
  210. package/dist/commands/free-online-video-quality-enhancer.js.map +1 -0
  211. package/dist/commands/free-sexy-ai-generator.d.ts +2 -0
  212. package/dist/commands/free-sexy-ai-generator.js +34 -0
  213. package/dist/commands/free-sexy-ai-generator.js.map +1 -0
  214. package/dist/commands/futuristic-elegance.d.ts +2 -0
  215. package/dist/commands/futuristic-elegance.js +29 -0
  216. package/dist/commands/futuristic-elegance.js.map +1 -0
  217. package/dist/commands/gemini-watermark-remover.d.ts +2 -0
  218. package/dist/commands/gemini-watermark-remover.js +21 -0
  219. package/dist/commands/gemini-watermark-remover.js.map +1 -0
  220. package/dist/commands/gender-swap.d.ts +2 -0
  221. package/dist/commands/gender-swap.js +28 -0
  222. package/dist/commands/gender-swap.js.map +1 -0
  223. package/dist/commands/ghibli-art-create.d.ts +2 -0
  224. package/dist/commands/ghibli-art-create.js +27 -0
  225. package/dist/commands/ghibli-art-create.js.map +1 -0
  226. package/dist/commands/grok-imagine-video.d.ts +2 -0
  227. package/dist/commands/grok-imagine-video.js +35 -0
  228. package/dist/commands/grok-imagine-video.js.map +1 -0
  229. package/dist/commands/grok-imagine.d.ts +2 -0
  230. package/dist/commands/grok-imagine.js +25 -0
  231. package/dist/commands/grok-imagine.js.map +1 -0
  232. package/dist/commands/hair-color-try-on.d.ts +2 -0
  233. package/dist/commands/hair-color-try-on.js +28 -0
  234. package/dist/commands/hair-color-try-on.js.map +1 -0
  235. package/dist/commands/happy-woman-bikini-ai-pic.d.ts +2 -0
  236. package/dist/commands/happy-woman-bikini-ai-pic.js +34 -0
  237. package/dist/commands/happy-woman-bikini-ai-pic.js.map +1 -0
  238. package/dist/commands/hot-bikini-models.d.ts +2 -0
  239. package/dist/commands/hot-bikini-models.js +34 -0
  240. package/dist/commands/hot-bikini-models.js.map +1 -0
  241. package/dist/commands/image-mixer.d.ts +2 -0
  242. package/dist/commands/image-mixer.js +33 -0
  243. package/dist/commands/image-mixer.js.map +1 -0
  244. package/dist/commands/image-to-sketch.d.ts +2 -0
  245. package/dist/commands/image-to-sketch.js +27 -0
  246. package/dist/commands/image-to-sketch.js.map +1 -0
  247. package/dist/commands/improve-video-quality-online-free.d.ts +2 -0
  248. package/dist/commands/improve-video-quality-online-free.js +26 -0
  249. package/dist/commands/improve-video-quality-online-free.js.map +1 -0
  250. package/dist/commands/kling.d.ts +2 -0
  251. package/dist/commands/kling.js +48 -0
  252. package/dist/commands/kling.js.map +1 -0
  253. package/dist/commands/logo-remover-from-video.d.ts +2 -0
  254. package/dist/commands/logo-remover-from-video.js +21 -0
  255. package/dist/commands/logo-remover-from-video.js.map +1 -0
  256. package/dist/commands/midjourney.d.ts +2 -0
  257. package/dist/commands/midjourney.js +33 -0
  258. package/dist/commands/midjourney.js.map +1 -0
  259. package/dist/commands/mugshot-creator.d.ts +2 -0
  260. package/dist/commands/mugshot-creator.js +28 -0
  261. package/dist/commands/mugshot-creator.js.map +1 -0
  262. package/dist/commands/murder-drones-oc.d.ts +2 -0
  263. package/dist/commands/murder-drones-oc.js +29 -0
  264. package/dist/commands/murder-drones-oc.js.map +1 -0
  265. package/dist/commands/outfit-generator.d.ts +2 -0
  266. package/dist/commands/outfit-generator.js +29 -0
  267. package/dist/commands/outfit-generator.js.map +1 -0
  268. package/dist/commands/personalized-swimsuit.d.ts +2 -0
  269. package/dist/commands/personalized-swimsuit.js +34 -0
  270. package/dist/commands/personalized-swimsuit.js.map +1 -0
  271. package/dist/commands/photo-to-bikini-ai.d.ts +2 -0
  272. package/dist/commands/photo-to-bikini-ai.js +27 -0
  273. package/dist/commands/photo-to-bikini-ai.js.map +1 -0
  274. package/dist/commands/pregnant-ai.d.ts +2 -0
  275. package/dist/commands/pregnant-ai.js +31 -0
  276. package/dist/commands/pregnant-ai.js.map +1 -0
  277. package/dist/commands/ps2-filter.d.ts +2 -0
  278. package/dist/commands/ps2-filter.js +28 -0
  279. package/dist/commands/ps2-filter.js.map +1 -0
  280. package/dist/commands/qwen-image-edit.d.ts +2 -0
  281. package/dist/commands/qwen-image-edit.js +31 -0
  282. package/dist/commands/qwen-image-edit.js.map +1 -0
  283. package/dist/commands/random-animal-generator.d.ts +2 -0
  284. package/dist/commands/random-animal-generator.js +28 -0
  285. package/dist/commands/random-animal-generator.js.map +1 -0
  286. package/dist/commands/remove-filter-from-photo.d.ts +2 -0
  287. package/dist/commands/remove-filter-from-photo.js +27 -0
  288. package/dist/commands/remove-filter-from-photo.js.map +1 -0
  289. package/dist/commands/remove-subtitles-from-video-online-free.d.ts +2 -0
  290. package/dist/commands/remove-subtitles-from-video-online-free.js +21 -0
  291. package/dist/commands/remove-subtitles-from-video-online-free.js.map +1 -0
  292. package/dist/commands/remove-text-from-video-online-free.d.ts +2 -0
  293. package/dist/commands/remove-text-from-video-online-free.js +21 -0
  294. package/dist/commands/remove-text-from-video-online-free.js.map +1 -0
  295. package/dist/commands/removebg.js +2 -2
  296. package/dist/commands/removebg.js.map +1 -1
  297. package/dist/commands/replace-face-in-video-online-free.d.ts +2 -0
  298. package/dist/commands/replace-face-in-video-online-free.js +34 -0
  299. package/dist/commands/replace-face-in-video-online-free.js.map +1 -0
  300. package/dist/commands/see-through-clothes-fitler.d.ts +2 -0
  301. package/dist/commands/see-through-clothes-fitler.js +28 -0
  302. package/dist/commands/see-through-clothes-fitler.js.map +1 -0
  303. package/dist/commands/seedance.d.ts +2 -0
  304. package/dist/commands/seedance.js +47 -0
  305. package/dist/commands/seedance.js.map +1 -0
  306. package/dist/commands/seedream.d.ts +2 -0
  307. package/dist/commands/seedream.js +53 -0
  308. package/dist/commands/seedream.js.map +1 -0
  309. package/dist/commands/sex-ai-generator.d.ts +2 -0
  310. package/dist/commands/sex-ai-generator.js +34 -0
  311. package/dist/commands/sex-ai-generator.js.map +1 -0
  312. package/dist/commands/sexy-ai-pics.d.ts +2 -0
  313. package/dist/commands/sexy-ai-pics.js +26 -0
  314. package/dist/commands/sexy-ai-pics.js.map +1 -0
  315. package/dist/commands/skin-color-changer.d.ts +2 -0
  316. package/dist/commands/skin-color-changer.js +28 -0
  317. package/dist/commands/skin-color-changer.js.map +1 -0
  318. package/dist/commands/sonic-oc.d.ts +2 -0
  319. package/dist/commands/sonic-oc.js +28 -0
  320. package/dist/commands/sonic-oc.js.map +1 -0
  321. package/dist/commands/sora-2.d.ts +2 -0
  322. package/dist/commands/sora-2.js +35 -0
  323. package/dist/commands/sora-2.js.map +1 -0
  324. package/dist/commands/sprunki-oc-maker.d.ts +2 -0
  325. package/dist/commands/sprunki-oc-maker.js +29 -0
  326. package/dist/commands/sprunki-oc-maker.js.map +1 -0
  327. package/dist/commands/square-face-icon-generator.d.ts +2 -0
  328. package/dist/commands/square-face-icon-generator.js +30 -0
  329. package/dist/commands/square-face-icon-generator.js.map +1 -0
  330. package/dist/commands/stardew-valley-portrait-maker.d.ts +2 -0
  331. package/dist/commands/stardew-valley-portrait-maker.js +28 -0
  332. package/dist/commands/stardew-valley-portrait-maker.js.map +1 -0
  333. package/dist/commands/string-bikini-beauty-contest.d.ts +2 -0
  334. package/dist/commands/string-bikini-beauty-contest.js +34 -0
  335. package/dist/commands/string-bikini-beauty-contest.js.map +1 -0
  336. package/dist/commands/swimsuit-try-on-haul.d.ts +2 -0
  337. package/dist/commands/swimsuit-try-on-haul.js +34 -0
  338. package/dist/commands/swimsuit-try-on-haul.js.map +1 -0
  339. package/dist/commands/video-resolution-enhancer-online-free.d.ts +2 -0
  340. package/dist/commands/video-resolution-enhancer-online-free.js +26 -0
  341. package/dist/commands/video-resolution-enhancer-online-free.js.map +1 -0
  342. package/dist/commands/video-upscaler-online-free.d.ts +2 -0
  343. package/dist/commands/video-upscaler-online-free.js +26 -0
  344. package/dist/commands/video-upscaler-online-free.js.map +1 -0
  345. package/dist/commands/video-watermark-remover.d.ts +2 -0
  346. package/dist/commands/video-watermark-remover.js +26 -0
  347. package/dist/commands/video-watermark-remover.js.map +1 -0
  348. package/dist/commands/virtualtryon.js +2 -2
  349. package/dist/commands/virtualtryon.js.map +1 -1
  350. package/dist/commands/wan-ai.d.ts +2 -0
  351. package/dist/commands/wan-ai.js +31 -0
  352. package/dist/commands/wan-ai.js.map +1 -0
  353. package/dist/commands/wild-graffiti.d.ts +2 -0
  354. package/dist/commands/wild-graffiti.js +28 -0
  355. package/dist/commands/wild-graffiti.js.map +1 -0
  356. package/dist/commands/z-image.d.ts +2 -0
  357. package/dist/commands/z-image.js +30 -0
  358. package/dist/commands/z-image.js.map +1 -0
  359. package/dist/index.js +231 -2
  360. package/dist/index.js.map +1 -1
  361. package/dist/printer.js +13 -3
  362. package/dist/printer.js.map +1 -1
  363. package/dist/run-helper.d.ts +7 -1
  364. package/dist/run-helper.js +33 -4
  365. package/dist/run-helper.js.map +1 -1
  366. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"happy-woman-bikini-ai-pic.js","sourceRoot":"","sources":["../../src/commands/happy-woman-bikini-ai-pic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,qIAAqI,CAAC;AAExI,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,OAAO,CAAC,2BAA2B,CAAC;KAC7E,OAAO,CAAC,yFAAyF,CAAC;KAClG,WAAW,CACV,iFAAiF;IACjF,sCAAsC;IACtC,8CAA8C;IAC9C,sCAAsC;IACtC,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,8FAA8F;IAC9F,4FAA4F;IAC5F,0FAA0F,CAC3F;KACA,cAAc,CAAC,oBAAoB,EAAE,4DAA4D,CAAC;KAClG,MAAM,CAAC,iBAAiB,EAAE,yCAAyC,CAAC;KACpE,MAAM,CAAC,yBAAyB,EAAE,uCAAuC,CAAC;KAC1E,MAAM,CAAC,iBAAiB,EAAE,kDAAkD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACxG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B;QACtC,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc;QAC9C,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,OAAO;KAC7C,CAAC;IACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,2BAA2B,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACpH,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const hotBikiniModelsCmd: Command;
@@ -0,0 +1,34 @@
1
+ import { Command } from "commander";
2
+ import { executeRun } from "../run-helper.js";
3
+ const DEFAULT_PROMPT = "naturally undress and change the outfit into a thin bikini while keeping body proportions natural. Keep Model dancing tiktok dance.";
4
+ export const hotBikiniModelsCmd = new Command("hot-bikini-models")
5
+ .summary("Hot bikini models — transform a person photo into a bikini model image or video")
6
+ .description("Transform a portrait or full-body photo into a bikini model image or video.\n\n" +
7
+ "Generated type (--generated-type):\n" +
8
+ " video Generate a short video (default)\n" +
9
+ " image Generate a still image\n\n" +
10
+ "Default prompt (used when --prompt is omitted):\n" +
11
+ ` "${DEFAULT_PROMPT}"\n\n` +
12
+ "Examples:\n" +
13
+ " weshop hot-bikini-models --image ./person.png --prompt 'Bikini model on a beach'\n" +
14
+ " weshop hot-bikini-models --image ./person.png --generated-type image --batch 2\n" +
15
+ " weshop hot-bikini-models --image ./person.png --generated-type video --no-wait")
16
+ .requiredOption("--image <path|url>", "Input portrait or full-body photo — local file path or URL")
17
+ .option("--prompt <text>", "Describe the desired bikini model scene")
18
+ .option("--generated-type <type>", "Output type: video (default) or image")
19
+ .option("--batch <count>", "Number of outputs to generate, 1-16 (default: 1)", (v) => parseInt(v, 10), 1)
20
+ .option("--task-name <name>", "Human-readable label for this run")
21
+ .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
22
+ .action(async (opts) => {
23
+ const params = {
24
+ textDescription: opts.prompt ?? DEFAULT_PROMPT,
25
+ generatedType: opts.generatedType ?? "video",
26
+ };
27
+ if (opts.batch != null)
28
+ params.batchCount = opts.batch;
29
+ const extraInput = {};
30
+ if (opts.taskName)
31
+ extraInput.taskName = opts.taskName;
32
+ await executeRun("hot-bikini-models", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
33
+ });
34
+ //# sourceMappingURL=hot-bikini-models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hot-bikini-models.js","sourceRoot":"","sources":["../../src/commands/hot-bikini-models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,qIAAqI,CAAC;AAExI,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,OAAO,CAAC,mBAAmB,CAAC;KAC/D,OAAO,CAAC,iFAAiF,CAAC;KAC1F,WAAW,CACV,iFAAiF;IACjF,sCAAsC;IACtC,8CAA8C;IAC9C,sCAAsC;IACtC,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,sFAAsF;IACtF,oFAAoF;IACpF,kFAAkF,CACnF;KACA,cAAc,CAAC,oBAAoB,EAAE,4DAA4D,CAAC;KAClG,MAAM,CAAC,iBAAiB,EAAE,yCAAyC,CAAC;KACpE,MAAM,CAAC,yBAAyB,EAAE,uCAAuC,CAAC;KAC1E,MAAM,CAAC,iBAAiB,EAAE,kDAAkD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACxG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B;QACtC,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc;QAC9C,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,OAAO;KAC7C,CAAC;IACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,mBAAmB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAC5G,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const imageMixerCmd: Command;
@@ -0,0 +1,33 @@
1
+ import { Command } from "commander";
2
+ import { executeRun } from "../run-helper.js";
3
+ const DEFAULT_PROMPT = "Merge these two photos together naturally. Don't simply put element on the another image, try to generate a merged photo.";
4
+ export const imageMixerCmd = new Command("image-mixer")
5
+ .summary("Image mixer — naturally merge two photos into a single cohesive image")
6
+ .description("Merge two photos together into a single naturally blended image.\n" +
7
+ "Requires exactly 2 images. Reference them in your prompt as 'image 1' and 'image 2'.\n\n" +
8
+ "Default prompt (used when --prompt is omitted):\n" +
9
+ ` "${DEFAULT_PROMPT}"\n\n` +
10
+ "Examples:\n" +
11
+ " weshop image-mixer --image ./photo1.png --image ./photo2.png\n" +
12
+ " weshop image-mixer --image ./person.png --image ./background.png --prompt 'Place image 1 person into image 2 scene naturally'\n" +
13
+ " weshop image-mixer --image ./a.png --image ./b.png --batch 2")
14
+ .requiredOption("--image <path|url...>", "Two images to mix — local file paths or URLs (exactly 2 required)")
15
+ .option("--prompt <text>", "Custom merge instruction (default: naturally merge both photos)")
16
+ .option("--batch <count>", "Number of images to generate, 1-16 (default: 1)", (v) => parseInt(v, 10), 1)
17
+ .option("--task-name <name>", "Human-readable label for this run")
18
+ .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
19
+ .action(async (opts) => {
20
+ const imageList = opts.image;
21
+ if (imageList.length !== 2) {
22
+ console.error("[error]\n message: Exactly 2 images required for image-mixer");
23
+ process.exit(1);
24
+ }
25
+ const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
26
+ if (opts.batch != null)
27
+ params.batchCount = opts.batch;
28
+ const extraInput = {};
29
+ if (opts.taskName)
30
+ extraInput.taskName = opts.taskName;
31
+ await executeRun("image-mixer", "v1.0", { images: imageList, wait: opts.wait }, params, extraInput);
32
+ });
33
+ //# sourceMappingURL=image-mixer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-mixer.js","sourceRoot":"","sources":["../../src/commands/image-mixer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,2HAA2H,CAAC;AAE9H,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;KACpD,OAAO,CAAC,uEAAuE,CAAC;KAChF,WAAW,CACV,oEAAoE;IACpE,0FAA0F;IAC1F,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,kEAAkE;IAClE,mIAAmI;IACnI,gEAAgE,CACjE;KACA,cAAc,CAAC,uBAAuB,EAAE,mEAAmE,CAAC;KAC5G,MAAM,CAAC,iBAAiB,EAAE,iEAAiE,CAAC;KAC5F,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,SAAS,GAAa,IAAI,CAAC,KAAK,CAAC;IACvC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACtG,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const imageToSketchCmd: Command;
@@ -0,0 +1,27 @@
1
+ import { Command } from "commander";
2
+ import { executeRun } from "../run-helper.js";
3
+ const DEFAULT_PROMPT = "Turn this image into rough pencil sketch without changing details.";
4
+ export const imageToSketchCmd = new Command("image-to-sketch")
5
+ .summary("AI image to sketch — convert a photo into a rough pencil sketch")
6
+ .description("Convert any photo into a rough pencil sketch while preserving the original details.\n\n" +
7
+ "Default prompt (used when --prompt is omitted):\n" +
8
+ ` "${DEFAULT_PROMPT}"\n\n` +
9
+ "Examples:\n" +
10
+ " weshop image-to-sketch --image ./photo.png\n" +
11
+ " weshop image-to-sketch --image ./portrait.png --prompt 'Fine line art sketch, detailed shading'\n" +
12
+ " weshop image-to-sketch --image ./photo.png --batch 2")
13
+ .requiredOption("--image <path|url>", "Input image — local file path or URL")
14
+ .option("--prompt <text>", "Custom sketch style instruction")
15
+ .option("--batch <count>", "Number of images to generate, 1-16 (default: 1)", (v) => parseInt(v, 10), 1)
16
+ .option("--task-name <name>", "Human-readable label for this run")
17
+ .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
18
+ .action(async (opts) => {
19
+ const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
20
+ if (opts.batch != null)
21
+ params.batchCount = opts.batch;
22
+ const extraInput = {};
23
+ if (opts.taskName)
24
+ extraInput.taskName = opts.taskName;
25
+ await executeRun("image-to-sketch", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
26
+ });
27
+ //# sourceMappingURL=image-to-sketch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-to-sketch.js","sourceRoot":"","sources":["../../src/commands/image-to-sketch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAAG,oEAAoE,CAAC;AAE5F,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAAC,iBAAiB,CAAC;KAC3D,OAAO,CAAC,iEAAiE,CAAC;KAC1E,WAAW,CACV,yFAAyF;IACzF,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,gDAAgD;IAChD,qGAAqG;IACrG,wDAAwD,CACzD;KACA,cAAc,CAAC,oBAAoB,EAAE,sCAAsC,CAAC;KAC5E,MAAM,CAAC,iBAAiB,EAAE,iCAAiC,CAAC;KAC5D,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAC1G,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const improveVideoQualityOnlineFreeCmd: Command;
@@ -0,0 +1,26 @@
1
+ import { Command } from "commander";
2
+ import { executeRun } from "../run-helper.js";
3
+ export const improveVideoQualityOnlineFreeCmd = new Command("improve-video-quality-online-free")
4
+ .summary("Improve video quality online free — upscale and enhance video quality using AI")
5
+ .description("Upscale and enhance video quality using AI.\n\n" +
6
+ "Provide the video as a URL (--video). Local video files are not auto-uploaded;\n" +
7
+ "use 'weshop upload' first to get a hosted URL if needed.\n\n" +
8
+ "Video size (--video-size): target output resolution, e.g. 2K, 4K\n\n" +
9
+ "Examples:\n" +
10
+ " weshop improve-video-quality-online-free --video https://example.com/video.mp4\n" +
11
+ " weshop improve-video-quality-online-free --video https://example.com/video.mp4 --video-size 4K\n" +
12
+ " weshop improve-video-quality-online-free --video https://example.com/video.mp4 --no-wait")
13
+ .requiredOption("--video <url>", "Input video URL")
14
+ .option("--video-size <size>", "Target output resolution, e.g. 2K or 4K")
15
+ .option("--task-name <name>", "Human-readable label for this run")
16
+ .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
17
+ .action(async (opts) => {
18
+ const params = {};
19
+ if (opts.videoSize)
20
+ params.videoSize = opts.videoSize;
21
+ const extraInput = {};
22
+ if (opts.taskName)
23
+ extraInput.taskName = opts.taskName;
24
+ await executeRun("improve-video-quality-online-free", "v1.0", { videos: [opts.video], wait: opts.wait }, params, extraInput);
25
+ });
26
+ //# sourceMappingURL=improve-video-quality-online-free.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"improve-video-quality-online-free.js","sourceRoot":"","sources":["../../src/commands/improve-video-quality-online-free.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,MAAM,gCAAgC,GAAG,IAAI,OAAO,CAAC,mCAAmC,CAAC;KAC7F,OAAO,CAAC,gFAAgF,CAAC;KACzF,WAAW,CACV,iDAAiD;IACjD,kFAAkF;IAClF,8DAA8D;IAC9D,sEAAsE;IACtE,aAAa;IACb,oFAAoF;IACpF,oGAAoG;IACpG,4FAA4F,CAC7F;KACA,cAAc,CAAC,eAAe,EAAE,iBAAiB,CAAC;KAClD,MAAM,CAAC,qBAAqB,EAAE,yCAAyC,CAAC;KACxE,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,IAAI,IAAI,CAAC,SAAS;QAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACtD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,mCAAmC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAC/H,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const klingCmd: Command;
@@ -0,0 +1,48 @@
1
+ import { Command } from "commander";
2
+ import { executeRun } from "../run-helper.js";
3
+ export const klingCmd = new Command("kling")
4
+ .summary("AI video generation — create cinematic videos from images and text using Kling")
5
+ .description("AI video generation — create cinematic videos from images and text using Kling.\n\n" +
6
+ "Provide a reference image and a text prompt describing the desired motion or scene.\n" +
7
+ "Results are returned as video URLs in the result section.\n\n" +
8
+ "Model (--model):\n" +
9
+ " Kling_3_0 Kling 3.0 — latest, supports 3s-15s duration and audio (default)\n" +
10
+ " Kling_2_6 Kling 2.6 — supports audio\n" +
11
+ " Kling_2_5_Turbo Kling 2.5 Turbo — fast generation\n" +
12
+ " Kling_2_1_Master Kling 2.1 Master — high quality\n" +
13
+ " Kling_2_1 Kling 2.1\n\n" +
14
+ "Duration (--duration):\n" +
15
+ " Kling_3_0: 3s, 4s, 5s, 6s, 7s, 8s, 9s, 10s, 11s, 12s, 13s, 14s, 15s (default: 5s)\n" +
16
+ " Others: 5s, 10s (default: 5s)\n\n" +
17
+ "Audio generation (--generate-audio):\n" +
18
+ " Only supported for Kling_3_0 and Kling_2_6. Ignored for other models.\n\n" +
19
+ "Examples:\n" +
20
+ " weshop kling --image ./scene.png --prompt 'Camera slowly pans across a misty forest'\n" +
21
+ " weshop kling --image ./portrait.png --prompt 'Person turns and smiles' --model Kling_3_0 --duration 5s\n" +
22
+ " weshop kling --image ./product.png --prompt 'Product rotates on a pedestal' --model Kling_3_0 --duration 8s --generate-audio true")
23
+ .requiredOption("--image <path|url>", "Reference image — local file path or public URL")
24
+ .requiredOption("--prompt <text>", "Describe the desired motion or scene")
25
+ .option("--model <name>", "Kling model version (default: Kling_3_0)")
26
+ .option("--duration <time>", "Video duration, e.g. 5s, 10s (default: 5s)")
27
+ .option("--generate-audio <bool>", "Generate audio: true or false (Kling_3_0 and Kling_2_6 only)")
28
+ .option("--batch <count>", "Number of videos to generate, 1-16 (default: 1)", (v) => parseInt(v, 10), 1)
29
+ .option("--task-name <name>", "Human-readable label for this run")
30
+ .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
31
+ .action(async (opts) => {
32
+ const params = {
33
+ textDescription: opts.prompt,
34
+ };
35
+ if (opts.model)
36
+ params.modelName = opts.model;
37
+ if (opts.duration)
38
+ params.duration = opts.duration;
39
+ if (opts.generateAudio !== undefined)
40
+ params.generateAudio = opts.generateAudio;
41
+ if (opts.batch != null)
42
+ params.batchCount = opts.batch;
43
+ const extraInput = {};
44
+ if (opts.taskName)
45
+ extraInput.taskName = opts.taskName;
46
+ await executeRun("kling", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
47
+ });
48
+ //# sourceMappingURL=kling.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kling.js","sourceRoot":"","sources":["../../src/commands/kling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;KACzC,OAAO,CAAC,gFAAgF,CAAC;KACzF,WAAW,CACV,qFAAqF;IACrF,uFAAuF;IACvF,+DAA+D;IAC/D,oBAAoB;IACpB,wFAAwF;IACxF,kDAAkD;IAClD,yDAAyD;IACzD,uDAAuD;IACvD,mCAAmC;IACnC,0BAA0B;IAC1B,yFAAyF;IACzF,0CAA0C;IAC1C,wCAAwC;IACxC,6EAA6E;IAC7E,aAAa;IACb,0FAA0F;IAC1F,4GAA4G;IAC5G,qIAAqI,CACtI;KACA,cAAc,CAAC,oBAAoB,EAAE,iDAAiD,CAAC;KACvF,cAAc,CAAC,iBAAiB,EAAE,sCAAsC,CAAC;KACzE,MAAM,CAAC,gBAAgB,EAAE,0CAA0C,CAAC;KACpE,MAAM,CAAC,mBAAmB,EAAE,4CAA4C,CAAC;KACzE,MAAM,CAAC,yBAAyB,EAAE,8DAA8D,CAAC;KACjG,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B;QACtC,eAAe,EAAE,IAAI,CAAC,MAAM;KAC7B,CAAC;IACF,IAAI,IAAI,CAAC,KAAK;QAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;IAC9C,IAAI,IAAI,CAAC,QAAQ;QAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACnD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;QAAE,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IAChF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IAEvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAEvD,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAChG,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const logoRemoverFromVideoCmd: Command;
@@ -0,0 +1,21 @@
1
+ import { Command } from "commander";
2
+ import { executeRun } from "../run-helper.js";
3
+ export const logoRemoverFromVideoCmd = new Command("logo-remover-from-video")
4
+ .summary("Logo remover from video — remove logos or watermarks from a video")
5
+ .description("Remove logos, watermarks, or brand overlays from a video using AI.\n\n" +
6
+ "Provide the video as a URL (--video). Local video files are not auto-uploaded;\n" +
7
+ "use 'weshop upload' first to get a hosted URL if needed.\n\n" +
8
+ "Examples:\n" +
9
+ " weshop logo-remover-from-video --video https://example.com/video.mp4\n" +
10
+ " weshop logo-remover-from-video --video https://example.com/video.mp4 --no-wait")
11
+ .requiredOption("--video <url>", "Input video URL")
12
+ .option("--task-name <name>", "Human-readable label for this run")
13
+ .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
14
+ .action(async (opts) => {
15
+ const params = { watermarkSelectType: "autoDetect" };
16
+ const extraInput = {};
17
+ if (opts.taskName)
18
+ extraInput.taskName = opts.taskName;
19
+ await executeRun("logo-remover-from-video", "v1.0", { videos: [opts.video], wait: opts.wait }, params, extraInput);
20
+ });
21
+ //# sourceMappingURL=logo-remover-from-video.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logo-remover-from-video.js","sourceRoot":"","sources":["../../src/commands/logo-remover-from-video.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,OAAO,CAAC,yBAAyB,CAAC;KAC1E,OAAO,CAAC,mEAAmE,CAAC;KAC5E,WAAW,CACV,wEAAwE;IACxE,kFAAkF;IAClF,8DAA8D;IAC9D,aAAa;IACb,0EAA0E;IAC1E,kFAAkF,CACnF;KACA,cAAc,CAAC,eAAe,EAAE,iBAAiB,CAAC;KAClD,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,mBAAmB,EAAE,YAAY,EAAE,CAAC;IAC9E,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,yBAAyB,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACrH,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const midjourneyCmd: Command;
@@ -0,0 +1,33 @@
1
+ import { Command } from "commander";
2
+ import { executeRun } from "../run-helper.js";
3
+ export const midjourneyCmd = new Command("midjourney")
4
+ .summary("Midjourney image generator — create high-quality images using Midjourney v6.1, v7, or Niji 6")
5
+ .description("Generate images using Midjourney models. Image is optional.\n\n" +
6
+ "Model (--model):\n" +
7
+ " Midjourney_6_1 Midjourney v6.1 (default)\n" +
8
+ " Midjourney_7 Midjourney v7\n" +
9
+ " Midjourney_Niji_6 Niji 6 — anime style\n\n" +
10
+ "Aspect ratio (--aspect-ratio):\n" +
11
+ " 1:1, 4:3, 3:4, 16:9, 9:16 (default: 1:1)\n\n" +
12
+ "Examples:\n" +
13
+ " weshop midjourney --prompt 'A futuristic city at sunset, cinematic lighting'\n" +
14
+ " weshop midjourney --image ./reference.png --prompt 'In the style of this image, a mountain landscape'\n" +
15
+ " weshop midjourney --prompt 'Anime girl in a forest' --model Midjourney_Niji_6 --aspect-ratio 9:16")
16
+ .option("--image <path|url>", "Reference image — local file path or URL (optional)")
17
+ .requiredOption("--prompt <text>", "Describe the desired image")
18
+ .option("--model <name>", "Model: Midjourney_6_1 (default), Midjourney_7, or Midjourney_Niji_6")
19
+ .option("--aspect-ratio <ratio>", "Output aspect ratio: 1:1, 4:3, 3:4, 16:9, 9:16 (default: 1:1)")
20
+ .option("--task-name <name>", "Human-readable label for this run")
21
+ .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
22
+ .action(async (opts) => {
23
+ const params = {
24
+ textDescription: opts.prompt,
25
+ modelName: opts.model ?? "Midjourney_6_1",
26
+ aspectRatio: opts.aspectRatio ?? "1:1",
27
+ };
28
+ const extraInput = {};
29
+ if (opts.taskName)
30
+ extraInput.taskName = opts.taskName;
31
+ await executeRun("midjourney", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
32
+ });
33
+ //# sourceMappingURL=midjourney.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"midjourney.js","sourceRoot":"","sources":["../../src/commands/midjourney.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC;KACnD,OAAO,CAAC,8FAA8F,CAAC;KACvG,WAAW,CACV,iEAAiE;IACjE,oBAAoB;IACpB,gDAAgD;IAChD,oCAAoC;IACpC,+CAA+C;IAC/C,kCAAkC;IAClC,iDAAiD;IACjD,aAAa;IACb,kFAAkF;IAClF,2GAA2G;IAC3G,qGAAqG,CACtG;KACA,MAAM,CAAC,oBAAoB,EAAE,qDAAqD,CAAC;KACnF,cAAc,CAAC,iBAAiB,EAAE,4BAA4B,CAAC;KAC/D,MAAM,CAAC,gBAAgB,EAAE,qEAAqE,CAAC;KAC/F,MAAM,CAAC,wBAAwB,EAAE,+DAA+D,CAAC;KACjG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B;QACtC,eAAe,EAAE,IAAI,CAAC,MAAM;QAC5B,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,gBAAgB;QACzC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK;KACvC,CAAC;IAEF,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAEvD,MAAM,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACrG,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const mugshotCreatorCmd: Command;
@@ -0,0 +1,28 @@
1
+ import { Command } from "commander";
2
+ import { executeRun } from "../run-helper.js";
3
+ const DEFAULT_PROMPT = "Generate a mugshot of this person, height measurement background, keep face and appearance detail.";
4
+ export const mugshotCreatorCmd = new Command("mugshot-creator")
5
+ .summary("AI mugshot creator — generate a police-style mugshot photo from a portrait")
6
+ .description("Transform a portrait photo into a police-style mugshot with height measurement\n" +
7
+ "background while preserving face and appearance details.\n\n" +
8
+ "Default prompt (used when --prompt is omitted):\n" +
9
+ ` "${DEFAULT_PROMPT}"\n\n` +
10
+ "Examples:\n" +
11
+ " weshop mugshot-creator --image ./person.png\n" +
12
+ " weshop mugshot-creator --image ./person.png --prompt 'Classic police mugshot, front and side view'\n" +
13
+ " weshop mugshot-creator --image ./person.png --batch 2")
14
+ .requiredOption("--image <path|url>", "Input portrait image — local file path or URL")
15
+ .option("--prompt <text>", "Custom mugshot instruction")
16
+ .option("--batch <count>", "Number of images to generate, 1-16 (default: 1)", (v) => parseInt(v, 10), 1)
17
+ .option("--task-name <name>", "Human-readable label for this run")
18
+ .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
19
+ .action(async (opts) => {
20
+ const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
21
+ if (opts.batch != null)
22
+ params.batchCount = opts.batch;
23
+ const extraInput = {};
24
+ if (opts.taskName)
25
+ extraInput.taskName = opts.taskName;
26
+ await executeRun("mugshot-creator", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
27
+ });
28
+ //# sourceMappingURL=mugshot-creator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mugshot-creator.js","sourceRoot":"","sources":["../../src/commands/mugshot-creator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,oGAAoG,CAAC;AAEvG,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAC,iBAAiB,CAAC;KAC5D,OAAO,CAAC,4EAA4E,CAAC;KACrF,WAAW,CACV,kFAAkF;IAClF,8DAA8D;IAC9D,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,iDAAiD;IACjD,wGAAwG;IACxG,yDAAyD,CAC1D;KACA,cAAc,CAAC,oBAAoB,EAAE,+CAA+C,CAAC;KACrF,MAAM,CAAC,iBAAiB,EAAE,4BAA4B,CAAC;KACvD,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAC1G,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const murderDronesOcCmd: Command;
@@ -0,0 +1,29 @@
1
+ import { Command } from "commander";
2
+ import { executeRun } from "../run-helper.js";
3
+ const DEFAULT_PROMPT = "Convert the person from the reference image into a Murder Drones inspired OC. Strictly maintain facial identity, head shape, and signature traits, while transforming the body into an elegant yet dangerous robotic drone form. Smooth black metal armor, luminous LED accents, claw-like fingers, floating mechanical components, glowing visor or eyes, dark cyberpunk environment, cinematic lighting, high detail sci-fi illustration, clean composition, 4k, character concept art, masterpiece.";
4
+ export const murderDronesOcCmd = new Command("murder-drones-oc")
5
+ .summary("AI Murder Drones OC maker — transform a person into a Murder Drones-inspired robotic drone character")
6
+ .description("Transform a person photo into a Murder Drones-inspired original character (OC)\n" +
7
+ "with robotic drone aesthetics. Image is optional.\n\n" +
8
+ "Default prompt (used when --prompt is omitted):\n" +
9
+ " Robotic drone OC with black metal armor, LED accents, claw fingers, glowing visor,\n" +
10
+ " dark cyberpunk environment, preserving facial identity.\n\n" +
11
+ "Examples:\n" +
12
+ " weshop murder-drones-oc --image ./person.png\n" +
13
+ " weshop murder-drones-oc --prompt 'Murder Drones OC with white armor and blue LED eyes'\n" +
14
+ " weshop murder-drones-oc --image ./person.png --batch 2")
15
+ .option("--image <path|url>", "Reference person image — local file path or URL (optional)")
16
+ .option("--prompt <text>", "Custom Murder Drones OC description")
17
+ .option("--batch <count>", "Number of images to generate, 1-16 (default: 1)", (v) => parseInt(v, 10), 1)
18
+ .option("--task-name <name>", "Human-readable label for this run")
19
+ .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
20
+ .action(async (opts) => {
21
+ const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
22
+ if (opts.batch != null)
23
+ params.batchCount = opts.batch;
24
+ const extraInput = {};
25
+ if (opts.taskName)
26
+ extraInput.taskName = opts.taskName;
27
+ await executeRun("murder-drones-oc", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
28
+ });
29
+ //# sourceMappingURL=murder-drones-oc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"murder-drones-oc.js","sourceRoot":"","sources":["../../src/commands/murder-drones-oc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,weAAwe,CAAC;AAE3e,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAC,kBAAkB,CAAC;KAC7D,OAAO,CAAC,sGAAsG,CAAC;KAC/G,WAAW,CACV,kFAAkF;IAClF,uDAAuD;IACvD,mDAAmD;IACnD,wFAAwF;IACxF,+DAA+D;IAC/D,aAAa;IACb,kDAAkD;IAClD,4FAA4F;IAC5F,0DAA0D,CAC3D;KACA,MAAM,CAAC,oBAAoB,EAAE,4DAA4D,CAAC;KAC1F,MAAM,CAAC,iBAAiB,EAAE,qCAAqC,CAAC;KAChE,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,kBAAkB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAC3G,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const outfitGeneratorCmd: Command;
@@ -0,0 +1,29 @@
1
+ import { Command } from "commander";
2
+ import { executeRun } from "../run-helper.js";
3
+ const DEFAULT_PROMPT = "Design an complete new and recommended outfit based on the uploaded photo. Keep original face and body proportion, keep original pose and background; Keep original image composition; select the proper texture used for outfit. No annotations required.\n1. Analyze the core characteristics of the model, dressing style and potential personality of the subject.\n2. Extract the disassemblable first-level elements (coat, shoes, big expression)\n3. Generate a composite diagram containing all these elements, ensuring accurate perspective, unified lighting and shadow, keep everything else same.";
4
+ export const outfitGeneratorCmd = new Command("outfit-generator")
5
+ .summary("AI outfit generator — redesign a complete outfit on a person photo based on style prompt")
6
+ .description("Analyze a person's photo and generate a new recommended outfit while preserving\n" +
7
+ "the original face, body proportions, pose, and background.\n\n" +
8
+ "Default prompt (used when --prompt is omitted):\n" +
9
+ " Analyzes the model's style and personality, then generates a complete new outfit\n" +
10
+ " with accurate perspective and unified lighting.\n\n" +
11
+ "Examples:\n" +
12
+ " weshop outfit-generator --image ./person.png\n" +
13
+ " weshop outfit-generator --image ./person.png --prompt 'Streetwear style, oversized hoodie and cargo pants'\n" +
14
+ " weshop outfit-generator --image ./person.png --batch 4")
15
+ .requiredOption("--image <path|url>", "Input person photo — local file path or URL")
16
+ .option("--prompt <text>", "Describe the desired outfit style (default: AI-recommended outfit)")
17
+ .option("--batch <count>", "Number of images to generate, 1-16 (default: 1)", (v) => parseInt(v, 10), 1)
18
+ .option("--task-name <name>", "Human-readable label for this run")
19
+ .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
20
+ .action(async (opts) => {
21
+ const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
22
+ if (opts.batch != null)
23
+ params.batchCount = opts.batch;
24
+ const extraInput = {};
25
+ if (opts.taskName)
26
+ extraInput.taskName = opts.taskName;
27
+ await executeRun("outfit-generator", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
28
+ });
29
+ //# sourceMappingURL=outfit-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outfit-generator.js","sourceRoot":"","sources":["../../src/commands/outfit-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,ilBAAilB,CAAC;AAEplB,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,OAAO,CAAC,kBAAkB,CAAC;KAC9D,OAAO,CAAC,0FAA0F,CAAC;KACnG,WAAW,CACV,mFAAmF;IACnF,gEAAgE;IAChE,mDAAmD;IACnD,sFAAsF;IACtF,uDAAuD;IACvD,aAAa;IACb,kDAAkD;IAClD,gHAAgH;IAChH,0DAA0D,CAC3D;KACA,cAAc,CAAC,oBAAoB,EAAE,6CAA6C,CAAC;KACnF,MAAM,CAAC,iBAAiB,EAAE,oEAAoE,CAAC;KAC/F,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,kBAAkB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAC3G,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const personalizedSwimSuitCmd: Command;
@@ -0,0 +1,34 @@
1
+ import { Command } from "commander";
2
+ import { executeRun } from "../run-helper.js";
3
+ const DEFAULT_PROMPT = "naturally undress and change the outfit into a thin bikini while keeping body proportions natural. Keep Model dancing tiktok dance.";
4
+ export const personalizedSwimSuitCmd = new Command("personalized-swimsuit")
5
+ .summary("Personalized swimsuit — transform a person photo into a bikini model image or video")
6
+ .description("Transform a portrait or full-body photo into a bikini model image or video.\n\n" +
7
+ "Generated type (--generated-type):\n" +
8
+ " video Generate a short video (default)\n" +
9
+ " image Generate a still image\n\n" +
10
+ "Default prompt (used when --prompt is omitted):\n" +
11
+ ` "${DEFAULT_PROMPT}"\n\n` +
12
+ "Examples:\n" +
13
+ " weshop personalized-swimsuit --image ./person.png --prompt 'Bikini model on a beach'\n" +
14
+ " weshop personalized-swimsuit --image ./person.png --generated-type image --batch 2\n" +
15
+ " weshop personalized-swimsuit --image ./person.png --generated-type video --no-wait")
16
+ .requiredOption("--image <path|url>", "Input portrait or full-body photo — local file path or URL")
17
+ .option("--prompt <text>", "Describe the desired swimsuit scene")
18
+ .option("--generated-type <type>", "Output type: video (default) or image")
19
+ .option("--batch <count>", "Number of outputs to generate, 1-16 (default: 1)", (v) => parseInt(v, 10), 1)
20
+ .option("--task-name <name>", "Human-readable label for this run")
21
+ .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
22
+ .action(async (opts) => {
23
+ const params = {
24
+ textDescription: opts.prompt ?? DEFAULT_PROMPT,
25
+ generatedType: opts.generatedType ?? "video",
26
+ };
27
+ if (opts.batch != null)
28
+ params.batchCount = opts.batch;
29
+ const extraInput = {};
30
+ if (opts.taskName)
31
+ extraInput.taskName = opts.taskName;
32
+ await executeRun("personalized-swimsuit", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
33
+ });
34
+ //# sourceMappingURL=personalized-swimsuit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"personalized-swimsuit.js","sourceRoot":"","sources":["../../src/commands/personalized-swimsuit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,qIAAqI,CAAC;AAExI,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,OAAO,CAAC,uBAAuB,CAAC;KACxE,OAAO,CAAC,qFAAqF,CAAC;KAC9F,WAAW,CACV,iFAAiF;IACjF,sCAAsC;IACtC,8CAA8C;IAC9C,sCAAsC;IACtC,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,0FAA0F;IAC1F,wFAAwF;IACxF,sFAAsF,CACvF;KACA,cAAc,CAAC,oBAAoB,EAAE,4DAA4D,CAAC;KAClG,MAAM,CAAC,iBAAiB,EAAE,qCAAqC,CAAC;KAChE,MAAM,CAAC,yBAAyB,EAAE,uCAAuC,CAAC;KAC1E,MAAM,CAAC,iBAAiB,EAAE,kDAAkD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACxG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B;QACtC,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc;QAC9C,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,OAAO;KAC7C,CAAC;IACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,uBAAuB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAChH,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const photoToBikiniAiCmd: Command;
@@ -0,0 +1,27 @@
1
+ import { Command } from "commander";
2
+ import { executeRun } from "../run-helper.js";
3
+ const DEFAULT_PROMPT = "naturally undress and change the outfit into a thin bikini while keeping body proportions natural. Keep Model dancing tiktok dance.";
4
+ export const photoToBikiniAiCmd = new Command("photo-to-bikini-ai")
5
+ .summary("AI photo to bikini converter — transform a person photo into a bikini image")
6
+ .description("Convert a person photo into a bikini image while preserving body proportions.\n\n" +
7
+ "Default prompt (used when --prompt is omitted):\n" +
8
+ ` "${DEFAULT_PROMPT}"\n\n` +
9
+ "Examples:\n" +
10
+ " weshop photo-to-bikini-ai --image ./person.png\n" +
11
+ " weshop photo-to-bikini-ai --image ./person.png --prompt 'Bikini on a tropical beach'\n" +
12
+ " weshop photo-to-bikini-ai --image ./person.png --batch 2")
13
+ .requiredOption("--image <path|url>", "Input person photo — local file path or URL")
14
+ .option("--prompt <text>", "Custom bikini scene instruction")
15
+ .option("--batch <count>", "Number of images to generate, 1-16 (default: 1)", (v) => parseInt(v, 10), 1)
16
+ .option("--task-name <name>", "Human-readable label for this run")
17
+ .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
18
+ .action(async (opts) => {
19
+ const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
20
+ if (opts.batch != null)
21
+ params.batchCount = opts.batch;
22
+ const extraInput = {};
23
+ if (opts.taskName)
24
+ extraInput.taskName = opts.taskName;
25
+ await executeRun("photo-to-bikini-ai", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
26
+ });
27
+ //# sourceMappingURL=photo-to-bikini-ai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"photo-to-bikini-ai.js","sourceRoot":"","sources":["../../src/commands/photo-to-bikini-ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,qIAAqI,CAAC;AAExI,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,OAAO,CAAC,oBAAoB,CAAC;KAChE,OAAO,CAAC,6EAA6E,CAAC;KACtF,WAAW,CACV,mFAAmF;IACnF,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,oDAAoD;IACpD,0FAA0F;IAC1F,4DAA4D,CAC7D;KACA,cAAc,CAAC,oBAAoB,EAAE,6CAA6C,CAAC;KACnF,MAAM,CAAC,iBAAiB,EAAE,iCAAiC,CAAC;KAC5D,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,oBAAoB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAC7G,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const pregnantAiCmd: Command;
@@ -0,0 +1,31 @@
1
+ import { Command } from "commander";
2
+ import { executeRun } from "../run-helper.js";
3
+ const DEFAULT_PROMPT = "Imagine what this person would look like when she is pregnant for 8 months. Don't change her outfit or her appearance.";
4
+ export const pregnantAiCmd = new Command("pregnant-ai")
5
+ .summary("Visualize how a person would look pregnant — transforms a portrait photo")
6
+ .description("Transform a portrait photo to show how the person would look 8 months pregnant.\n\n" +
7
+ "Requires one input image of the person. The default prompt preserves the original\n" +
8
+ "outfit and appearance while adding a realistic pregnancy look.\n\n" +
9
+ "Default prompt (used when --prompt is omitted):\n" +
10
+ ` "${DEFAULT_PROMPT}"\n\n` +
11
+ "Examples:\n" +
12
+ " weshop pregnant-ai --image ./person.png\n" +
13
+ " weshop pregnant-ai --image ./person.png --prompt 'Show her 6 months pregnant, keep her dress'\n" +
14
+ " weshop pregnant-ai --image ./person.png --batch 2 --no-wait")
15
+ .requiredOption("--image <path|url>", "Input portrait image — local file path or URL")
16
+ .option("--prompt <text>", "Custom instruction (default: 8-month pregnancy transformation)")
17
+ .option("--batch <count>", "Number of images to generate, 1-16 (default: 1)", (v) => parseInt(v, 10), 1)
18
+ .option("--task-name <name>", "Human-readable label for this run")
19
+ .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
20
+ .action(async (opts) => {
21
+ const params = {
22
+ textDescription: opts.prompt ?? DEFAULT_PROMPT,
23
+ };
24
+ if (opts.batch != null)
25
+ params.batchCount = opts.batch;
26
+ const extraInput = {};
27
+ if (opts.taskName)
28
+ extraInput.taskName = opts.taskName;
29
+ await executeRun("pregnant_ai", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
30
+ });
31
+ //# sourceMappingURL=pregnant-ai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pregnant-ai.js","sourceRoot":"","sources":["../../src/commands/pregnant-ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,wHAAwH,CAAC;AAE3H,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;KACpD,OAAO,CAAC,0EAA0E,CAAC;KACnF,WAAW,CACV,qFAAqF;IACrF,qFAAqF;IACrF,oEAAoE;IACpE,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,6CAA6C;IAC7C,mGAAmG;IACnG,+DAA+D,CAChE;KACA,cAAc,CAAC,oBAAoB,EAAE,+CAA+C,CAAC;KACrF,MAAM,CAAC,iBAAiB,EAAE,gEAAgE,CAAC;KAC3F,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B;QACtC,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc;KAC/C,CAAC;IACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IAEvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAEvD,MAAM,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACtG,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const ps2FilterCmd: Command;
@@ -0,0 +1,28 @@
1
+ import { Command } from "commander";
2
+ import { executeRun } from "../run-helper.js";
3
+ const DEFAULT_PROMPT = "Turn this person into a PS2 Sims game character. 3D but blurry texture, try replicate exactly as the game.";
4
+ export const ps2FilterCmd = new Command("ps2-filter")
5
+ .summary("AI PS2 filter — transform a photo into a retro PS2-era Sims game character")
6
+ .description("Transform a portrait photo into a retro PS2-style 3D game character with blurry\n" +
7
+ "low-res textures, replicating the look of early 2000s Sims games.\n\n" +
8
+ "Default prompt (used when --prompt is omitted):\n" +
9
+ ` "${DEFAULT_PROMPT}"\n\n` +
10
+ "Examples:\n" +
11
+ " weshop ps2-filter --image ./person.png\n" +
12
+ " weshop ps2-filter --image ./person.png --prompt 'PS2 era GTA character, blocky polygons'\n" +
13
+ " weshop ps2-filter --image ./person.png --batch 2")
14
+ .requiredOption("--image <path|url>", "Input portrait image — local file path or URL")
15
+ .option("--prompt <text>", "Custom PS2 game style instruction")
16
+ .option("--batch <count>", "Number of images to generate, 1-16 (default: 1)", (v) => parseInt(v, 10), 1)
17
+ .option("--task-name <name>", "Human-readable label for this run")
18
+ .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
19
+ .action(async (opts) => {
20
+ const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
21
+ if (opts.batch != null)
22
+ params.batchCount = opts.batch;
23
+ const extraInput = {};
24
+ if (opts.taskName)
25
+ extraInput.taskName = opts.taskName;
26
+ await executeRun("ps2-filter", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
27
+ });
28
+ //# sourceMappingURL=ps2-filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ps2-filter.js","sourceRoot":"","sources":["../../src/commands/ps2-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,4GAA4G,CAAC;AAE/G,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC;KAClD,OAAO,CAAC,4EAA4E,CAAC;KACrF,WAAW,CACV,mFAAmF;IACnF,uEAAuE;IACvE,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,4CAA4C;IAC5C,8FAA8F;IAC9F,oDAAoD,CACrD;KACA,cAAc,CAAC,oBAAoB,EAAE,+CAA+C,CAAC;KACrF,MAAM,CAAC,iBAAiB,EAAE,mCAAmC,CAAC;KAC9D,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACrG,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const qwenImageEditCmd: Command;