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,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 skin tone to a healthy wheat color while keeping original face detail and lighting composition.";
5
+ export const skinColorChangerCmd = new Command("skin-color-changer")
6
+ .summary("AI skin color changer — change a person's skin tone while preserving face details")
7
+ .description("Transform a portrait photo by changing the skin tone while preserving original\n" +
8
+ "face details and lighting composition.\n\n" +
9
+ "Default prompt (used when --prompt is omitted):\n" +
10
+ ` "${DEFAULT_PROMPT}"\n\n` +
11
+ "Examples:\n" +
12
+ " weshop skin-color-changer --image ./person.png\n" +
13
+ " weshop skin-color-changer --image ./person.png --prompt 'Change skin tone to a deep tan'\n" +
14
+ " weshop skin-color-changer --image ./person.png --batch 2")
15
+ .requiredOption("--image <path|url>", "Input portrait image — local file path or URL")
16
+ .option("--prompt <text>", "Custom skin tone instruction (default: healthy wheat color)")
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: "skin-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=skin-color-changer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skin-color-changer.js","sourceRoot":"","sources":["../../src/commands/skin-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,wGAAwG,CAAC;AAE3G,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,OAAO,CAAC,oBAAoB,CAAC;KACjE,OAAO,CAAC,mFAAmF,CAAC;KAC5F,WAAW,CACV,kFAAkF;IAClF,4CAA4C;IAC5C,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,oDAAoD;IACpD,8FAA8F;IAC9F,4DAA4D,CAC7D;KACA,cAAc,CAAC,oBAAoB,EAAE,+CAA+C,CAAC;KACrF,MAAM,CAAC,iBAAiB,EAAE,6DAA6D,CAAC;KACxF,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,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;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 sonicOcCmd: Command;
@@ -0,0 +1,49 @@
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 = "Make a sonic oc based on this person's appearance";
5
+ export const sonicOcCmd = new Command("sonic-oc")
6
+ .summary("AI Sonic OC maker — create a Sonic the Hedgehog original character based on a person's appearance")
7
+ .description("Generate a Sonic the Hedgehog-style original character (OC) based on a person's appearance.\n" +
8
+ "Image is optional — you can generate a Sonic OC from a text description alone.\n\n" +
9
+ "Default prompt (used when --prompt is omitted):\n" +
10
+ ` "${DEFAULT_PROMPT}"\n\n` +
11
+ "Examples:\n" +
12
+ " weshop sonic-oc --image ./person.png\n" +
13
+ " weshop sonic-oc --prompt 'A fast blue hedgehog OC with red sneakers and a confident pose'\n" +
14
+ " weshop sonic-oc --image ./person.png --prompt 'Sonic OC with purple fur and gold rings' --batch 2")
15
+ .option("--image <path|url>", "Reference person image — local file path or URL (optional)")
16
+ .option("--prompt <text>", "Custom Sonic OC description (default: based on person's appearance)")
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 params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
23
+ if (opts.batch != null)
24
+ params.batchCount = opts.batch;
25
+ const input = {};
26
+ if (opts.taskName)
27
+ input.taskName = opts.taskName;
28
+ if (opts.image) {
29
+ const { url: imageUrl } = await resolveImage(opts.image);
30
+ params.images = [imageUrl];
31
+ input.originalImage = imageUrl;
32
+ }
33
+ const body = { agent: { name: "sonic-oc", version: "v1.0" }, input, params };
34
+ const { executionId } = await submitRun(body);
35
+ printSubmitted(executionId);
36
+ if (opts.wait !== false) {
37
+ printPollResult(await waitForCompletion(executionId));
38
+ }
39
+ else {
40
+ console.log("[info]");
41
+ console.log(` message: Use 'weshop status ${executionId}' to check progress`);
42
+ }
43
+ }
44
+ catch (err) {
45
+ printError(err);
46
+ process.exit(1);
47
+ }
48
+ });
49
+ //# sourceMappingURL=sonic-oc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sonic-oc.js","sourceRoot":"","sources":["../../src/commands/sonic-oc.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,mDAAmD,CAAC;AAE3E,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;KAC9C,OAAO,CAAC,mGAAmG,CAAC;KAC5G,WAAW,CACV,+FAA+F;IAC/F,oFAAoF;IACpF,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,0CAA0C;IAC1C,+FAA+F;IAC/F,qGAAqG,CACtG;KACA,MAAM,CAAC,oBAAoB,EAAE,4DAA4D,CAAC;KAC1F,MAAM,CAAC,iBAAiB,EAAE,qEAAqE,CAAC;KAChG,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,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACzF,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 sora2Cmd: Command;
@@ -0,0 +1,53 @@
1
+ import { Command } from "commander";
2
+ import { resolveImage, submitRun, waitForCompletion } from "../client.js";
3
+ import { printSubmitted, printPollResult, printError } from "../printer.js";
4
+ export const sora2Cmd = new Command("sora-2")
5
+ .summary("Sora 2 video generator — create cinematic videos with realistic physics using OpenAI Sora 2")
6
+ .description("Generate cinematic videos with realistic physics and storytelling using Sora 2.\n" +
7
+ "Results come back in video[N].url.\n\n" +
8
+ "Duration (--duration):\n" +
9
+ " 4s (default), 8s, 12s\n\n" +
10
+ "Aspect ratio (--aspect-ratio):\n" +
11
+ " 16:9 (default), 9:16\n\n" +
12
+ "Examples:\n" +
13
+ " weshop sora-2 --image ./scene.png --prompt 'A spaceship launching into orbit'\n" +
14
+ " weshop sora-2 --image ./photo.png --prompt 'Person walks through a rainy city' --duration 8s\n" +
15
+ " weshop sora-2 --image ./landscape.png --prompt 'Time-lapse of clouds moving' --aspect-ratio 16:9 --no-wait")
16
+ .requiredOption("--image <path|url>", "Input image — local file path or URL")
17
+ .requiredOption("--prompt <text>", "Describe the desired video scene")
18
+ .option("--duration <time>", "Video duration: 4s (default), 8s, or 12s")
19
+ .option("--aspect-ratio <ratio>", "Output aspect ratio: 16:9 (default) or 9:16")
20
+ .option("--batch <count>", "Number of videos 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,
28
+ images: [imageUrl],
29
+ duration: opts.duration ?? "4s",
30
+ aspectRatio: opts.aspectRatio ?? "16:9",
31
+ };
32
+ if (opts.batch != null)
33
+ params.batchCount = opts.batch;
34
+ const input = { originalImage: imageUrl };
35
+ if (opts.taskName)
36
+ input.taskName = opts.taskName;
37
+ const body = { agent: { name: "sora-2", version: "v1.0" }, input, params };
38
+ const { executionId } = await submitRun(body);
39
+ printSubmitted(executionId);
40
+ if (opts.wait !== false) {
41
+ printPollResult(await waitForCompletion(executionId));
42
+ }
43
+ else {
44
+ console.log("[info]");
45
+ console.log(` message: Use 'weshop status ${executionId}' to check progress`);
46
+ }
47
+ }
48
+ catch (err) {
49
+ printError(err);
50
+ process.exit(1);
51
+ }
52
+ });
53
+ //# sourceMappingURL=sora-2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sora-2.js","sourceRoot":"","sources":["../../src/commands/sora-2.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,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC1C,OAAO,CAAC,6FAA6F,CAAC;KACtG,WAAW,CACV,mFAAmF;IACnF,wCAAwC;IACxC,0BAA0B;IAC1B,6BAA6B;IAC7B,kCAAkC;IAClC,4BAA4B;IAC5B,aAAa;IACb,mFAAmF;IACnF,kGAAkG;IAClG,8GAA8G,CAC/G;KACA,cAAc,CAAC,oBAAoB,EAAE,sCAAsC,CAAC;KAC5E,cAAc,CAAC,iBAAiB,EAAE,kCAAkC,CAAC;KACrE,MAAM,CAAC,mBAAmB,EAAE,0CAA0C,CAAC;KACvE,MAAM,CAAC,wBAAwB,EAAE,6CAA6C,CAAC;KAC/E,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,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;YAC/B,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,MAAM;SACxC,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,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACvF,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 sprunkiOcMakerCmd: Command;
@@ -0,0 +1,50 @@
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 person in the uploaded photo into a Sprunki-style original character (OC). Keep the same facial identity, hairstyle, and key proportions, while redesigning the character in a colorful, playful Sprunki cartoon aesthetic. Big expressive eyes, simplified geometric shapes, smooth outlines, vibrant pastel color palette, soft shading, clean vector-like rendering, cute and energetic mood, stylized costume details, character sheet illustration quality, centered composition, high detail, 4k, masterpiece.";
5
+ export const sprunkiOcMakerCmd = new Command("sprunki-oc-maker")
6
+ .summary("AI Sprunki OC maker — create a Sprunki-style original character from a person photo")
7
+ .description("Transform a person photo into a Sprunki-style original character (OC) with colorful\n" +
8
+ "cartoon aesthetics. Image is optional.\n\n" +
9
+ "Default prompt (used when --prompt is omitted):\n" +
10
+ " Sprunki-style OC with big expressive eyes, vibrant pastel colors, smooth outlines,\n" +
11
+ " preserving facial identity and key proportions.\n\n" +
12
+ "Examples:\n" +
13
+ " weshop sprunki-oc-maker --image ./person.png\n" +
14
+ " weshop sprunki-oc-maker --prompt 'Sprunki OC with purple hair and star accessories'\n" +
15
+ " weshop sprunki-oc-maker --image ./person.png --batch 2")
16
+ .option("--image <path|url>", "Reference person image — local file path or URL (optional)")
17
+ .option("--prompt <text>", "Custom Sprunki OC description")
18
+ .option("--batch <count>", "Number of images to generate, 1-16 (default: 1)", (v) => parseInt(v, 10), 1)
19
+ .option("--task-name <name>", "Human-readable label for this run")
20
+ .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
21
+ .action(async (opts) => {
22
+ try {
23
+ const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
24
+ if (opts.batch != null)
25
+ params.batchCount = opts.batch;
26
+ const input = {};
27
+ if (opts.taskName)
28
+ input.taskName = opts.taskName;
29
+ if (opts.image) {
30
+ const { url: imageUrl } = await resolveImage(opts.image);
31
+ params.images = [imageUrl];
32
+ input.originalImage = imageUrl;
33
+ }
34
+ const body = { agent: { name: "sprunki-oc-maker", version: "v1.0" }, input, params };
35
+ const { executionId } = await submitRun(body);
36
+ printSubmitted(executionId);
37
+ if (opts.wait !== false) {
38
+ printPollResult(await waitForCompletion(executionId));
39
+ }
40
+ else {
41
+ console.log("[info]");
42
+ console.log(` message: Use 'weshop status ${executionId}' to check progress`);
43
+ }
44
+ }
45
+ catch (err) {
46
+ printError(err);
47
+ process.exit(1);
48
+ }
49
+ });
50
+ //# sourceMappingURL=sprunki-oc-maker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sprunki-oc-maker.js","sourceRoot":"","sources":["../../src/commands/sprunki-oc-maker.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,ogBAAogB,CAAC;AAEvgB,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAC,kBAAkB,CAAC;KAC7D,OAAO,CAAC,qFAAqF,CAAC;KAC9F,WAAW,CACV,uFAAuF;IACvF,4CAA4C;IAC5C,mDAAmD;IACnD,wFAAwF;IACxF,uDAAuD;IACvD,aAAa;IACb,kDAAkD;IAClD,yFAAyF;IACzF,0DAA0D,CAC3D;KACA,MAAM,CAAC,oBAAoB,EAAE,4DAA4D,CAAC;KAC1F,MAAM,CAAC,iBAAiB,EAAE,+BAA+B,CAAC;KAC1D,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,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACjG,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 squareFaceIconGeneratorCmd: Command;
@@ -0,0 +1,51 @@
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 = "A minimalist flat-art vector illustration of a stylized anime face, Japanense style drawing. The face must be a square close-up 1:1 ratio, no background. No gradients, solid colors only, 2D minimalist aesthetic, no background.";
5
+ export const squareFaceIconGeneratorCmd = new Command("square-face-icon-generator")
6
+ .summary("AI square face icon generator — create a minimalist anime-style square face avatar from a photo")
7
+ .description("Generate a minimalist flat-art anime-style square face icon from a reference photo.\n" +
8
+ "Image is optional — text-only generation is supported.\n\n" +
9
+ "The output is a 1:1 square icon with solid colors, no gradients, and a 2D minimalist aesthetic.\n" +
10
+ "Features include stylized eyes, nose, mouth, skin tone, hair, and accessories (glasses if present).\n\n" +
11
+ "Default prompt (used when --prompt is omitted):\n" +
12
+ " Minimalist flat-art anime face, 1:1 square, solid colors, no background.\n\n" +
13
+ "Examples:\n" +
14
+ " weshop square-face-icon-generator --image ./person.png\n" +
15
+ " weshop square-face-icon-generator --prompt 'Anime face icon, blue hair, happy expression'\n" +
16
+ " weshop square-face-icon-generator --image ./person.png --batch 4")
17
+ .option("--image <path|url>", "Reference portrait image — local file path or URL (optional)")
18
+ .option("--prompt <text>", "Custom face icon description")
19
+ .option("--batch <count>", "Number of images 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
+ try {
24
+ const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
25
+ if (opts.batch != null)
26
+ params.batchCount = opts.batch;
27
+ const input = {};
28
+ if (opts.taskName)
29
+ input.taskName = opts.taskName;
30
+ if (opts.image) {
31
+ const { url: imageUrl } = await resolveImage(opts.image);
32
+ params.images = [imageUrl];
33
+ input.originalImage = imageUrl;
34
+ }
35
+ const body = { agent: { name: "square-face-icon-generator", version: "v1.0" }, input, params };
36
+ const { executionId } = await submitRun(body);
37
+ printSubmitted(executionId);
38
+ if (opts.wait !== false) {
39
+ printPollResult(await waitForCompletion(executionId));
40
+ }
41
+ else {
42
+ console.log("[info]");
43
+ console.log(` message: Use 'weshop status ${executionId}' to check progress`);
44
+ }
45
+ }
46
+ catch (err) {
47
+ printError(err);
48
+ process.exit(1);
49
+ }
50
+ });
51
+ //# sourceMappingURL=square-face-icon-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"square-face-icon-generator.js","sourceRoot":"","sources":["../../src/commands/square-face-icon-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,oOAAoO,CAAC;AAEvO,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,OAAO,CAAC,4BAA4B,CAAC;KAChF,OAAO,CAAC,iGAAiG,CAAC;KAC1G,WAAW,CACV,uFAAuF;IACvF,4DAA4D;IAC5D,mGAAmG;IACnG,yGAAyG;IACzG,mDAAmD;IACnD,gFAAgF;IAChF,aAAa;IACb,4DAA4D;IAC5D,+FAA+F;IAC/F,oEAAoE,CACrE;KACA,MAAM,CAAC,oBAAoB,EAAE,8DAA8D,CAAC;KAC5F,MAAM,CAAC,iBAAiB,EAAE,8BAA8B,CAAC;KACzD,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,4BAA4B,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC3G,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 stardewValleyPortraitMakerCmd: Command;
@@ -0,0 +1,49 @@
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 = "Generate a Stardew Valley Style Head Portrait image, 1:1 ratio, 45 angle toward left, try to replicate exactly as the game.";
5
+ export const stardewValleyPortraitMakerCmd = new Command("stardew-valley-portrait-maker")
6
+ .summary("AI Stardew Valley portrait maker — create a Stardew Valley game-style character portrait")
7
+ .description("Generate a Stardew Valley-style head portrait from a reference photo or text description.\n" +
8
+ "Image is optional — text-only generation is supported.\n\n" +
9
+ "Default prompt (used when --prompt is omitted):\n" +
10
+ ` "${DEFAULT_PROMPT}"\n\n` +
11
+ "Examples:\n" +
12
+ " weshop stardew-valley-portrait-maker --image ./person.png\n" +
13
+ " weshop stardew-valley-portrait-maker --prompt 'Stardew Valley farmer with red hair and overalls'\n" +
14
+ " weshop stardew-valley-portrait-maker --image ./person.png --batch 2")
15
+ .option("--image <path|url>", "Reference portrait image — local file path or URL (optional)")
16
+ .option("--prompt <text>", "Custom character description (default: Stardew Valley style portrait)")
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 params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
23
+ if (opts.batch != null)
24
+ params.batchCount = opts.batch;
25
+ const input = {};
26
+ if (opts.taskName)
27
+ input.taskName = opts.taskName;
28
+ if (opts.image) {
29
+ const { url: imageUrl } = await resolveImage(opts.image);
30
+ params.images = [imageUrl];
31
+ input.originalImage = imageUrl;
32
+ }
33
+ const body = { agent: { name: "stardew-valley-portrait-maker", version: "v1.0" }, input, params };
34
+ const { executionId } = await submitRun(body);
35
+ printSubmitted(executionId);
36
+ if (opts.wait !== false) {
37
+ printPollResult(await waitForCompletion(executionId));
38
+ }
39
+ else {
40
+ console.log("[info]");
41
+ console.log(` message: Use 'weshop status ${executionId}' to check progress`);
42
+ }
43
+ }
44
+ catch (err) {
45
+ printError(err);
46
+ process.exit(1);
47
+ }
48
+ });
49
+ //# sourceMappingURL=stardew-valley-portrait-maker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stardew-valley-portrait-maker.js","sourceRoot":"","sources":["../../src/commands/stardew-valley-portrait-maker.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,6HAA6H,CAAC;AAEhI,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,OAAO,CAAC,+BAA+B,CAAC;KACtF,OAAO,CAAC,0FAA0F,CAAC;KACnG,WAAW,CACV,6FAA6F;IAC7F,4DAA4D;IAC5D,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,+DAA+D;IAC/D,sGAAsG;IACtG,uEAAuE,CACxE;KACA,MAAM,CAAC,oBAAoB,EAAE,8DAA8D,CAAC;KAC5F,MAAM,CAAC,iBAAiB,EAAE,uEAAuE,CAAC;KAClG,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,+BAA+B,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC9G,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 stringBikiniBeautyContestCmd: 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 stringBikiniBeautyContestCmd = new Command("string-bikini-beauty-contest")
6
+ .summary("String bikini beauty contest — 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 string-bikini-beauty-contest --image ./person.png --prompt 'Bikini model on a beach'\n" +
15
+ " weshop string-bikini-beauty-contest --image ./person.png --generated-type image --batch 2\n" +
16
+ " weshop string-bikini-beauty-contest --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 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: "string-bikini-beauty-contest", 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=string-bikini-beauty-contest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-bikini-beauty-contest.js","sourceRoot":"","sources":["../../src/commands/string-bikini-beauty-contest.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,4BAA4B,GAAG,IAAI,OAAO,CAAC,8BAA8B,CAAC;KACpF,OAAO,CAAC,4FAA4F,CAAC;KACrG,WAAW,CACV,iFAAiF;IACjF,sCAAsC;IACtC,8CAA8C;IAC9C,sCAAsC;IACtC,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,iGAAiG;IACjG,+FAA+F;IAC/F,6FAA6F,CAC9F;KACA,cAAc,CAAC,oBAAoB,EAAE,4DAA4D,CAAC;KAClG,MAAM,CAAC,iBAAiB,EAAE,mCAAmC,CAAC;KAC9D,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,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 swimsuitTryOnHaulCmd: 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 swimsuitTryOnHaulCmd = new Command("swimsuit-try-on-haul")
6
+ .summary("Swimsuit try-on haul — 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 swimsuit-try-on-haul --image ./person.png --prompt 'Bikini model on a beach'\n" +
15
+ " weshop swimsuit-try-on-haul --image ./person.png --generated-type image --batch 2\n" +
16
+ " weshop swimsuit-try-on-haul --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 swimsuit 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: "swimsuit-try-on-haul", 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=swimsuit-try-on-haul.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swimsuit-try-on-haul.js","sourceRoot":"","sources":["../../src/commands/swimsuit-try-on-haul.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,oBAAoB,GAAG,IAAI,OAAO,CAAC,sBAAsB,CAAC;KACpE,OAAO,CAAC,oFAAoF,CAAC;KAC7F,WAAW,CACV,iFAAiF;IACjF,sCAAsC;IACtC,8CAA8C;IAC9C,sCAAsC;IACtC,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,yFAAyF;IACzF,uFAAuF;IACvF,qFAAqF,CACtF;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,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,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 videoResolutionEnhancerOnlineFreeCmd: Command;
@@ -0,0 +1,42 @@
1
+ import { Command } from "commander";
2
+ import { submitRun, waitForCompletion } from "../client.js";
3
+ import { printSubmitted, printPollResult, printError } from "../printer.js";
4
+ export const videoResolutionEnhancerOnlineFreeCmd = new Command("video-resolution-enhancer-online-free")
5
+ .summary("Video resolution enhancer online free — upscale and enhance video resolution using AI")
6
+ .description("Upscale and enhance video resolution using AI.\n\n" +
7
+ "Provide the video as a URL (--video). Local video files are not auto-uploaded;\n" +
8
+ "use 'weshop upload' first to get a hosted URL if needed.\n\n" +
9
+ "Video size (--video-size): target output resolution, e.g. 2K, 4K\n\n" +
10
+ "Examples:\n" +
11
+ " weshop video-resolution-enhancer-online-free --video https://example.com/video.mp4\n" +
12
+ " weshop video-resolution-enhancer-online-free --video https://example.com/video.mp4 --video-size 4K\n" +
13
+ " weshop video-resolution-enhancer-online-free --video https://example.com/video.mp4 --no-wait")
14
+ .requiredOption("--video <url>", "Input video URL")
15
+ .option("--video-size <size>", "Target output resolution, e.g. 2K or 4K")
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
+ try {
20
+ const params = { videos: [opts.video] };
21
+ if (opts.videoSize)
22
+ params.videoSize = opts.videoSize;
23
+ const input = { videos: [opts.video] };
24
+ if (opts.taskName)
25
+ input.taskName = opts.taskName;
26
+ const body = { agent: { name: "video-resolution-enhancer-online-free", version: "v1.0" }, input, params };
27
+ const { executionId } = await submitRun(body);
28
+ printSubmitted(executionId);
29
+ if (opts.wait !== false) {
30
+ printPollResult(await waitForCompletion(executionId));
31
+ }
32
+ else {
33
+ console.log("[info]");
34
+ console.log(` message: Use 'weshop status ${executionId}' to check progress`);
35
+ }
36
+ }
37
+ catch (err) {
38
+ printError(err);
39
+ process.exit(1);
40
+ }
41
+ });
42
+ //# sourceMappingURL=video-resolution-enhancer-online-free.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video-resolution-enhancer-online-free.js","sourceRoot":"","sources":["../../src/commands/video-resolution-enhancer-online-free.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAmB,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,OAAO,CAAC,uCAAuC,CAAC;KACrG,OAAO,CAAC,uFAAuF,CAAC;KAChG,WAAW,CACV,oDAAoD;IACpD,kFAAkF;IAClF,8DAA8D;IAC9D,sEAAsE;IACtE,aAAa;IACb,wFAAwF;IACxF,wGAAwG;IACxG,gGAAgG,CACjG;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,IAAI,CAAC;QACH,MAAM,MAAM,GAA4B,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACjE,IAAI,IAAI,CAAC,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACtD,MAAM,KAAK,GAA4B,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClD,MAAM,IAAI,GAAe,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,uCAAuC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACtH,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 videoUpscalerOnlineFreeCmd: Command;
@@ -0,0 +1,42 @@
1
+ import { Command } from "commander";
2
+ import { submitRun, waitForCompletion } from "../client.js";
3
+ import { printSubmitted, printPollResult, printError } from "../printer.js";
4
+ export const videoUpscalerOnlineFreeCmd = new Command("video-upscaler-online-free")
5
+ .summary("Video upscaler online free — upscale and enhance video quality using AI")
6
+ .description("Upscale and enhance video quality using AI.\n\n" +
7
+ "Provide the video as a URL (--video). Local video files are not auto-uploaded;\n" +
8
+ "use 'weshop upload' first to get a hosted URL if needed.\n\n" +
9
+ "Video size (--video-size): target output resolution, e.g. 2K, 4K\n\n" +
10
+ "Examples:\n" +
11
+ " weshop video-upscaler-online-free --video https://example.com/video.mp4\n" +
12
+ " weshop video-upscaler-online-free --video https://example.com/video.mp4 --video-size 4K\n" +
13
+ " weshop video-upscaler-online-free --video https://example.com/video.mp4 --no-wait")
14
+ .requiredOption("--video <url>", "Input video URL")
15
+ .option("--video-size <size>", "Target output resolution, e.g. 2K or 4K")
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
+ try {
20
+ const params = { videos: [opts.video] };
21
+ if (opts.videoSize)
22
+ params.videoSize = opts.videoSize;
23
+ const input = { videos: [opts.video] };
24
+ if (opts.taskName)
25
+ input.taskName = opts.taskName;
26
+ const body = { agent: { name: "video-upscaler-online-free", version: "v1.0" }, input, params };
27
+ const { executionId } = await submitRun(body);
28
+ printSubmitted(executionId);
29
+ if (opts.wait !== false) {
30
+ printPollResult(await waitForCompletion(executionId));
31
+ }
32
+ else {
33
+ console.log("[info]");
34
+ console.log(` message: Use 'weshop status ${executionId}' to check progress`);
35
+ }
36
+ }
37
+ catch (err) {
38
+ printError(err);
39
+ process.exit(1);
40
+ }
41
+ });
42
+ //# sourceMappingURL=video-upscaler-online-free.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video-upscaler-online-free.js","sourceRoot":"","sources":["../../src/commands/video-upscaler-online-free.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAmB,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,OAAO,CAAC,4BAA4B,CAAC;KAChF,OAAO,CAAC,yEAAyE,CAAC;KAClF,WAAW,CACV,iDAAiD;IACjD,kFAAkF;IAClF,8DAA8D;IAC9D,sEAAsE;IACtE,aAAa;IACb,6EAA6E;IAC7E,6FAA6F;IAC7F,qFAAqF,CACtF;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,IAAI,CAAC;QACH,MAAM,MAAM,GAA4B,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACjE,IAAI,IAAI,CAAC,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACtD,MAAM,KAAK,GAA4B,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClD,MAAM,IAAI,GAAe,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC3G,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 videoWatermarkRemoverCmd: Command;