weshop-cli 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. package/dist/commands/2d-to-3d-image-converter.js +8 -25
  2. package/dist/commands/2d-to-3d-image-converter.js.map +1 -1
  3. package/dist/commands/ai-3d-rendering.js +8 -25
  4. package/dist/commands/ai-3d-rendering.js.map +1 -1
  5. package/dist/commands/ai-action-figure-generators.js +8 -29
  6. package/dist/commands/ai-action-figure-generators.js.map +1 -1
  7. package/dist/commands/ai-aging.js +8 -33
  8. package/dist/commands/ai-aging.js.map +1 -1
  9. package/dist/commands/ai-babe.js +9 -26
  10. package/dist/commands/ai-babe.js.map +1 -1
  11. package/dist/commands/ai-bikini-model.js +12 -30
  12. package/dist/commands/ai-bikini-model.js.map +1 -1
  13. package/dist/commands/ai-bikini-photo-editor.js +9 -26
  14. package/dist/commands/ai-bikini-photo-editor.js.map +1 -1
  15. package/dist/commands/ai-bikini-video.js +10 -28
  16. package/dist/commands/ai-bikini-video.js.map +1 -1
  17. package/dist/commands/ai-christmas-photo.js +8 -28
  18. package/dist/commands/ai-christmas-photo.js.map +1 -1
  19. package/dist/commands/ai-clothes-changer.js +11 -32
  20. package/dist/commands/ai-clothes-changer.js.map +1 -1
  21. package/dist/commands/ai-collage-maker.js +11 -32
  22. package/dist/commands/ai-collage-maker.js.map +1 -1
  23. package/dist/commands/ai-dog.js +8 -35
  24. package/dist/commands/ai-dog.js.map +1 -1
  25. package/dist/commands/ai-elf.js +8 -25
  26. package/dist/commands/ai-elf.js.map +1 -1
  27. package/dist/commands/ai-face-merge.js +11 -40
  28. package/dist/commands/ai-face-merge.js.map +1 -1
  29. package/dist/commands/ai-feet.js +8 -25
  30. package/dist/commands/ai-feet.js.map +1 -1
  31. package/dist/commands/ai-flag-generator.js +8 -29
  32. package/dist/commands/ai-flag-generator.js.map +1 -1
  33. package/dist/commands/ai-generated-bikini-girls.js +11 -29
  34. package/dist/commands/ai-generated-bikini-girls.js.map +1 -1
  35. package/dist/commands/ai-generated-perfect-female-body.js +11 -29
  36. package/dist/commands/ai-generated-perfect-female-body.js.map +1 -1
  37. package/dist/commands/ai-ghost-mannequin-generator.js +12 -30
  38. package/dist/commands/ai-ghost-mannequin-generator.js.map +1 -1
  39. package/dist/commands/ai-group-photo-generator.js +11 -32
  40. package/dist/commands/ai-group-photo-generator.js.map +1 -1
  41. package/dist/commands/ai-hair-color-changer.js +8 -28
  42. package/dist/commands/ai-hair-color-changer.js.map +1 -1
  43. package/dist/commands/ai-hairstyle-changer.js +8 -29
  44. package/dist/commands/ai-hairstyle-changer.js.map +1 -1
  45. package/dist/commands/ai-hot-girl-image.js +11 -29
  46. package/dist/commands/ai-hot-girl-image.js.map +1 -1
  47. package/dist/commands/ai-image-animation.js +13 -34
  48. package/dist/commands/ai-image-animation.js.map +1 -1
  49. package/dist/commands/ai-image-combiner.js +11 -35
  50. package/dist/commands/ai-image-combiner.js.map +1 -1
  51. package/dist/commands/ai-landscape-design-free.js +15 -35
  52. package/dist/commands/ai-landscape-design-free.js.map +1 -1
  53. package/dist/commands/ai-lingerie-models.js +11 -29
  54. package/dist/commands/ai-lingerie-models.js.map +1 -1
  55. package/dist/commands/ai-photoshoot.js +21 -43
  56. package/dist/commands/ai-photoshoot.js.map +1 -1
  57. package/dist/commands/ai-poster-from-images.js +19 -44
  58. package/dist/commands/ai-poster-from-images.js.map +1 -1
  59. package/dist/commands/ai-poster.js +22 -42
  60. package/dist/commands/ai-poster.js.map +1 -1
  61. package/dist/commands/ai-room-planner.js +8 -29
  62. package/dist/commands/ai-room-planner.js.map +1 -1
  63. package/dist/commands/ai-selfie.js +8 -25
  64. package/dist/commands/ai-selfie.js.map +1 -1
  65. package/dist/commands/ai-sexy-portrait.js +11 -29
  66. package/dist/commands/ai-sexy-portrait.js.map +1 -1
  67. package/dist/commands/ai-sexy-teens.js +11 -29
  68. package/dist/commands/ai-sexy-teens.js.map +1 -1
  69. package/dist/commands/ai-spray-paint.js +8 -29
  70. package/dist/commands/ai-spray-paint.js.map +1 -1
  71. package/dist/commands/ai-swimsuit-model.js +8 -25
  72. package/dist/commands/ai-swimsuit-model.js.map +1 -1
  73. package/dist/commands/ai-tattoo-generator.js +8 -29
  74. package/dist/commands/ai-tattoo-generator.js.map +1 -1
  75. package/dist/commands/ai-text-remover-from-video.js +6 -22
  76. package/dist/commands/ai-text-remover-from-video.js.map +1 -1
  77. package/dist/commands/ai-translate.js +8 -33
  78. package/dist/commands/ai-translate.js.map +1 -1
  79. package/dist/commands/ai-video-enhancer.js +8 -28
  80. package/dist/commands/ai-video-enhancer.js.map +1 -1
  81. package/dist/commands/ai-werewolf.js +14 -32
  82. package/dist/commands/ai-werewolf.js.map +1 -1
  83. package/dist/commands/ai-xray-clothes.js +8 -25
  84. package/dist/commands/ai-xray-clothes.js.map +1 -1
  85. package/dist/commands/ai-zombie.js +8 -25
  86. package/dist/commands/ai-zombie.js.map +1 -1
  87. package/dist/commands/anime-image-converter.js +8 -25
  88. package/dist/commands/anime-image-converter.js.map +1 -1
  89. package/dist/commands/baby-face-generator.js +15 -35
  90. package/dist/commands/baby-face-generator.js.map +1 -1
  91. package/dist/commands/bald-filter.js +8 -28
  92. package/dist/commands/bald-filter.js.map +1 -1
  93. package/dist/commands/bangs-filter.js +8 -25
  94. package/dist/commands/bangs-filter.js.map +1 -1
  95. package/dist/commands/bikini-contest-photos.js +11 -29
  96. package/dist/commands/bikini-contest-photos.js.map +1 -1
  97. package/dist/commands/bikini-try-on.js +8 -25
  98. package/dist/commands/bikini-try-on.js.map +1 -1
  99. package/dist/commands/braces-filter.js +8 -25
  100. package/dist/commands/braces-filter.js.map +1 -1
  101. package/dist/commands/brat-generator.js +8 -29
  102. package/dist/commands/brat-generator.js.map +1 -1
  103. package/dist/commands/buzz-cut-ai.js +8 -33
  104. package/dist/commands/buzz-cut-ai.js.map +1 -1
  105. package/dist/commands/celeb-ai.js +11 -32
  106. package/dist/commands/celeb-ai.js.map +1 -1
  107. package/dist/commands/chibi-maker.js +8 -33
  108. package/dist/commands/chibi-maker.js.map +1 -1
  109. package/dist/commands/clothing-magic-remover.js +9 -26
  110. package/dist/commands/clothing-magic-remover.js.map +1 -1
  111. package/dist/commands/custom-bikini.js +11 -29
  112. package/dist/commands/custom-bikini.js.map +1 -1
  113. package/dist/commands/cute-anime-girl-ai-bikini.js +11 -29
  114. package/dist/commands/cute-anime-girl-ai-bikini.js.map +1 -1
  115. package/dist/commands/demon-slayer-oc-maker.js +8 -29
  116. package/dist/commands/demon-slayer-oc-maker.js.map +1 -1
  117. package/dist/commands/dress-remover-magic-eraser.js +9 -26
  118. package/dist/commands/dress-remover-magic-eraser.js.map +1 -1
  119. package/dist/commands/face-forge.js +20 -50
  120. package/dist/commands/face-forge.js.map +1 -1
  121. package/dist/commands/fat-ai.js +8 -33
  122. package/dist/commands/fat-ai.js.map +1 -1
  123. package/dist/commands/firered-image-edit.js +14 -39
  124. package/dist/commands/firered-image-edit.js.map +1 -1
  125. package/dist/commands/flat-lay.js +13 -36
  126. package/dist/commands/flat-lay.js.map +1 -1
  127. package/dist/commands/free-4k-video-upscaler.js +8 -24
  128. package/dist/commands/free-4k-video-upscaler.js.map +1 -1
  129. package/dist/commands/free-ai-girlfriend-generator.js +8 -29
  130. package/dist/commands/free-ai-girlfriend-generator.js.map +1 -1
  131. package/dist/commands/free-online-video-quality-enhancer.js +8 -24
  132. package/dist/commands/free-online-video-quality-enhancer.js.map +1 -1
  133. package/dist/commands/free-sexy-ai-generator.js +11 -29
  134. package/dist/commands/free-sexy-ai-generator.js.map +1 -1
  135. package/dist/commands/futuristic-elegance.js +8 -33
  136. package/dist/commands/futuristic-elegance.js.map +1 -1
  137. package/dist/commands/gemini-watermark-remover.js +6 -22
  138. package/dist/commands/gemini-watermark-remover.js.map +1 -1
  139. package/dist/commands/gender-swap.js +8 -33
  140. package/dist/commands/gender-swap.js.map +1 -1
  141. package/dist/commands/ghibli-art-create.js +8 -29
  142. package/dist/commands/ghibli-art-create.js.map +1 -1
  143. package/dist/commands/grok-imagine-video.js +12 -30
  144. package/dist/commands/grok-imagine-video.js.map +1 -1
  145. package/dist/commands/grok-imagine.js +8 -29
  146. package/dist/commands/grok-imagine.js.map +1 -1
  147. package/dist/commands/hair-color-try-on.js +8 -28
  148. package/dist/commands/hair-color-try-on.js.map +1 -1
  149. package/dist/commands/happy-woman-bikini-ai-pic.js +11 -29
  150. package/dist/commands/happy-woman-bikini-ai-pic.js.map +1 -1
  151. package/dist/commands/hot-bikini-models.js +11 -29
  152. package/dist/commands/hot-bikini-models.js.map +1 -1
  153. package/dist/commands/image-mixer.js +11 -35
  154. package/dist/commands/image-mixer.js.map +1 -1
  155. package/dist/commands/image-to-sketch.js +8 -25
  156. package/dist/commands/image-to-sketch.js.map +1 -1
  157. package/dist/commands/improve-video-quality-online-free.js +8 -24
  158. package/dist/commands/improve-video-quality-online-free.js.map +1 -1
  159. package/dist/commands/kling.js +16 -43
  160. package/dist/commands/kling.js.map +1 -1
  161. package/dist/commands/logo-remover-from-video.js +6 -22
  162. package/dist/commands/logo-remover-from-video.js.map +1 -1
  163. package/dist/commands/midjourney.js +10 -31
  164. package/dist/commands/midjourney.js.map +1 -1
  165. package/dist/commands/mugshot-creator.js +8 -25
  166. package/dist/commands/mugshot-creator.js.map +1 -1
  167. package/dist/commands/murder-drones-oc.js +8 -29
  168. package/dist/commands/murder-drones-oc.js.map +1 -1
  169. package/dist/commands/outfit-generator.js +8 -33
  170. package/dist/commands/outfit-generator.js.map +1 -1
  171. package/dist/commands/personalized-swimsuit.js +11 -29
  172. package/dist/commands/personalized-swimsuit.js.map +1 -1
  173. package/dist/commands/photo-to-bikini-ai.js +8 -25
  174. package/dist/commands/photo-to-bikini-ai.js.map +1 -1
  175. package/dist/commands/pregnant-ai.js +10 -33
  176. package/dist/commands/pregnant-ai.js.map +1 -1
  177. package/dist/commands/ps2-filter.js +8 -25
  178. package/dist/commands/ps2-filter.js.map +1 -1
  179. package/dist/commands/qwen-image-edit.js +11 -44
  180. package/dist/commands/qwen-image-edit.js.map +1 -1
  181. package/dist/commands/random-animal-generator.js +8 -29
  182. package/dist/commands/random-animal-generator.js.map +1 -1
  183. package/dist/commands/remove-filter-from-photo.js +8 -29
  184. package/dist/commands/remove-filter-from-photo.js.map +1 -1
  185. package/dist/commands/remove-subtitles-from-video-online-free.js +6 -22
  186. package/dist/commands/remove-subtitles-from-video-online-free.js.map +1 -1
  187. package/dist/commands/remove-text-from-video-online-free.js +6 -22
  188. package/dist/commands/remove-text-from-video-online-free.js.map +1 -1
  189. package/dist/commands/replace-face-in-video-online-free.js +9 -31
  190. package/dist/commands/replace-face-in-video-online-free.js.map +1 -1
  191. package/dist/commands/see-through-clothes-fitler.js +8 -25
  192. package/dist/commands/see-through-clothes-fitler.js.map +1 -1
  193. package/dist/commands/seedance.js +14 -32
  194. package/dist/commands/seedance.js.map +1 -1
  195. package/dist/commands/seedream.js +19 -51
  196. package/dist/commands/seedream.js.map +1 -1
  197. package/dist/commands/sex-ai-generator.js +11 -29
  198. package/dist/commands/sex-ai-generator.js.map +1 -1
  199. package/dist/commands/sexy-ai-pics.js +9 -26
  200. package/dist/commands/sexy-ai-pics.js.map +1 -1
  201. package/dist/commands/skin-color-changer.js +8 -28
  202. package/dist/commands/skin-color-changer.js.map +1 -1
  203. package/dist/commands/sonic-oc.js +8 -29
  204. package/dist/commands/sonic-oc.js.map +1 -1
  205. package/dist/commands/sora-2.js +12 -30
  206. package/dist/commands/sora-2.js.map +1 -1
  207. package/dist/commands/sprunki-oc-maker.js +8 -29
  208. package/dist/commands/sprunki-oc-maker.js.map +1 -1
  209. package/dist/commands/square-face-icon-generator.js +8 -29
  210. package/dist/commands/square-face-icon-generator.js.map +1 -1
  211. package/dist/commands/stardew-valley-portrait-maker.js +8 -29
  212. package/dist/commands/stardew-valley-portrait-maker.js.map +1 -1
  213. package/dist/commands/string-bikini-beauty-contest.js +11 -29
  214. package/dist/commands/string-bikini-beauty-contest.js.map +1 -1
  215. package/dist/commands/swimsuit-try-on-haul.js +11 -29
  216. package/dist/commands/swimsuit-try-on-haul.js.map +1 -1
  217. package/dist/commands/video-resolution-enhancer-online-free.js +8 -24
  218. package/dist/commands/video-resolution-enhancer-online-free.js.map +1 -1
  219. package/dist/commands/video-upscaler-online-free.js +8 -24
  220. package/dist/commands/video-upscaler-online-free.js.map +1 -1
  221. package/dist/commands/video-watermark-remover.js +8 -27
  222. package/dist/commands/video-watermark-remover.js.map +1 -1
  223. package/dist/commands/wan-ai.js +11 -29
  224. package/dist/commands/wan-ai.js.map +1 -1
  225. package/dist/commands/wild-graffiti.js +8 -29
  226. package/dist/commands/wild-graffiti.js.map +1 -1
  227. package/dist/commands/z-image.js +11 -32
  228. package/dist/commands/z-image.js.map +1 -1
  229. package/dist/index.js +1 -1
  230. package/dist/run-helper.d.ts +7 -1
  231. package/dist/run-helper.js +33 -4
  232. package/dist/run-helper.js.map +1 -1
  233. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"bangs-filter.js","sourceRoot":"","sources":["../../src/commands/bangs-filter.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,kEAAkE,CAAC;AAE1F,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC;KACtD,OAAO,CAAC,qEAAqE,CAAC;KAC9E,WAAW,CACV,+EAA+E;IAC/E,gDAAgD;IAChD,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,8CAA8C;IAC9C,kGAAkG;IAClG,sDAAsD,CACvD;KACA,cAAc,CAAC,oBAAoB,EAAE,+CAA+C,CAAC;KACrF,MAAM,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;KAC3D,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,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/G,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,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC7F,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"}
1
+ {"version":3,"file":"bangs-filter.js","sourceRoot":"","sources":["../../src/commands/bangs-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAAG,kEAAkE,CAAC;AAE1F,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC;KACtD,OAAO,CAAC,qEAAqE,CAAC;KAC9E,WAAW,CACV,+EAA+E;IAC/E,gDAAgD;IAChD,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,8CAA8C;IAC9C,kGAAkG;IAClG,sDAAsD,CACvD;KACA,cAAc,CAAC,oBAAoB,EAAE,+CAA+C,CAAC;KACrF,MAAM,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;KAC3D,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACvG,CAAC,CAAC,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { Command } from "commander";
2
- import { resolveImage, submitRun, waitForCompletion } from "../client.js";
3
- import { printSubmitted, printPollResult, printError } from "../printer.js";
2
+ import { executeRun } from "../run-helper.js";
4
3
  const DEFAULT_PROMPT = "naturally undress and change the outfit into a thin bikini while keeping body proportions natural. Keep Model dancing tiktok dance.";
5
4
  export const bikiniContestPhotosCmd = new Command("bikini-contest-photos")
6
5
  .summary("Bikini contest photos — transform a person photo into a bikini model image or video")
@@ -21,32 +20,15 @@ export const bikiniContestPhotosCmd = new Command("bikini-contest-photos")
21
20
  .option("--task-name <name>", "Human-readable label for this run")
22
21
  .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
23
22
  .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: "bikini-contest-photos", 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
- }
23
+ const params = {
24
+ textDescription: opts.prompt ?? DEFAULT_PROMPT,
25
+ generatedType: opts.generatedType ?? "video",
26
+ };
27
+ if (opts.batch != null)
28
+ params.batchCount = opts.batch;
29
+ const extraInput = {};
30
+ if (opts.taskName)
31
+ extraInput.taskName = opts.taskName;
32
+ await executeRun("bikini-contest-photos", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
51
33
  });
52
34
  //# sourceMappingURL=bikini-contest-photos.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bikini-contest-photos.js","sourceRoot":"","sources":["../../src/commands/bikini-contest-photos.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,sBAAsB,GAAG,IAAI,OAAO,CAAC,uBAAuB,CAAC;KACvE,OAAO,CAAC,qFAAqF,CAAC;KAC9F,WAAW,CACV,iFAAiF;IACjF,sCAAsC;IACtC,8CAA8C;IAC9C,sCAAsC;IACtC,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,0FAA0F;IAC1F,wFAAwF;IACxF,sFAAsF,CACvF;KACA,cAAc,CAAC,oBAAoB,EAAE,4DAA4D,CAAC;KAClG,MAAM,CAAC,iBAAiB,EAAE,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,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;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"}
1
+ {"version":3,"file":"bikini-contest-photos.js","sourceRoot":"","sources":["../../src/commands/bikini-contest-photos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,qIAAqI,CAAC;AAExI,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,OAAO,CAAC,uBAAuB,CAAC;KACvE,OAAO,CAAC,qFAAqF,CAAC;KAC9F,WAAW,CACV,iFAAiF;IACjF,sCAAsC;IACtC,8CAA8C;IAC9C,sCAAsC;IACtC,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,0FAA0F;IAC1F,wFAAwF;IACxF,sFAAsF,CACvF;KACA,cAAc,CAAC,oBAAoB,EAAE,4DAA4D,CAAC;KAClG,MAAM,CAAC,iBAAiB,EAAE,yCAAyC,CAAC;KACpE,MAAM,CAAC,yBAAyB,EAAE,uCAAuC,CAAC;KAC1E,MAAM,CAAC,iBAAiB,EAAE,kDAAkD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACxG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B;QACtC,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc;QAC9C,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,OAAO;KAC7C,CAAC;IACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,uBAAuB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAChH,CAAC,CAAC,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { Command } from "commander";
2
- import { resolveImage, submitRun, waitForCompletion } from "../client.js";
3
- import { printSubmitted, printPollResult, printError } from "../printer.js";
2
+ import { executeRun } from "../run-helper.js";
4
3
  const DEFAULT_PROMPT = "naturally undress and change the outfit into a thin bikini while keeping body proportions natural. Keep Model dancing tiktok dance.";
5
4
  export const bikiniTryOnCmd = new Command("bikini-try-on")
6
5
  .summary("AI bikini try-on — virtually try on a bikini on a person photo")
@@ -17,28 +16,12 @@ export const bikiniTryOnCmd = new Command("bikini-try-on")
17
16
  .option("--task-name <name>", "Human-readable label for this run")
18
17
  .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
19
18
  .action(async (opts) => {
20
- try {
21
- const { url: imageUrl } = await resolveImage(opts.image);
22
- const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT, images: [imageUrl] };
23
- if (opts.batch != null)
24
- params.batchCount = opts.batch;
25
- const input = { originalImage: imageUrl };
26
- if (opts.taskName)
27
- input.taskName = opts.taskName;
28
- const body = { agent: { name: "bikini-try-on", version: "v1.0" }, input, params };
29
- const { executionId } = await submitRun(body);
30
- printSubmitted(executionId);
31
- if (opts.wait !== false) {
32
- printPollResult(await waitForCompletion(executionId));
33
- }
34
- else {
35
- console.log("[info]");
36
- console.log(` message: Use 'weshop status ${executionId}' to check progress`);
37
- }
38
- }
39
- catch (err) {
40
- printError(err);
41
- process.exit(1);
42
- }
19
+ const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
20
+ if (opts.batch != null)
21
+ params.batchCount = opts.batch;
22
+ const extraInput = {};
23
+ if (opts.taskName)
24
+ extraInput.taskName = opts.taskName;
25
+ await executeRun("bikini-try-on", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
43
26
  });
44
27
  //# sourceMappingURL=bikini-try-on.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bikini-try-on.js","sourceRoot":"","sources":["../../src/commands/bikini-try-on.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,cAAc,GAAG,IAAI,OAAO,CAAC,eAAe,CAAC;KACvD,OAAO,CAAC,gEAAgE,CAAC;KACzE,WAAW,CACV,oFAAoF;IACpF,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,+CAA+C;IAC/C,8FAA8F;IAC9F,uDAAuD,CACxD;KACA,cAAc,CAAC,oBAAoB,EAAE,6CAA6C,CAAC;KACnF,MAAM,CAAC,iBAAiB,EAAE,kCAAkC,CAAC;KAC7D,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,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/G,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,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC9F,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"}
1
+ {"version":3,"file":"bikini-try-on.js","sourceRoot":"","sources":["../../src/commands/bikini-try-on.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,qIAAqI,CAAC;AAExI,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,eAAe,CAAC;KACvD,OAAO,CAAC,gEAAgE,CAAC;KACzE,WAAW,CACV,oFAAoF;IACpF,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,+CAA+C;IAC/C,8FAA8F;IAC9F,uDAAuD,CACxD;KACA,cAAc,CAAC,oBAAoB,EAAE,6CAA6C,CAAC;KACnF,MAAM,CAAC,iBAAiB,EAAE,kCAAkC,CAAC;KAC7D,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACxG,CAAC,CAAC,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { Command } from "commander";
2
- import { resolveImage, submitRun, waitForCompletion } from "../client.js";
3
- import { printSubmitted, printPollResult, printError } from "../printer.js";
2
+ import { executeRun } from "../run-helper.js";
4
3
  const DEFAULT_PROMPT = "Add braces in this person's tooth";
5
4
  export const bracesFilterCmd = new Command("braces-filter")
6
5
  .summary("AI braces filter — add dental braces to a person's teeth in a portrait photo")
@@ -17,28 +16,12 @@ export const bracesFilterCmd = new Command("braces-filter")
17
16
  .option("--task-name <name>", "Human-readable label for this run")
18
17
  .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
19
18
  .action(async (opts) => {
20
- try {
21
- const { url: imageUrl } = await resolveImage(opts.image);
22
- const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT, images: [imageUrl] };
23
- if (opts.batch != null)
24
- params.batchCount = opts.batch;
25
- const input = { originalImage: imageUrl };
26
- if (opts.taskName)
27
- input.taskName = opts.taskName;
28
- const body = { agent: { name: "braces-filter", version: "v1.0" }, input, params };
29
- const { executionId } = await submitRun(body);
30
- printSubmitted(executionId);
31
- if (opts.wait !== false) {
32
- printPollResult(await waitForCompletion(executionId));
33
- }
34
- else {
35
- console.log("[info]");
36
- console.log(` message: Use 'weshop status ${executionId}' to check progress`);
37
- }
38
- }
39
- catch (err) {
40
- printError(err);
41
- process.exit(1);
42
- }
19
+ const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
20
+ if (opts.batch != null)
21
+ params.batchCount = opts.batch;
22
+ const extraInput = {};
23
+ if (opts.taskName)
24
+ extraInput.taskName = opts.taskName;
25
+ await executeRun("braces-filter", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
43
26
  });
44
27
  //# sourceMappingURL=braces-filter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"braces-filter.js","sourceRoot":"","sources":["../../src/commands/braces-filter.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,mCAAmC,CAAC;AAE3D,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,OAAO,CAAC,eAAe,CAAC;KACxD,OAAO,CAAC,8EAA8E,CAAC;KACvF,WAAW,CACV,yFAAyF;IACzF,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,+CAA+C;IAC/C,0FAA0F;IAC1F,uDAAuD,CACxD;KACA,cAAc,CAAC,oBAAoB,EAAE,+CAA+C,CAAC;KACrF,MAAM,CAAC,iBAAiB,EAAE,2BAA2B,CAAC;KACtD,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,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/G,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,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC9F,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"}
1
+ {"version":3,"file":"braces-filter.js","sourceRoot":"","sources":["../../src/commands/braces-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAAG,mCAAmC,CAAC;AAE3D,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,OAAO,CAAC,eAAe,CAAC;KACxD,OAAO,CAAC,8EAA8E,CAAC;KACvF,WAAW,CACV,yFAAyF;IACzF,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,+CAA+C;IAC/C,0FAA0F;IAC1F,uDAAuD,CACxD;KACA,cAAc,CAAC,oBAAoB,EAAE,+CAA+C,CAAC;KACrF,MAAM,CAAC,iBAAiB,EAAE,2BAA2B,CAAC;KACtD,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACxG,CAAC,CAAC,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { Command } from "commander";
2
- import { resolveImage, submitRun, waitForCompletion } from "../client.js";
3
- import { printSubmitted, printPollResult, printError } from "../printer.js";
2
+ import { executeRun } from "../run-helper.js";
4
3
  const DEFAULT_PROMPT = "a pure [color] background with text [Brat] on it. 1:1 ratio.";
5
4
  export const bratGeneratorCmd = new Command("brat-generator")
6
5
  .summary("AI brat generator — create a Charli XCX brat-style album cover meme with custom text and color")
@@ -17,32 +16,12 @@ export const bratGeneratorCmd = new Command("brat-generator")
17
16
  .option("--task-name <name>", "Human-readable label for this run")
18
17
  .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
19
18
  .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: "brat-generator", 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
- }
19
+ const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
20
+ if (opts.batch != null)
21
+ params.batchCount = opts.batch;
22
+ const extraInput = {};
23
+ if (opts.taskName)
24
+ extraInput.taskName = opts.taskName;
25
+ await executeRun("brat-generator", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
47
26
  });
48
27
  //# sourceMappingURL=brat-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"brat-generator.js","sourceRoot":"","sources":["../../src/commands/brat-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,GAAG,8DAA8D,CAAC;AAEtF,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAAC,gBAAgB,CAAC;KAC1D,OAAO,CAAC,gGAAgG,CAAC;KACzG,WAAW,CACV,qEAAqE;IACrE,4DAA4D;IAC5D,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,sGAAsG;IACtG,6GAA6G,CAC9G;KACA,MAAM,CAAC,oBAAoB,EAAE,qDAAqD,CAAC;KACnF,MAAM,CAAC,iBAAiB,EAAE,gEAAgE,CAAC;KAC3F,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,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,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC/F,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"}
1
+ {"version":3,"file":"brat-generator.js","sourceRoot":"","sources":["../../src/commands/brat-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAAG,8DAA8D,CAAC;AAEtF,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAAC,gBAAgB,CAAC;KAC1D,OAAO,CAAC,gGAAgG,CAAC;KACzG,WAAW,CACV,qEAAqE;IACrE,4DAA4D;IAC5D,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,sGAAsG;IACtG,6GAA6G,CAC9G;KACA,MAAM,CAAC,oBAAoB,EAAE,qDAAqD,CAAC;KACnF,MAAM,CAAC,iBAAiB,EAAE,gEAAgE,CAAC;KAC3F,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,gBAAgB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACzG,CAAC,CAAC,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { Command } from "commander";
2
- import { resolveImage, submitRun, waitForCompletion } from "../client.js";
3
- import { printSubmitted, printPollResult, printError } from "../printer.js";
2
+ import { executeRun } from "../run-helper.js";
4
3
  const DEFAULT_PROMPT = "Change the hairstyle to a buzz cut.";
5
4
  export const buzzCutAiCmd = new Command("buzz-cut-ai")
6
5
  .summary("AI buzz cut filter — change a person's hairstyle to a buzz cut")
@@ -17,36 +16,12 @@ export const buzzCutAiCmd = new Command("buzz-cut-ai")
17
16
  .option("--task-name <name>", "Human-readable label for this run")
18
17
  .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
19
18
  .action(async (opts) => {
20
- try {
21
- const { url: imageUrl } = await resolveImage(opts.image);
22
- const params = {
23
- textDescription: opts.prompt ?? DEFAULT_PROMPT,
24
- images: [imageUrl],
25
- };
26
- if (opts.batch != null)
27
- params.batchCount = opts.batch;
28
- const input = { originalImage: imageUrl };
29
- if (opts.taskName)
30
- input.taskName = opts.taskName;
31
- const body = {
32
- agent: { name: "buzz-cut-ai", version: "v1.0" },
33
- input,
34
- params,
35
- };
36
- const { executionId } = await submitRun(body);
37
- printSubmitted(executionId);
38
- if (opts.wait !== false) {
39
- const data = await waitForCompletion(executionId);
40
- printPollResult(data);
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
- }
19
+ const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
20
+ if (opts.batch != null)
21
+ params.batchCount = opts.batch;
22
+ const extraInput = {};
23
+ if (opts.taskName)
24
+ extraInput.taskName = opts.taskName;
25
+ await executeRun("buzz-cut-ai", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
51
26
  });
52
27
  //# sourceMappingURL=buzz-cut-ai.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buzz-cut-ai.js","sourceRoot":"","sources":["../../src/commands/buzz-cut-ai.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,qCAAqC,CAAC;AAE7D,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;KACnD,OAAO,CAAC,gEAAgE,CAAC;KACzE,WAAW,CACV,yEAAyE;IACzE,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,6CAA6C;IAC7C,mGAAmG;IACnG,qDAAqD,CACtD;KACA,cAAc,CAAC,oBAAoB,EAAE,+CAA+C,CAAC;KACrF,MAAM,CAAC,iBAAiB,EAAE,kDAAkD,CAAC;KAC7E,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;QAEzD,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;QAEvD,MAAM,KAAK,GAA4B,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;QACnE,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAElD,MAAM,IAAI,GAAe;YACvB,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE;YAC/C,KAAK;YACL,MAAM;SACP,CAAC;QAEF,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,cAAc,CAAC,WAAW,CAAC,CAAC;QAE5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAClD,eAAe,CAAC,IAAI,CAAC,CAAC;QACxB,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;QACb,UAAU,CAAC,GAAG,CAAC,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"buzz-cut-ai.js","sourceRoot":"","sources":["../../src/commands/buzz-cut-ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAAG,qCAAqC,CAAC;AAE7D,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;KACnD,OAAO,CAAC,gEAAgE,CAAC;KACzE,WAAW,CACV,yEAAyE;IACzE,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,6CAA6C;IAC7C,mGAAmG;IACnG,qDAAqD,CACtD;KACA,cAAc,CAAC,oBAAoB,EAAE,+CAA+C,CAAC;KACrF,MAAM,CAAC,iBAAiB,EAAE,kDAAkD,CAAC;KAC7E,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACtG,CAAC,CAAC,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { Command } from "commander";
2
- import { resolveImage, submitRun, waitForCompletion } from "../client.js";
3
- import { printSubmitted, printPollResult, printError } from "../printer.js";
2
+ import { executeRun } from "../run-helper.js";
4
3
  const DEFAULT_PROMPT = "Take a selfie angle photo of this person and Harry Potter. No need to show the phone. choose appropriate background.";
5
4
  export const celebAiCmd = new Command("celeb-ai")
6
5
  .summary("AI celebrity photo — place a person in a selfie with a celebrity or fictional character")
@@ -18,37 +17,17 @@ export const celebAiCmd = new Command("celeb-ai")
18
17
  .option("--task-name <name>", "Human-readable label for this run")
19
18
  .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
20
19
  .action(async (opts) => {
21
- try {
22
- const imageList = opts.image;
23
- if (imageList.length > 2) {
24
- console.error("[error]\n message: Maximum 2 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: "celeb-ai", 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);
20
+ const imageList = opts.image;
21
+ if (imageList.length > 2) {
22
+ console.error("[error]\n message: Maximum 2 images allowed");
51
23
  process.exit(1);
52
24
  }
25
+ const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
26
+ if (opts.batch != null)
27
+ params.batchCount = opts.batch;
28
+ const extraInput = {};
29
+ if (opts.taskName)
30
+ extraInput.taskName = opts.taskName;
31
+ await executeRun("celeb-ai", "v1.0", { images: imageList, wait: opts.wait }, params, extraInput);
53
32
  });
54
33
  //# sourceMappingURL=celeb-ai.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"celeb-ai.js","sourceRoot":"","sources":["../../src/commands/celeb-ai.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,sHAAsH,CAAC;AAEzH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;KAC9C,OAAO,CAAC,yFAAyF,CAAC;KAClG,WAAW,CACV,6FAA6F;IAC7F,oCAAoC;IACpC,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,0CAA0C;IAC1C,gGAAgG;IAChG,kDAAkD,CACnD;KACA,cAAc,CAAC,uBAAuB,EAAE,8DAA8D,CAAC;KACvG,MAAM,CAAC,iBAAiB,EAAE,mFAAmF,CAAC;KAC9G,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,CAAC,EAAE,CAAC;YAAC,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QAC7G,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,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"}
1
+ {"version":3,"file":"celeb-ai.js","sourceRoot":"","sources":["../../src/commands/celeb-ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,sHAAsH,CAAC;AAEzH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;KAC9C,OAAO,CAAC,yFAAyF,CAAC;KAClG,WAAW,CACV,6FAA6F;IAC7F,oCAAoC;IACpC,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,0CAA0C;IAC1C,gGAAgG;IAChG,kDAAkD,CACnD;KACA,cAAc,CAAC,uBAAuB,EAAE,8DAA8D,CAAC;KACvG,MAAM,CAAC,iBAAiB,EAAE,mFAAmF,CAAC;KAC9G,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,SAAS,GAAa,IAAI,CAAC,KAAK,CAAC;IACvC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAAC,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IAC7G,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACnG,CAAC,CAAC,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { Command } from "commander";
2
- import { resolveImage, submitRun, waitForCompletion } from "../client.js";
3
- import { printSubmitted, printPollResult, printError } from "../printer.js";
2
+ import { executeRun } from "../run-helper.js";
4
3
  const DEFAULT_PROMPT = "Turn this photo into a chibi sticker.";
5
4
  export const chibiMakerCmd = new Command("chibi-maker")
6
5
  .summary("AI chibi maker — convert a photo into a cute chibi character sticker")
@@ -17,36 +16,12 @@ export const chibiMakerCmd = new Command("chibi-maker")
17
16
  .option("--task-name <name>", "Human-readable label for this run")
18
17
  .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
19
18
  .action(async (opts) => {
20
- try {
21
- const { url: imageUrl } = await resolveImage(opts.image);
22
- const params = {
23
- textDescription: opts.prompt ?? DEFAULT_PROMPT,
24
- images: [imageUrl],
25
- };
26
- if (opts.batch != null)
27
- params.batchCount = opts.batch;
28
- const input = { originalImage: imageUrl };
29
- if (opts.taskName)
30
- input.taskName = opts.taskName;
31
- const body = {
32
- agent: { name: "chibi-maker", version: "v1.0" },
33
- input,
34
- params,
35
- };
36
- const { executionId } = await submitRun(body);
37
- printSubmitted(executionId);
38
- if (opts.wait !== false) {
39
- const data = await waitForCompletion(executionId);
40
- printPollResult(data);
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
- }
19
+ const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
20
+ if (opts.batch != null)
21
+ params.batchCount = opts.batch;
22
+ const extraInput = {};
23
+ if (opts.taskName)
24
+ extraInput.taskName = opts.taskName;
25
+ await executeRun("chibi-maker", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
51
26
  });
52
27
  //# sourceMappingURL=chibi-maker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chibi-maker.js","sourceRoot":"","sources":["../../src/commands/chibi-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,GAAG,uCAAuC,CAAC;AAE/D,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;KACpD,OAAO,CAAC,sEAAsE,CAAC;KAC/E,WAAW,CACV,8EAA8E;IAC9E,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,6CAA6C;IAC7C,gGAAgG;IAChG,qDAAqD,CACtD;KACA,cAAc,CAAC,oBAAoB,EAAE,sCAAsC,CAAC;KAC5E,MAAM,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;KAC3D,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;QAEzD,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;QAEvD,MAAM,KAAK,GAA4B,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;QACnE,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAElD,MAAM,IAAI,GAAe;YACvB,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE;YAC/C,KAAK;YACL,MAAM;SACP,CAAC;QAEF,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,cAAc,CAAC,WAAW,CAAC,CAAC;QAE5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAClD,eAAe,CAAC,IAAI,CAAC,CAAC;QACxB,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;QACb,UAAU,CAAC,GAAG,CAAC,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"chibi-maker.js","sourceRoot":"","sources":["../../src/commands/chibi-maker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAAG,uCAAuC,CAAC;AAE/D,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;KACpD,OAAO,CAAC,sEAAsE,CAAC;KAC/E,WAAW,CACV,8EAA8E;IAC9E,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,6CAA6C;IAC7C,gGAAgG;IAChG,qDAAqD,CACtD;KACA,cAAc,CAAC,oBAAoB,EAAE,sCAAsC,CAAC;KAC5E,MAAM,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;KAC3D,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACtG,CAAC,CAAC,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { Command } from "commander";
2
- import { resolveImage, submitRun, waitForCompletion } from "../client.js";
3
- import { printSubmitted, printPollResult, printError } from "../printer.js";
2
+ import { executeRun } from "../run-helper.js";
4
3
  const DEFAULT_PROMPT = "undress the outfit into sexy bikini while keeping body proportions natural.";
5
4
  export const clothingMagicRemoverCmd = new Command("clothing-magic-remover")
6
5
  .summary("AI clothing remover — erase accessories or partial clothing while keeping textures realistic")
@@ -12,33 +11,17 @@ export const clothingMagicRemoverCmd = new Command("clothing-magic-remover")
12
11
  " weshop clothing-magic-remover --image ./person.png --prompt 'Remove the jacket, keep the shirt'\n" +
13
12
  " weshop clothing-magic-remover --image ./person.png --prompt 'Erase the top, replace with bikini' --batch 2")
14
13
  .requiredOption("--image <path|url>", "Input person photo — local file path or URL")
15
- .requiredOption("--prompt <text>", "Describe what clothing to remove")
14
+ .option("--prompt <text>", "Describe what clothing to remove")
16
15
  .option("--batch <count>", "Number of images to generate, 1-16 (default: 1)", (v) => parseInt(v, 10), 1)
17
16
  .option("--task-name <name>", "Human-readable label for this run")
18
17
  .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
19
18
  .action(async (opts) => {
20
- try {
21
- const { url: imageUrl } = await resolveImage(opts.image);
22
- const params = { textDescription: opts.prompt, images: [imageUrl] };
23
- if (opts.batch != null)
24
- params.batchCount = opts.batch;
25
- const input = { originalImage: imageUrl };
26
- if (opts.taskName)
27
- input.taskName = opts.taskName;
28
- const body = { agent: { name: "clothing-magic-remover", version: "v1.0" }, input, params };
29
- const { executionId } = await submitRun(body);
30
- printSubmitted(executionId);
31
- if (opts.wait !== false) {
32
- printPollResult(await waitForCompletion(executionId));
33
- }
34
- else {
35
- console.log("[info]");
36
- console.log(` message: Use 'weshop status ${executionId}' to check progress`);
37
- }
38
- }
39
- catch (err) {
40
- printError(err);
41
- process.exit(1);
42
- }
19
+ const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
20
+ if (opts.batch != null)
21
+ params.batchCount = opts.batch;
22
+ const extraInput = {};
23
+ if (opts.taskName)
24
+ extraInput.taskName = opts.taskName;
25
+ await executeRun("clothing-magic-remover", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
43
26
  });
44
27
  //# sourceMappingURL=clothing-magic-remover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clothing-magic-remover.js","sourceRoot":"","sources":["../../src/commands/clothing-magic-remover.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,6EAA6E,CAAC;AAErG,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,OAAO,CAAC,wBAAwB,CAAC;KACzE,OAAO,CAAC,8FAA8F,CAAC;KACvG,WAAW,CACV,wFAAwF;IACxF,yBAAyB;IACzB,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,qGAAqG;IACrG,8GAA8G,CAC/G;KACA,cAAc,CAAC,oBAAoB,EAAE,6CAA6C,CAAC;KACnF,cAAc,CAAC,iBAAiB,EAAE,kCAAkC,CAAC;KACrE,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,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7F,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,wBAAwB,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACvG,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"}
1
+ {"version":3,"file":"clothing-magic-remover.js","sourceRoot":"","sources":["../../src/commands/clothing-magic-remover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAAG,6EAA6E,CAAC;AAErG,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,OAAO,CAAC,wBAAwB,CAAC;KACzE,OAAO,CAAC,8FAA8F,CAAC;KACvG,WAAW,CACV,wFAAwF;IACxF,yBAAyB;IACzB,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,qGAAqG;IACrG,8GAA8G,CAC/G;KACA,cAAc,CAAC,oBAAoB,EAAE,6CAA6C,CAAC;KACnF,MAAM,CAAC,iBAAiB,EAAE,kCAAkC,CAAC;KAC7D,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,wBAAwB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACjH,CAAC,CAAC,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { Command } from "commander";
2
- import { resolveImage, submitRun, waitForCompletion } from "../client.js";
3
- import { printSubmitted, printPollResult, printError } from "../printer.js";
2
+ import { executeRun } from "../run-helper.js";
4
3
  const DEFAULT_PROMPT = "naturally undress and change the outfit into a thin bikini while keeping body proportions natural. Keep Model dancing tiktok dance.";
5
4
  export const customBikiniCmd = new Command("custom-bikini")
6
5
  .summary("Custom bikini — transform a person photo into a bikini model image or video")
@@ -21,32 +20,15 @@ export const customBikiniCmd = new Command("custom-bikini")
21
20
  .option("--task-name <name>", "Human-readable label for this run")
22
21
  .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
23
22
  .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: "custom-bikini", 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
- }
23
+ const params = {
24
+ textDescription: opts.prompt ?? DEFAULT_PROMPT,
25
+ generatedType: opts.generatedType ?? "video",
26
+ };
27
+ if (opts.batch != null)
28
+ params.batchCount = opts.batch;
29
+ const extraInput = {};
30
+ if (opts.taskName)
31
+ extraInput.taskName = opts.taskName;
32
+ await executeRun("custom-bikini", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
51
33
  });
52
34
  //# sourceMappingURL=custom-bikini.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom-bikini.js","sourceRoot":"","sources":["../../src/commands/custom-bikini.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,eAAe,GAAG,IAAI,OAAO,CAAC,eAAe,CAAC;KACxD,OAAO,CAAC,6EAA6E,CAAC;KACtF,WAAW,CACV,iFAAiF;IACjF,sCAAsC;IACtC,8CAA8C;IAC9C,sCAAsC;IACtC,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,kFAAkF;IAClF,gFAAgF;IAChF,8EAA8E,CAC/E;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,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC9F,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"}
1
+ {"version":3,"file":"custom-bikini.js","sourceRoot":"","sources":["../../src/commands/custom-bikini.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,qIAAqI,CAAC;AAExI,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,OAAO,CAAC,eAAe,CAAC;KACxD,OAAO,CAAC,6EAA6E,CAAC;KACtF,WAAW,CACV,iFAAiF;IACjF,sCAAsC;IACtC,8CAA8C;IAC9C,sCAAsC;IACtC,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,kFAAkF;IAClF,gFAAgF;IAChF,8EAA8E,CAC/E;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,MAAM,MAAM,GAA4B;QACtC,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc;QAC9C,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,OAAO;KAC7C,CAAC;IACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACxG,CAAC,CAAC,CAAC"}