weshop-cli 0.1.0 → 0.2.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 (363) 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 +44 -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 +46 -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 +49 -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 +52 -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 +43 -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 +54 -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 +43 -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 +48 -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 +49 -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 +56 -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 +54 -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 +57 -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 +45 -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 +63 -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 +44 -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 +49 -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 +52 -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 +52 -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 +56 -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 +54 -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 +48 -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 +48 -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 +52 -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 +60 -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 +57 -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 +60 -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 +52 -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 +81 -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 +73 -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 +73 -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 +49 -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 +44 -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 +52 -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 +52 -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 +49 -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 +44 -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 +48 -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 +37 -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 +53 -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 +49 -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 +61 -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 +45 -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 +45 -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 +44 -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 +59 -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 +47 -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 +45 -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 +52 -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 +44 -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 +44 -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 +48 -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 +52 -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 +54 -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 +52 -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 +44 -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 +52 -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 +52 -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 +50 -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 +44 -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 +86 -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 +53 -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 +61 -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 +65 -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 +42 -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 +48 -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 +42 -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 +52 -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 +54 -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 +37 -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 +53 -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 +48 -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 +53 -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 +46 -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 +48 -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 +52 -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 +52 -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 +57 -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 +44 -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 +42 -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 +75 -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 +37 -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 +54 -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 +45 -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 +50 -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 +54 -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 +52 -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 +44 -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 +54 -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 +45 -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 +64 -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 +49 -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 +48 -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 +37 -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 +37 -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 +56 -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 +45 -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 +65 -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 +85 -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 +52 -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 +43 -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 +48 -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 +49 -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 +53 -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 +50 -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 +51 -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 +49 -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 +52 -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 +52 -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 +42 -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 +42 -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 +45 -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 +49 -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 +49 -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 +51 -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/package.json +1 -1
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const aiGeneratedBikiniGirlsCmd: Command;
@@ -0,0 +1,52 @@
1
+ import { Command } from "commander";
2
+ import { resolveImage, submitRun, waitForCompletion } from "../client.js";
3
+ import { printSubmitted, printPollResult, printError } from "../printer.js";
4
+ const DEFAULT_PROMPT = "naturally undress and change the outfit into a thin bikini while keeping body proportions natural. Keep Model dancing tiktok dance.";
5
+ export const aiGeneratedBikiniGirlsCmd = new Command("ai-generated-bikini-girls")
6
+ .summary("AI generated bikini girls — transform a person photo into a bikini model image or video")
7
+ .description("Transform a portrait or full-body photo into a bikini model image or video.\n\n" +
8
+ "Generated type (--generated-type):\n" +
9
+ " video Generate a short video (default)\n" +
10
+ " image Generate a still image\n\n" +
11
+ "Default prompt (used when --prompt is omitted):\n" +
12
+ ` "${DEFAULT_PROMPT}"\n\n` +
13
+ "Examples:\n" +
14
+ " weshop ai-generated-bikini-girls --image ./person.png --prompt 'Bikini model on a beach'\n" +
15
+ " weshop ai-generated-bikini-girls --image ./person.png --generated-type image --batch 2\n" +
16
+ " weshop ai-generated-bikini-girls --image ./person.png --generated-type video --no-wait")
17
+ .requiredOption("--image <path|url>", "Input portrait or full-body photo — local file path or URL")
18
+ .option("--prompt <text>", "Describe the desired bikini model scene")
19
+ .option("--generated-type <type>", "Output type: video (default) or image")
20
+ .option("--batch <count>", "Number of outputs to generate, 1-16 (default: 1)", (v) => parseInt(v, 10), 1)
21
+ .option("--task-name <name>", "Human-readable label for this run")
22
+ .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
23
+ .action(async (opts) => {
24
+ try {
25
+ const { url: imageUrl } = await resolveImage(opts.image);
26
+ const params = {
27
+ textDescription: opts.prompt ?? DEFAULT_PROMPT,
28
+ images: [imageUrl],
29
+ generatedType: opts.generatedType ?? "video",
30
+ };
31
+ if (opts.batch != null)
32
+ params.batchCount = opts.batch;
33
+ const input = { originalImage: imageUrl };
34
+ if (opts.taskName)
35
+ input.taskName = opts.taskName;
36
+ const body = { agent: { name: "ai-generated-bikini-girls", version: "v1.0" }, input, params };
37
+ const { executionId } = await submitRun(body);
38
+ printSubmitted(executionId);
39
+ if (opts.wait !== false) {
40
+ printPollResult(await waitForCompletion(executionId));
41
+ }
42
+ else {
43
+ console.log("[info]");
44
+ console.log(` message: Use 'weshop status ${executionId}' to check progress`);
45
+ }
46
+ }
47
+ catch (err) {
48
+ printError(err);
49
+ process.exit(1);
50
+ }
51
+ });
52
+ //# sourceMappingURL=ai-generated-bikini-girls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-generated-bikini-girls.js","sourceRoot":"","sources":["../../src/commands/ai-generated-bikini-girls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAmB,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,cAAc,GAClB,qIAAqI,CAAC;AAExI,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,OAAO,CAAC,2BAA2B,CAAC;KAC9E,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,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,MAAM,GAA4B;YACtC,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc;YAC9C,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,OAAO;SAC7C,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QACvD,MAAM,KAAK,GAA4B,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;QACnE,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClD,MAAM,IAAI,GAAe,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC1G,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,cAAc,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAAC,eAAe,CAAC,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;QAAC,CAAC;aAC9E,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,WAAW,qBAAqB,CAAC,CAAC;QAAC,CAAC;IACjH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const aiGeneratedPerfectFemaleBodyCmd: Command;
@@ -0,0 +1,52 @@
1
+ import { Command } from "commander";
2
+ import { resolveImage, submitRun, waitForCompletion } from "../client.js";
3
+ import { printSubmitted, printPollResult, printError } from "../printer.js";
4
+ const DEFAULT_PROMPT = "naturally undress and change the outfit into a thin bikini while keeping body proportions natural. Keep Model dancing tiktok dance.";
5
+ export const aiGeneratedPerfectFemaleBodyCmd = new Command("ai-generated-perfect-female-body")
6
+ .summary("AI generated perfect female body — transform a person photo into a bikini model image or video")
7
+ .description("Transform a portrait or full-body photo into a bikini model image or video.\n\n" +
8
+ "Generated type (--generated-type):\n" +
9
+ " video Generate a short video (default)\n" +
10
+ " image Generate a still image\n\n" +
11
+ "Default prompt (used when --prompt is omitted):\n" +
12
+ ` "${DEFAULT_PROMPT}"\n\n` +
13
+ "Examples:\n" +
14
+ " weshop ai-generated-perfect-female-body --image ./person.png --prompt 'Bikini model on a beach'\n" +
15
+ " weshop ai-generated-perfect-female-body --image ./person.png --generated-type image --batch 2\n" +
16
+ " weshop ai-generated-perfect-female-body --image ./person.png --generated-type video --no-wait")
17
+ .requiredOption("--image <path|url>", "Input portrait or full-body photo — local file path or URL")
18
+ .option("--prompt <text>", "Describe the desired bikini model scene")
19
+ .option("--generated-type <type>", "Output type: video (default) or image")
20
+ .option("--batch <count>", "Number of outputs to generate, 1-16 (default: 1)", (v) => parseInt(v, 10), 1)
21
+ .option("--task-name <name>", "Human-readable label for this run")
22
+ .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
23
+ .action(async (opts) => {
24
+ try {
25
+ const { url: imageUrl } = await resolveImage(opts.image);
26
+ const params = {
27
+ textDescription: opts.prompt ?? DEFAULT_PROMPT,
28
+ images: [imageUrl],
29
+ generatedType: opts.generatedType ?? "video",
30
+ };
31
+ if (opts.batch != null)
32
+ params.batchCount = opts.batch;
33
+ const input = { originalImage: imageUrl };
34
+ if (opts.taskName)
35
+ input.taskName = opts.taskName;
36
+ const body = { agent: { name: "ai-generated-perfect-female-body", version: "v1.0" }, input, params };
37
+ const { executionId } = await submitRun(body);
38
+ printSubmitted(executionId);
39
+ if (opts.wait !== false) {
40
+ printPollResult(await waitForCompletion(executionId));
41
+ }
42
+ else {
43
+ console.log("[info]");
44
+ console.log(` message: Use 'weshop status ${executionId}' to check progress`);
45
+ }
46
+ }
47
+ catch (err) {
48
+ printError(err);
49
+ process.exit(1);
50
+ }
51
+ });
52
+ //# sourceMappingURL=ai-generated-perfect-female-body.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-generated-perfect-female-body.js","sourceRoot":"","sources":["../../src/commands/ai-generated-perfect-female-body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAmB,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,cAAc,GAClB,qIAAqI,CAAC;AAExI,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAI,OAAO,CAAC,kCAAkC,CAAC;KAC3F,OAAO,CAAC,gGAAgG,CAAC;KACzG,WAAW,CACV,iFAAiF;IACjF,sCAAsC;IACtC,8CAA8C;IAC9C,sCAAsC;IACtC,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,qGAAqG;IACrG,mGAAmG;IACnG,iGAAiG,CAClG;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,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,MAAM,GAA4B;YACtC,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc;YAC9C,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,OAAO;SAC7C,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QACvD,MAAM,KAAK,GAA4B,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;QACnE,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClD,MAAM,IAAI,GAAe,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,kCAAkC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACjH,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,cAAc,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAAC,eAAe,CAAC,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;QAAC,CAAC;aAC9E,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,WAAW,qBAAqB,CAAC,CAAC;QAAC,CAAC;IACjH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const aiGhostMannequinGeneratorCmd: Command;
@@ -0,0 +1,56 @@
1
+ import { Command } from "commander";
2
+ import { resolveImage, submitRun, waitForCompletion } from "../client.js";
3
+ import { printSubmitted, printPollResult, printError } from "../printer.js";
4
+ const DEFAULT_PROMPT = 'Transform the clothing from the image into a professional "ghost mannequin" photography effect. Remove the original model or body completely. The garment should appear hollow and three-dimensional, retaining the shape as if worn by an invisible form. Clearly show the inside of the neck opening, cuffs, and hem, revealing the inner fabric texture and labels. The clothing is floating against a clean, pure white studio background. Soft studio lighting emphasizes fabric folds and texture.';
5
+ export const aiGhostMannequinGeneratorCmd = new Command("ai-ghost-mannequin-generator")
6
+ .summary("AI ghost mannequin generator — create a professional ghost mannequin effect from a clothing photo")
7
+ .description("Transform a clothing photo into a professional ghost mannequin effect — the garment\n" +
8
+ "appears hollow and 3D as if worn by an invisible form, on a white studio background.\n\n" +
9
+ "Aspect ratio (--aspect-ratio):\n" +
10
+ " auto, 1:1, 2:3, 3:2, 4:3, 3:4, 16:9, 9:16, 21:9 (default: 1:1)\n\n" +
11
+ "Image size (--image-size):\n" +
12
+ " 1K (default), 2K, 4K\n\n" +
13
+ "Default prompt (used when --prompt is omitted):\n" +
14
+ " Ghost mannequin effect, hollow 3D garment, white studio background, fabric texture visible.\n\n" +
15
+ "Examples:\n" +
16
+ " weshop ai-ghost-mannequin-generator --image ./shirt.png\n" +
17
+ " weshop ai-ghost-mannequin-generator --image ./jacket.png --aspect-ratio 3:4 --image-size 2K\n" +
18
+ " weshop ai-ghost-mannequin-generator --image ./dress.png --batch 2")
19
+ .requiredOption("--image <path|url>", "Input clothing photo — local file path or URL")
20
+ .option("--prompt <text>", "Custom ghost mannequin instruction")
21
+ .option("--aspect-ratio <ratio>", "Output aspect ratio: auto, 1:1, 2:3, 3:2, 4:3, 3:4, 16:9, 9:16, 21:9 (default: 1:1)")
22
+ .option("--image-size <size>", "Output resolution: 1K (default), 2K, or 4K")
23
+ .option("--batch <count>", "Number of images to generate, 1-16 (default: 1)", (v) => parseInt(v, 10), 1)
24
+ .option("--task-name <name>", "Human-readable label for this run")
25
+ .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
26
+ .action(async (opts) => {
27
+ try {
28
+ const { url: imageUrl } = await resolveImage(opts.image);
29
+ const params = {
30
+ textDescription: opts.prompt ?? DEFAULT_PROMPT,
31
+ images: [imageUrl],
32
+ aspectRatio: opts.aspectRatio ?? "1:1",
33
+ imageSize: opts.imageSize ?? "1K",
34
+ };
35
+ if (opts.batch != null)
36
+ params.batchCount = opts.batch;
37
+ const input = { originalImage: imageUrl };
38
+ if (opts.taskName)
39
+ input.taskName = opts.taskName;
40
+ const body = { agent: { name: "ai-ghost-mannequin-generator", version: "v1.0" }, input, params };
41
+ const { executionId } = await submitRun(body);
42
+ printSubmitted(executionId);
43
+ if (opts.wait !== false) {
44
+ printPollResult(await waitForCompletion(executionId));
45
+ }
46
+ else {
47
+ console.log("[info]");
48
+ console.log(` message: Use 'weshop status ${executionId}' to check progress`);
49
+ }
50
+ }
51
+ catch (err) {
52
+ printError(err);
53
+ process.exit(1);
54
+ }
55
+ });
56
+ //# sourceMappingURL=ai-ghost-mannequin-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-ghost-mannequin-generator.js","sourceRoot":"","sources":["../../src/commands/ai-ghost-mannequin-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAmB,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,cAAc,GAClB,0eAA0e,CAAC;AAE7e,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,OAAO,CAAC,8BAA8B,CAAC;KACpF,OAAO,CAAC,mGAAmG,CAAC;KAC5G,WAAW,CACV,uFAAuF;IACvF,0FAA0F;IAC1F,kCAAkC;IAClC,uEAAuE;IACvE,8BAA8B;IAC9B,4BAA4B;IAC5B,mDAAmD;IACnD,mGAAmG;IACnG,aAAa;IACb,6DAA6D;IAC7D,iGAAiG;IACjG,qEAAqE,CACtE;KACA,cAAc,CAAC,oBAAoB,EAAE,+CAA+C,CAAC;KACrF,MAAM,CAAC,iBAAiB,EAAE,oCAAoC,CAAC;KAC/D,MAAM,CAAC,wBAAwB,EAAE,qFAAqF,CAAC;KACvH,MAAM,CAAC,qBAAqB,EAAE,4CAA4C,CAAC;KAC3E,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,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,MAAM,GAA4B;YACtC,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc;YAC9C,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK;YACtC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;SAClC,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QACvD,MAAM,KAAK,GAA4B,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;QACnE,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClD,MAAM,IAAI,GAAe,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,8BAA8B,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC7G,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,cAAc,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAAC,eAAe,CAAC,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;QAAC,CAAC;aAC9E,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,WAAW,qBAAqB,CAAC,CAAC;QAAC,CAAC;IACjH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const aiGroupPhotoGeneratorCmd: Command;
@@ -0,0 +1,54 @@
1
+ import { Command } from "commander";
2
+ import { resolveImage, submitRun, waitForCompletion } from "../client.js";
3
+ import { printSubmitted, printPollResult, printError } from "../printer.js";
4
+ const DEFAULT_PROMPT = "Please don't change any elements that I provide. Generate a chaotic and creative multi-media collage with a completely randomized aesthetic. Combine a wide array of contrasting elements: vintage magazine cutouts, neon-colored glitch art, 19th-century botanical illustrations, and sharp vector geometric shapes. The composition should be an experimental mix of textures—including torn glossy paper, rough cardboard, transparent celluloid film, and metallic foil. Incorporate a clashing color palette that shifts randomly across the canvas. Features an unpredictable focal point, layered with 3D drop shadows to create a sense of physical depth. High resolution, maximalist detail, eclectic and avant-garde style.";
5
+ export const aiGroupPhotoGeneratorCmd = new Command("ai-group-photo-generator")
6
+ .summary("AI group photo generator — create a creative group photo or collage from up to 10 images")
7
+ .description("Generate a creative group photo or multi-media collage from up to 10 reference images.\n\n" +
8
+ "Default prompt (used when --prompt is omitted):\n" +
9
+ " Chaotic avant-garde collage mixing vintage cutouts, neon glitch art, botanical\n" +
10
+ " illustrations, and geometric shapes with mixed textures.\n\n" +
11
+ "Examples:\n" +
12
+ " weshop ai-group-photo-generator --image ./photo1.png --image ./photo2.png --image ./photo3.png\n" +
13
+ " weshop ai-group-photo-generator --image ./a.png --image ./b.png --prompt 'Natural group photo on a beach'\n" +
14
+ " weshop ai-group-photo-generator --image ./img1.png --image ./img2.png --batch 2")
15
+ .requiredOption("--image <path|url...>", "Reference images — local file paths or URLs (up to 10)")
16
+ .option("--prompt <text>", "Custom group photo or collage style instruction")
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
+ try {
22
+ const imageList = opts.image;
23
+ if (imageList.length > 10) {
24
+ console.error("[error]\n message: Maximum 10 images allowed");
25
+ process.exit(1);
26
+ }
27
+ const urls = [];
28
+ for (const img of imageList) {
29
+ const { url } = await resolveImage(img);
30
+ urls.push(url);
31
+ }
32
+ const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT, images: urls };
33
+ if (opts.batch != null)
34
+ params.batchCount = opts.batch;
35
+ const input = { originalImage: urls[0] };
36
+ if (opts.taskName)
37
+ input.taskName = opts.taskName;
38
+ const body = { agent: { name: "ai-group-photo-generator", version: "v1.0" }, input, params };
39
+ const { executionId } = await submitRun(body);
40
+ printSubmitted(executionId);
41
+ if (opts.wait !== false) {
42
+ printPollResult(await waitForCompletion(executionId));
43
+ }
44
+ else {
45
+ console.log("[info]");
46
+ console.log(` message: Use 'weshop status ${executionId}' to check progress`);
47
+ }
48
+ }
49
+ catch (err) {
50
+ printError(err);
51
+ process.exit(1);
52
+ }
53
+ });
54
+ //# sourceMappingURL=ai-group-photo-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-group-photo-generator.js","sourceRoot":"","sources":["../../src/commands/ai-group-photo-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAmB,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,cAAc,GAClB,ysBAAysB,CAAC;AAE5sB,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,OAAO,CAAC,0BAA0B,CAAC;KAC5E,OAAO,CAAC,0FAA0F,CAAC;KACnG,WAAW,CACV,4FAA4F;IAC5F,mDAAmD;IACnD,oFAAoF;IACpF,gEAAgE;IAChE,aAAa;IACb,oGAAoG;IACpG,+GAA+G;IAC/G,mFAAmF,CACpF;KACA,cAAc,CAAC,uBAAuB,EAAE,wDAAwD,CAAC;KACjG,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,CAAC;KAC5E,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,IAAI,CAAC;QACH,MAAM,SAAS,GAAa,IAAI,CAAC,KAAK,CAAC;QACvC,IAAI,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAAC,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QAC/G,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAAC,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QACzF,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACzG,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QACvD,MAAM,KAAK,GAA4B,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClD,MAAM,IAAI,GAAe,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACzG,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,cAAc,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAAC,eAAe,CAAC,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;QAAC,CAAC;aAC9E,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,WAAW,qBAAqB,CAAC,CAAC;QAAC,CAAC;IACjH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const aiHairColorChangerCmd: Command;
@@ -0,0 +1,48 @@
1
+ import { Command } from "commander";
2
+ import { resolveImage, submitRun, waitForCompletion } from "../client.js";
3
+ import { printSubmitted, printPollResult, printError } from "../printer.js";
4
+ const DEFAULT_PROMPT = "Change hair color naturally. choose whatever suit the person's skin tone or randomly between Rose Gold/Pinkish Brown/Dark Blue. Don't change hair style or other details.";
5
+ export const aiHairColorChangerCmd = new Command("ai-hair-color-changer")
6
+ .summary("AI hair color changer — change a person's hair color while preserving hairstyle and details")
7
+ .description("Transform a portrait photo by changing the hair color naturally.\n" +
8
+ "Preserves the original hairstyle and all other details.\n\n" +
9
+ "Default prompt (used when --prompt is omitted):\n" +
10
+ ` "${DEFAULT_PROMPT}"\n\n` +
11
+ "Examples:\n" +
12
+ " weshop ai-hair-color-changer --image ./person.png\n" +
13
+ " weshop ai-hair-color-changer --image ./person.png --prompt 'Change hair to platinum blonde'\n" +
14
+ " weshop ai-hair-color-changer --image ./person.png --batch 4")
15
+ .requiredOption("--image <path|url>", "Input portrait image — local file path or URL")
16
+ .option("--prompt <text>", "Custom hair color instruction (default: AI-chosen color for skin tone)")
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
+ try {
22
+ const { url: imageUrl } = await resolveImage(opts.image);
23
+ const params = {
24
+ textDescription: opts.prompt ?? DEFAULT_PROMPT,
25
+ images: [imageUrl],
26
+ };
27
+ if (opts.batch != null)
28
+ params.batchCount = opts.batch;
29
+ const input = { originalImage: imageUrl };
30
+ if (opts.taskName)
31
+ input.taskName = opts.taskName;
32
+ const body = { agent: { name: "ai-hair-color-changer", version: "v1.0" }, input, params };
33
+ const { executionId } = await submitRun(body);
34
+ printSubmitted(executionId);
35
+ if (opts.wait !== false) {
36
+ printPollResult(await waitForCompletion(executionId));
37
+ }
38
+ else {
39
+ console.log("[info]");
40
+ console.log(` message: Use 'weshop status ${executionId}' to check progress`);
41
+ }
42
+ }
43
+ catch (err) {
44
+ printError(err);
45
+ process.exit(1);
46
+ }
47
+ });
48
+ //# sourceMappingURL=ai-hair-color-changer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-hair-color-changer.js","sourceRoot":"","sources":["../../src/commands/ai-hair-color-changer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAmB,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,cAAc,GAClB,2KAA2K,CAAC;AAE9K,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,OAAO,CAAC,uBAAuB,CAAC;KACtE,OAAO,CAAC,6FAA6F,CAAC;KACtG,WAAW,CACV,oEAAoE;IACpE,6DAA6D;IAC7D,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,uDAAuD;IACvD,iGAAiG;IACjG,+DAA+D,CAChE;KACA,cAAc,CAAC,oBAAoB,EAAE,+CAA+C,CAAC;KACrF,MAAM,CAAC,iBAAiB,EAAE,wEAAwE,CAAC;KACnG,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,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,MAAM,GAA4B;YACtC,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc;YAC9C,MAAM,EAAE,CAAC,QAAQ,CAAC;SACnB,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QACvD,MAAM,KAAK,GAA4B,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;QACnE,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClD,MAAM,IAAI,GAAe,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACtG,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,cAAc,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACxB,eAAe,CAAC,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,iCAAiC,WAAW,qBAAqB,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const aiHairstyleChangerCmd: Command;
@@ -0,0 +1,48 @@
1
+ import { Command } from "commander";
2
+ import { resolveImage, submitRun, waitForCompletion } from "../client.js";
3
+ import { printSubmitted, printPollResult, printError } from "../printer.js";
4
+ const DEFAULT_PROMPT = "Change to [short hair]";
5
+ export const aiHairstyleChangerCmd = new Command("ai-hairstyle-changer")
6
+ .summary("AI hairstyle changer — change a person's hairstyle from a photo or text description")
7
+ .description("Change a person's hairstyle using AI. Image is optional.\n\n" +
8
+ "Default prompt (used when --prompt is omitted):\n" +
9
+ ` "${DEFAULT_PROMPT}"\n\n` +
10
+ "Examples:\n" +
11
+ " weshop ai-hairstyle-changer --image ./person.png\n" +
12
+ " weshop ai-hairstyle-changer --image ./person.png --prompt 'Change to long wavy hair, dark brown'\n" +
13
+ " weshop ai-hairstyle-changer --image ./person.png --prompt 'Pixie cut with side swept bangs' --batch 4")
14
+ .option("--image <path|url>", "Reference person image — local file path or URL (optional)")
15
+ .option("--prompt <text>", "Describe the desired hairstyle (default: short hair)")
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
+ try {
21
+ const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
22
+ if (opts.batch != null)
23
+ params.batchCount = opts.batch;
24
+ const input = {};
25
+ if (opts.taskName)
26
+ input.taskName = opts.taskName;
27
+ if (opts.image) {
28
+ const { url: imageUrl } = await resolveImage(opts.image);
29
+ params.images = [imageUrl];
30
+ input.originalImage = imageUrl;
31
+ }
32
+ const body = { agent: { name: "ai-hairstyle-changer", version: "v1.0" }, input, params };
33
+ const { executionId } = await submitRun(body);
34
+ printSubmitted(executionId);
35
+ if (opts.wait !== false) {
36
+ printPollResult(await waitForCompletion(executionId));
37
+ }
38
+ else {
39
+ console.log("[info]");
40
+ console.log(` message: Use 'weshop status ${executionId}' to check progress`);
41
+ }
42
+ }
43
+ catch (err) {
44
+ printError(err);
45
+ process.exit(1);
46
+ }
47
+ });
48
+ //# sourceMappingURL=ai-hairstyle-changer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-hairstyle-changer.js","sourceRoot":"","sources":["../../src/commands/ai-hairstyle-changer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAmB,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,cAAc,GAAG,wBAAwB,CAAC;AAEhD,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,OAAO,CAAC,sBAAsB,CAAC;KACrE,OAAO,CAAC,qFAAqF,CAAC;KAC9F,WAAW,CACV,8DAA8D;IAC9D,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,sDAAsD;IACtD,sGAAsG;IACtG,yGAAyG,CAC1G;KACA,MAAM,CAAC,oBAAoB,EAAE,4DAA4D,CAAC;KAC1F,MAAM,CAAC,iBAAiB,EAAE,sDAAsD,CAAC;KACjF,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,IAAI,CAAC;QACH,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;QAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QACvD,MAAM,KAAK,GAA4B,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzD,MAAM,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC3B,KAAK,CAAC,aAAa,GAAG,QAAQ,CAAC;QACjC,CAAC;QACD,MAAM,IAAI,GAAe,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACrG,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,cAAc,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAAC,eAAe,CAAC,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;QAAC,CAAC;aAC9E,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,WAAW,qBAAqB,CAAC,CAAC;QAAC,CAAC;IACjH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const aiHotGirlImageCmd: Command;
@@ -0,0 +1,52 @@
1
+ import { Command } from "commander";
2
+ import { resolveImage, submitRun, waitForCompletion } from "../client.js";
3
+ import { printSubmitted, printPollResult, printError } from "../printer.js";
4
+ const DEFAULT_PROMPT = "naturally undress and change the outfit into a thin bikini while keeping body proportions natural. Keep Model dancing tiktok dance.";
5
+ export const aiHotGirlImageCmd = new Command("ai-hot-girl-image")
6
+ .summary("AI hot girl image — transform a person photo into a bikini model image or video")
7
+ .description("Transform a portrait or full-body photo into a bikini model image or video.\n\n" +
8
+ "Generated type (--generated-type):\n" +
9
+ " video Generate a short video (default)\n" +
10
+ " image Generate a still image\n\n" +
11
+ "Default prompt (used when --prompt is omitted):\n" +
12
+ ` "${DEFAULT_PROMPT}"\n\n` +
13
+ "Examples:\n" +
14
+ " weshop ai-hot-girl-image --image ./person.png --prompt 'Bikini model on a beach'\n" +
15
+ " weshop ai-hot-girl-image --image ./person.png --generated-type image --batch 2\n" +
16
+ " weshop ai-hot-girl-image --image ./person.png --generated-type video --no-wait")
17
+ .requiredOption("--image <path|url>", "Input portrait or full-body photo — local file path or URL")
18
+ .option("--prompt <text>", "Describe the desired bikini model scene")
19
+ .option("--generated-type <type>", "Output type: video (default) or image")
20
+ .option("--batch <count>", "Number of outputs to generate, 1-16 (default: 1)", (v) => parseInt(v, 10), 1)
21
+ .option("--task-name <name>", "Human-readable label for this run")
22
+ .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
23
+ .action(async (opts) => {
24
+ try {
25
+ const { url: imageUrl } = await resolveImage(opts.image);
26
+ const params = {
27
+ textDescription: opts.prompt ?? DEFAULT_PROMPT,
28
+ images: [imageUrl],
29
+ generatedType: opts.generatedType ?? "video",
30
+ };
31
+ if (opts.batch != null)
32
+ params.batchCount = opts.batch;
33
+ const input = { originalImage: imageUrl };
34
+ if (opts.taskName)
35
+ input.taskName = opts.taskName;
36
+ const body = { agent: { name: "ai-hot-girl-image", version: "v1.0" }, input, params };
37
+ const { executionId } = await submitRun(body);
38
+ printSubmitted(executionId);
39
+ if (opts.wait !== false) {
40
+ printPollResult(await waitForCompletion(executionId));
41
+ }
42
+ else {
43
+ console.log("[info]");
44
+ console.log(` message: Use 'weshop status ${executionId}' to check progress`);
45
+ }
46
+ }
47
+ catch (err) {
48
+ printError(err);
49
+ process.exit(1);
50
+ }
51
+ });
52
+ //# sourceMappingURL=ai-hot-girl-image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-hot-girl-image.js","sourceRoot":"","sources":["../../src/commands/ai-hot-girl-image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAmB,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,cAAc,GAClB,qIAAqI,CAAC;AAExI,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAC,mBAAmB,CAAC;KAC9D,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,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,MAAM,GAA4B;YACtC,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc;YAC9C,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,OAAO;SAC7C,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QACvD,MAAM,KAAK,GAA4B,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;QACnE,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClD,MAAM,IAAI,GAAe,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAClG,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,cAAc,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAAC,eAAe,CAAC,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;QAAC,CAAC;aAC9E,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,WAAW,qBAAqB,CAAC,CAAC;QAAC,CAAC;IACjH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const aiImageAnimationCmd: Command;
@@ -0,0 +1,60 @@
1
+ import { Command } from "commander";
2
+ import { resolveImage, submitRun, waitForCompletion } from "../client.js";
3
+ import { printSubmitted, printPollResult, printError } from "../printer.js";
4
+ const DEFAULT_PROMPT = "Turn static image into dynamic video";
5
+ export const aiImageAnimationCmd = new Command("ai-image-animation")
6
+ .summary("AI image animation — animate a static image into a dynamic video using Kling")
7
+ .description("Animate a static image into a dynamic video. Results come back in video[N].url.\n\n" +
8
+ "Model (--model):\n" +
9
+ " Kling_3_0 Kling 3.0 — supports 3s-15s duration (default)\n" +
10
+ " Kling_2_6 Kling 2.6 — supports 5s, 10s duration\n\n" +
11
+ "Duration (--duration):\n" +
12
+ " Kling_3_0: 3s, 4s, 5s, 6s, 7s, 8s, 9s, 10s, 11s, 12s, 13s, 14s, 15s (default: 5s)\n" +
13
+ " Kling_2_6: 5s, 10s (default: 5s)\n\n" +
14
+ "Generate audio (--generate-audio): true or false (default: true)\n\n" +
15
+ "Default prompt (used when --prompt is omitted):\n" +
16
+ ` "${DEFAULT_PROMPT}"\n\n` +
17
+ "Examples:\n" +
18
+ " weshop ai-image-animation --image ./photo.png --prompt 'Gentle breeze, leaves rustling'\n" +
19
+ " weshop ai-image-animation --image ./portrait.png --prompt 'Person slowly turns and smiles' --model Kling_3_0 --duration 8s\n" +
20
+ " weshop ai-image-animation --image ./scene.png --prompt 'Camera pan left' --generate-audio false")
21
+ .requiredOption("--image <path|url>", "Input image to animate — local file path or URL")
22
+ .requiredOption("--prompt <text>", "Describe the desired animation or motion")
23
+ .option("--model <name>", "Kling model: Kling_3_0 (default) or Kling_2_6")
24
+ .option("--duration <time>", "Video duration, e.g. 5s, 10s (default: 5s)")
25
+ .option("--generate-audio <bool>", "Generate audio: true (default) or false")
26
+ .option("--batch <count>", "Number of videos to generate, 1-16 (default: 1)", (v) => parseInt(v, 10), 1)
27
+ .option("--task-name <name>", "Human-readable label for this run")
28
+ .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
29
+ .action(async (opts) => {
30
+ try {
31
+ const { url: imageUrl } = await resolveImage(opts.image);
32
+ const params = {
33
+ textDescription: opts.prompt,
34
+ images: [imageUrl],
35
+ modelName: opts.model ?? "Kling_3_0",
36
+ duration: opts.duration ?? "5s",
37
+ generateAudio: opts.generateAudio ?? "true",
38
+ };
39
+ if (opts.batch != null)
40
+ params.batchCount = opts.batch;
41
+ const input = { originalImage: imageUrl };
42
+ if (opts.taskName)
43
+ input.taskName = opts.taskName;
44
+ const body = { agent: { name: "ai-image-animation", version: "v1.0" }, input, params };
45
+ const { executionId } = await submitRun(body);
46
+ printSubmitted(executionId);
47
+ if (opts.wait !== false) {
48
+ printPollResult(await waitForCompletion(executionId));
49
+ }
50
+ else {
51
+ console.log("[info]");
52
+ console.log(` message: Use 'weshop status ${executionId}' to check progress`);
53
+ }
54
+ }
55
+ catch (err) {
56
+ printError(err);
57
+ process.exit(1);
58
+ }
59
+ });
60
+ //# sourceMappingURL=ai-image-animation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-image-animation.js","sourceRoot":"","sources":["../../src/commands/ai-image-animation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAmB,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,cAAc,GAAG,sCAAsC,CAAC;AAE9D,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,OAAO,CAAC,oBAAoB,CAAC;KACjE,OAAO,CAAC,8EAA8E,CAAC;KACvF,WAAW,CACV,qFAAqF;IACrF,oBAAoB;IACpB,gEAAgE;IAChE,yDAAyD;IACzD,0BAA0B;IAC1B,yFAAyF;IACzF,0CAA0C;IAC1C,sEAAsE;IACtE,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,6FAA6F;IAC7F,gIAAgI;IAChI,mGAAmG,CACpG;KACA,cAAc,CAAC,oBAAoB,EAAE,iDAAiD,CAAC;KACvF,cAAc,CAAC,iBAAiB,EAAE,0CAA0C,CAAC;KAC7E,MAAM,CAAC,gBAAgB,EAAE,+CAA+C,CAAC;KACzE,MAAM,CAAC,mBAAmB,EAAE,4CAA4C,CAAC;KACzE,MAAM,CAAC,yBAAyB,EAAE,yCAAyC,CAAC;KAC5E,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,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,MAAM,GAA4B;YACtC,eAAe,EAAE,IAAI,CAAC,MAAM;YAC5B,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,WAAW;YACpC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;YAC/B,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,MAAM;SAC5C,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QACvD,MAAM,KAAK,GAA4B,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;QACnE,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClD,MAAM,IAAI,GAAe,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACnG,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,cAAc,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAAC,eAAe,CAAC,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;QAAC,CAAC;aAC9E,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,WAAW,qBAAqB,CAAC,CAAC;QAAC,CAAC;IACjH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const aiImageCombinerCmd: Command;
@@ -0,0 +1,57 @@
1
+ import { Command } from "commander";
2
+ import { resolveImage, submitRun, waitForCompletion } from "../client.js";
3
+ import { printSubmitted, printPollResult, printError } from "../printer.js";
4
+ const DEFAULT_PROMPT = "Merge these two photos together naturally. Don't simply put element on the another image, try to generate a merged photo.";
5
+ export const aiImageCombinerCmd = new Command("ai-image-combiner")
6
+ .summary("AI image combiner — naturally merge two photos into a single cohesive image")
7
+ .description("Merge two photos together into a single naturally blended image.\n" +
8
+ "Requires exactly 2 images. Reference them in your prompt as 'image 1' and 'image 2'.\n\n" +
9
+ "Default prompt (used when --prompt is omitted):\n" +
10
+ ` "${DEFAULT_PROMPT}"\n\n` +
11
+ "Examples:\n" +
12
+ " weshop ai-image-combiner --image ./photo1.png --image ./photo2.png\n" +
13
+ " weshop ai-image-combiner --image ./person.png --image ./background.png --prompt 'Place image 1 person into image 2 scene naturally'\n" +
14
+ " weshop ai-image-combiner --image ./a.png --image ./b.png --batch 2")
15
+ .requiredOption("--image <path|url...>", "Two images to combine — local file paths or URLs (exactly 2 required)")
16
+ .option("--prompt <text>", "Custom merge instruction (default: naturally merge both photos)")
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
+ try {
22
+ const imageList = opts.image;
23
+ if (imageList.length !== 2) {
24
+ console.error("[error]\n message: Exactly 2 images required for ai-image-combiner");
25
+ process.exit(1);
26
+ }
27
+ const urls = [];
28
+ for (const img of imageList) {
29
+ const { url } = await resolveImage(img);
30
+ urls.push(url);
31
+ }
32
+ const params = {
33
+ textDescription: opts.prompt ?? DEFAULT_PROMPT,
34
+ images: urls,
35
+ };
36
+ if (opts.batch != null)
37
+ params.batchCount = opts.batch;
38
+ const input = { originalImage: urls[0] };
39
+ if (opts.taskName)
40
+ input.taskName = opts.taskName;
41
+ const body = { agent: { name: "ai-image-combiner", version: "v1.0" }, input, params };
42
+ const { executionId } = await submitRun(body);
43
+ printSubmitted(executionId);
44
+ if (opts.wait !== false) {
45
+ printPollResult(await waitForCompletion(executionId));
46
+ }
47
+ else {
48
+ console.log("[info]");
49
+ console.log(` message: Use 'weshop status ${executionId}' to check progress`);
50
+ }
51
+ }
52
+ catch (err) {
53
+ printError(err);
54
+ process.exit(1);
55
+ }
56
+ });
57
+ //# sourceMappingURL=ai-image-combiner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-image-combiner.js","sourceRoot":"","sources":["../../src/commands/ai-image-combiner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAmB,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,cAAc,GAClB,2HAA2H,CAAC;AAE9H,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,OAAO,CAAC,mBAAmB,CAAC;KAC/D,OAAO,CAAC,6EAA6E,CAAC;KACtF,WAAW,CACV,oEAAoE;IACpE,0FAA0F;IAC1F,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,wEAAwE;IACxE,yIAAyI;IACzI,sEAAsE,CACvE;KACA,cAAc,CAAC,uBAAuB,EAAE,uEAAuE,CAAC;KAChH,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,IAAI,CAAC;QACH,MAAM,SAAS,GAAa,IAAI,CAAC,KAAK,CAAC;QACvC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;YACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;QACD,MAAM,MAAM,GAA4B;YACtC,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc;YAC9C,MAAM,EAAE,IAAI;SACb,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QACvD,MAAM,KAAK,GAA4B,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClD,MAAM,IAAI,GAAe,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAClG,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,cAAc,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACxB,eAAe,CAAC,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,iCAAiC,WAAW,qBAAqB,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const aiLandscapeDesignFreeCmd: Command;