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,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 cuteAnimeGirlAiBikiniCmd = new Command("cute-anime-girl-ai-bikini")
6
5
  .summary("Cute anime girl AI bikini — transform a person photo into a bikini model image or video")
@@ -21,32 +20,15 @@ export const cuteAnimeGirlAiBikiniCmd = new Command("cute-anime-girl-ai-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: "cute-anime-girl-ai-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("cute-anime-girl-ai-bikini", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
51
33
  });
52
34
  //# sourceMappingURL=cute-anime-girl-ai-bikini.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cute-anime-girl-ai-bikini.js","sourceRoot":"","sources":["../../src/commands/cute-anime-girl-ai-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,wBAAwB,GAAG,IAAI,OAAO,CAAC,2BAA2B,CAAC;KAC7E,OAAO,CAAC,yFAAyF,CAAC;KAClG,WAAW,CACV,iFAAiF;IACjF,sCAAsC;IACtC,8CAA8C;IAC9C,sCAAsC;IACtC,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,8FAA8F;IAC9F,4FAA4F;IAC5F,0FAA0F,CAC3F;KACA,cAAc,CAAC,oBAAoB,EAAE,4DAA4D,CAAC;KAClG,MAAM,CAAC,iBAAiB,EAAE,yCAAyC,CAAC;KACpE,MAAM,CAAC,yBAAyB,EAAE,uCAAuC,CAAC;KAC1E,MAAM,CAAC,iBAAiB,EAAE,kDAAkD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACxG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,MAAM,GAA4B;YACtC,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc;YAC9C,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,OAAO;SAC7C,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QACvD,MAAM,KAAK,GAA4B,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;QACnE,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClD,MAAM,IAAI,GAAe,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC1G,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,cAAc,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAAC,eAAe,CAAC,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;QAAC,CAAC;aAC9E,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,WAAW,qBAAqB,CAAC,CAAC;QAAC,CAAC;IACjH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"cute-anime-girl-ai-bikini.js","sourceRoot":"","sources":["../../src/commands/cute-anime-girl-ai-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,wBAAwB,GAAG,IAAI,OAAO,CAAC,2BAA2B,CAAC;KAC7E,OAAO,CAAC,yFAAyF,CAAC;KAClG,WAAW,CACV,iFAAiF;IACjF,sCAAsC;IACtC,8CAA8C;IAC9C,sCAAsC;IACtC,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,8FAA8F;IAC9F,4FAA4F;IAC5F,0FAA0F,CAC3F;KACA,cAAc,CAAC,oBAAoB,EAAE,4DAA4D,CAAC;KAClG,MAAM,CAAC,iBAAiB,EAAE,yCAAyC,CAAC;KACpE,MAAM,CAAC,yBAAyB,EAAE,uCAAuC,CAAC;KAC1E,MAAM,CAAC,iBAAiB,EAAE,kDAAkD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACxG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B;QACtC,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc;QAC9C,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,OAAO;KAC7C,CAAC;IACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,2BAA2B,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACpH,CAAC,CAAC,CAAC"}
@@ -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 person into Demon Slayer anime style, Kimetsu no Yaiba aesthetics, thick brush strokes, bold black outlines, expressive eyes with distinct pupils, wearing a custom slayer uniform and a patterned haori, Ufotable high-quality animation style, cinematic lighting, sharp focus, vibrant cel-shading, keep key facial and gender characteristics.";
5
4
  export const demonSlayerOcMakerCmd = new Command("demon-slayer-oc-maker")
6
5
  .summary("AI Demon Slayer OC maker — transform a person into a Kimetsu no Yaiba anime character")
@@ -19,32 +18,12 @@ export const demonSlayerOcMakerCmd = new Command("demon-slayer-oc-maker")
19
18
  .option("--task-name <name>", "Human-readable label for this run")
20
19
  .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
21
20
  .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: "demon-slayer-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
- }
21
+ const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
22
+ if (opts.batch != null)
23
+ params.batchCount = opts.batch;
24
+ const extraInput = {};
25
+ if (opts.taskName)
26
+ extraInput.taskName = opts.taskName;
27
+ await executeRun("demon-slayer-oc-maker", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
49
28
  });
50
29
  //# sourceMappingURL=demon-slayer-oc-maker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"demon-slayer-oc-maker.js","sourceRoot":"","sources":["../../src/commands/demon-slayer-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,8VAA8V,CAAC;AAEjW,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,OAAO,CAAC,uBAAuB,CAAC;KACtE,OAAO,CAAC,uFAAuF,CAAC;KAChG,WAAW,CACV,0FAA0F;IAC1F,wBAAwB;IACxB,mDAAmD;IACnD,4FAA4F;IAC5F,yDAAyD;IACzD,aAAa;IACb,uDAAuD;IACvD,oGAAoG;IACpG,+DAA+D,CAChE;KACA,MAAM,CAAC,oBAAoB,EAAE,4DAA4D,CAAC;KAC1F,MAAM,CAAC,iBAAiB,EAAE,oCAAoC,CAAC;KAC/D,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,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":"demon-slayer-oc-maker.js","sourceRoot":"","sources":["../../src/commands/demon-slayer-oc-maker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,8VAA8V,CAAC;AAEjW,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,OAAO,CAAC,uBAAuB,CAAC;KACtE,OAAO,CAAC,uFAAuF,CAAC;KAChG,WAAW,CACV,0FAA0F;IAC1F,wBAAwB;IACxB,mDAAmD;IACnD,4FAA4F;IAC5F,yDAAyD;IACzD,aAAa;IACb,uDAAuD;IACvD,oGAAoG;IACpG,+DAA+D,CAChE;KACA,MAAM,CAAC,oBAAoB,EAAE,4DAA4D,CAAC;KAC1F,MAAM,CAAC,iBAAiB,EAAE,oCAAoC,CAAC;KAC/D,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,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 = "undress the outfit into sexy bikini while keeping body proportions natural.";
5
4
  export const dressRemoverMagicEraserCmd = new Command("dress-remover-magic-eraser")
6
5
  .summary("AI dress remover — erase a dress and replace with a bikini while keeping body proportions")
@@ -12,33 +11,17 @@ export const dressRemoverMagicEraserCmd = new Command("dress-remover-magic-erase
12
11
  " weshop dress-remover-magic-eraser --image ./person.png --prompt 'Remove the dress, replace with a red bikini'\n" +
13
12
  " weshop dress-remover-magic-eraser --image ./person.png --prompt 'Erase the top, keep the skirt' --batch 2")
14
13
  .requiredOption("--image <path|url>", "Input person photo — local file path or URL")
15
- .requiredOption("--prompt <text>", "Describe what to remove and replace")
14
+ .option("--prompt <text>", "Describe what to remove and replace")
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: "dress-remover-magic-eraser", 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("dress-remover-magic-eraser", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
43
26
  });
44
27
  //# sourceMappingURL=dress-remover-magic-eraser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dress-remover-magic-eraser.js","sourceRoot":"","sources":["../../src/commands/dress-remover-magic-eraser.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,0BAA0B,GAAG,IAAI,OAAO,CAAC,4BAA4B,CAAC;KAChF,OAAO,CAAC,2FAA2F,CAAC;KACpG,WAAW,CACV,0EAA0E;IAC1E,yBAAyB;IACzB,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,mHAAmH;IACnH,6GAA6G,CAC9G;KACA,cAAc,CAAC,oBAAoB,EAAE,6CAA6C,CAAC;KACnF,cAAc,CAAC,iBAAiB,EAAE,qCAAqC,CAAC;KACxE,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,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"}
1
+ {"version":3,"file":"dress-remover-magic-eraser.js","sourceRoot":"","sources":["../../src/commands/dress-remover-magic-eraser.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,0BAA0B,GAAG,IAAI,OAAO,CAAC,4BAA4B,CAAC;KAChF,OAAO,CAAC,2FAA2F,CAAC;KACpG,WAAW,CACV,0EAA0E;IAC1E,yBAAyB;IACzB,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,mHAAmH;IACnH,6GAA6G,CAC9G;KACA,cAAc,CAAC,oBAAoB,EAAE,6CAA6C,CAAC;KACnF,MAAM,CAAC,iBAAiB,EAAE,qCAAqC,CAAC;KAChE,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,4BAA4B,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACrH,CAAC,CAAC,CAAC"}
@@ -1,6 +1,6 @@
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";
3
+ const DEFAULT_PROMPT = "Please generate a realistic portrait photograph of an Asian woman with long black hair, wearing a pure white sleeveless outfit, set against a plain white background.";
4
4
  export const faceForgeCmd = new Command("face-forge")
5
5
  .summary("AI face morph & face swap — generate or transform portraits")
6
6
  .description("AI face morph & face swap — generate or transform portraits using Face Forge.\n\n" +
@@ -32,55 +32,25 @@ export const faceForgeCmd = new Command("face-forge")
32
32
  .option("--task-name <name>", "Human-readable label for this run")
33
33
  .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
34
34
  .action(async (opts) => {
35
- try {
36
- const DEFAULT_PROMPT = "Please generate a realistic portrait photograph of an Asian woman with long black hair, wearing a pure white sleeveless outfit, set against a plain white background.";
37
- const params = {
38
- textDescription: opts.prompt ?? DEFAULT_PROMPT,
39
- };
40
- if (opts.batch != null)
41
- params.batchCount = opts.batch;
42
- if (opts.model)
43
- params.modelName = opts.model;
44
- if (opts.imageSize)
45
- params.imageSize = opts.imageSize;
46
- if (opts.aspectRatio)
47
- params.aspectRatio = opts.aspectRatio;
48
- const input = {};
49
- if (opts.taskName)
50
- input.taskName = opts.taskName;
51
- if (opts.image && opts.image.length > 0) {
52
- const imageList = opts.image;
53
- if (imageList.length > 3) {
54
- console.error("[error]\n message: Maximum 3 images allowed");
55
- process.exit(1);
56
- }
57
- const urls = [];
58
- for (const img of imageList) {
59
- const { url } = await resolveImage(img);
60
- urls.push(url);
61
- }
62
- params.images = urls;
63
- input.originalImage = urls[0];
64
- }
65
- const body = {
66
- agent: { name: "face-forge", version: "v1.0" },
67
- input,
68
- params,
69
- };
70
- const { executionId } = await submitRun(body);
71
- printSubmitted(executionId);
72
- if (opts.wait !== false) {
73
- const data = await waitForCompletion(executionId);
74
- printPollResult(data);
75
- }
76
- else {
77
- console.log("[info]");
78
- console.log(` message: Use 'weshop status ${executionId}' to check progress`);
79
- }
80
- }
81
- catch (err) {
82
- printError(err);
35
+ const imageList = opts.image;
36
+ if (imageList && imageList.length > 3) {
37
+ console.error("[error]\n message: Maximum 3 images allowed");
83
38
  process.exit(1);
84
39
  }
40
+ const params = {
41
+ textDescription: opts.prompt ?? DEFAULT_PROMPT,
42
+ };
43
+ if (opts.batch != null)
44
+ params.batchCount = opts.batch;
45
+ if (opts.model)
46
+ params.modelName = opts.model;
47
+ if (opts.imageSize)
48
+ params.imageSize = opts.imageSize;
49
+ if (opts.aspectRatio)
50
+ params.aspectRatio = opts.aspectRatio;
51
+ const extraInput = {};
52
+ if (opts.taskName)
53
+ extraInput.taskName = opts.taskName;
54
+ await executeRun("face-forge", "v1.0", { images: imageList, wait: opts.wait }, params, extraInput);
85
55
  });
86
56
  //# sourceMappingURL=face-forge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"face-forge.js","sourceRoot":"","sources":["../../src/commands/face-forge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"face-forge.js","sourceRoot":"","sources":["../../src/commands/face-forge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAAG,uKAAuK,CAAC;AAE/L,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC;KAClD,OAAO,CAAC,6DAA6D,CAAC;KACtE,WAAW,CACV,mFAAmF;IACnF,8FAA8F;IAC9F,6FAA6F;IAC7F,uBAAuB;IACvB,qDAAqD;IACrD,8FAA8F;IAC9F,uFAAuF;IACvF,oBAAoB;IACpB,8EAA8E;IAC9E,uEAAuE;IACvE,+CAA+C;IAC/C,mCAAmC;IACnC,yBAAyB;IACzB,2BAA2B;IAC3B,mDAAmD;IACnD,iEAAiE;IACjE,aAAa;IACb,mFAAmF;IACnF,6FAA6F;IAC7F,yJAAyJ,CAC1J;KACA,MAAM,CAAC,uBAAuB,EAAE,iEAAiE,CAAC;KAClG,MAAM,CAAC,iBAAiB,EAAE,0FAA0F,CAAC;KACrH,MAAM,CAAC,gBAAgB,EAAE,wCAAwC,CAAC;KAClE,MAAM,CAAC,qBAAqB,EAAE,8DAA8D,CAAC;KAC7F,MAAM,CAAC,wBAAwB,EAAE,qDAAqD,CAAC;KACvF,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,GAAyB,IAAI,CAAC,KAAK,CAAC;IACnD,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAA4B;QACtC,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc;KAC/C,CAAC;IACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,IAAI,IAAI,CAAC,KAAK;QAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;IAC9C,IAAI,IAAI,CAAC,SAAS;QAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACtD,IAAI,IAAI,CAAC,WAAW;QAAE,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IAE5D,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAEvD,MAAM,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACrG,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 = "Give me a look of how this person would look when this person became extremely fat. Don't change clothes and appearance.";
5
4
  export const fatAiCmd = new Command("fat-ai")
6
5
  .summary("AI plus-size body transformation — visualize how a person would look extremely overweight")
@@ -18,36 +17,12 @@ export const fatAiCmd = new Command("fat-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 { 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 = {
33
- agent: { name: "fat-ai", version: "v1.0" },
34
- input,
35
- params,
36
- };
37
- const { executionId } = await submitRun(body);
38
- printSubmitted(executionId);
39
- if (opts.wait !== false) {
40
- const data = await waitForCompletion(executionId);
41
- printPollResult(data);
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
- }
20
+ const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
21
+ if (opts.batch != null)
22
+ params.batchCount = opts.batch;
23
+ const extraInput = {};
24
+ if (opts.taskName)
25
+ extraInput.taskName = opts.taskName;
26
+ await executeRun("fat-ai", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
52
27
  });
53
28
  //# sourceMappingURL=fat-ai.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fat-ai.js","sourceRoot":"","sources":["../../src/commands/fat-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,0HAA0H,CAAC;AAE7H,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC1C,OAAO,CAAC,2FAA2F,CAAC;KACpG,WAAW,CACV,mGAAmG;IACnG,oDAAoD;IACpD,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,wCAAwC;IACxC,gGAAgG;IAChG,gDAAgD,CACjD;KACA,cAAc,CAAC,oBAAoB,EAAE,+CAA+C,CAAC;KACrF,MAAM,CAAC,iBAAiB,EAAE,wCAAwC,CAAC;KACnE,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,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;YAC1C,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":"fat-ai.js","sourceRoot":"","sources":["../../src/commands/fat-ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,0HAA0H,CAAC;AAE7H,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC1C,OAAO,CAAC,2FAA2F,CAAC;KACpG,WAAW,CACV,mGAAmG;IACnG,oDAAoD;IACpD,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,wCAAwC;IACxC,gGAAgG;IAChG,gDAAgD,CACjD;KACA,cAAc,CAAC,oBAAoB,EAAE,+CAA+C,CAAC;KACrF,MAAM,CAAC,iBAAiB,EAAE,wCAAwC,CAAC;KACnE,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,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACjG,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
  export const fireredImageEditCmd = new Command("firered-image-edit")
5
4
  .summary("FireRed image editor — edit or generate images with high fidelity using FireRed open-source model")
6
5
  .description("Edit or generate images using the FireRed open-source AI model.\n" +
@@ -18,44 +17,20 @@ export const fireredImageEditCmd = new Command("firered-image-edit")
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 params = {
23
- textDescription: opts.prompt,
24
- aspectRatio: opts.aspectRatio ?? "auto",
25
- };
26
- if (opts.batch != null)
27
- params.batchCount = opts.batch;
28
- const input = {};
29
- if (opts.taskName)
30
- input.taskName = opts.taskName;
31
- if (opts.image && opts.image.length > 0) {
32
- const imageList = opts.image;
33
- if (imageList.length > 3) {
34
- console.error("[error]\n message: Maximum 3 images allowed");
35
- process.exit(1);
36
- }
37
- const urls = [];
38
- for (const img of imageList) {
39
- const { url } = await resolveImage(img);
40
- urls.push(url);
41
- }
42
- params.images = urls;
43
- input.originalImage = urls[0];
44
- }
45
- const body = { agent: { name: "firered-image-edit", version: "v1.0" }, input, params };
46
- const { executionId } = await submitRun(body);
47
- printSubmitted(executionId);
48
- if (opts.wait !== false) {
49
- printPollResult(await waitForCompletion(executionId));
50
- }
51
- else {
52
- console.log("[info]");
53
- console.log(` message: Use 'weshop status ${executionId}' to check progress`);
54
- }
55
- }
56
- catch (err) {
57
- printError(err);
20
+ const imageList = opts.image;
21
+ if (imageList && imageList.length > 3) {
22
+ console.error("[error]\n message: Maximum 3 images allowed");
58
23
  process.exit(1);
59
24
  }
25
+ const params = {
26
+ textDescription: opts.prompt,
27
+ aspectRatio: opts.aspectRatio ?? "auto",
28
+ };
29
+ if (opts.batch != null)
30
+ params.batchCount = opts.batch;
31
+ const extraInput = {};
32
+ if (opts.taskName)
33
+ extraInput.taskName = opts.taskName;
34
+ await executeRun("firered-image-edit", "v1.0", { images: imageList, wait: opts.wait }, params, extraInput);
60
35
  });
61
36
  //# sourceMappingURL=firered-image-edit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"firered-image-edit.js","sourceRoot":"","sources":["../../src/commands/firered-image-edit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"firered-image-edit.js","sourceRoot":"","sources":["../../src/commands/firered-image-edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,OAAO,CAAC,oBAAoB,CAAC;KACjE,OAAO,CAAC,mGAAmG,CAAC;KAC5G,WAAW,CACV,mEAAmE;IACnE,6DAA6D;IAC7D,kCAAkC;IAClC,2DAA2D;IAC3D,aAAa;IACb,2FAA2F;IAC3F,wGAAwG;IACxG,qHAAqH,CACtH;KACA,MAAM,CAAC,uBAAuB,EAAE,iEAAiE,CAAC;KAClG,cAAc,CAAC,iBAAiB,EAAE,yCAAyC,CAAC;KAC5E,MAAM,CAAC,wBAAwB,EAAE,0EAA0E,CAAC;KAC5G,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,GAAyB,IAAI,CAAC,KAAK,CAAC;IACnD,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAA4B;QACtC,eAAe,EAAE,IAAI,CAAC,MAAM;QAC5B,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,MAAM;KACxC,CAAC;IACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IAEvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAEvD,MAAM,UAAU,CAAC,oBAAoB,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAC7G,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
  export const flatLayCmd = new Command("flat-lay")
5
4
  .summary("AI flat-lay clothing generator — create professional flat-lay product images from a photo")
6
5
  .description("Generate a professional flat-lay clothing image from a garment or model photo.\n" +
@@ -27,39 +26,17 @@ export const flatLayCmd = new Command("flat-lay")
27
26
  .option("--task-name <name>", "Human-readable label for this run")
28
27
  .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
29
28
  .action(async (opts) => {
30
- try {
31
- const { url: imageUrl } = await resolveImage(opts.image);
32
- const params = {
33
- textDescription: opts.prompt,
34
- images: [imageUrl],
35
- modelName: opts.model ?? "nano2",
36
- imageSize: opts.imageSize ?? "1K",
37
- aspectRatio: opts.aspectRatio ?? "1:1",
38
- };
39
- if (opts.batch != null)
40
- params.batchCount = opts.batch;
41
- const input = { originalImage: imageUrl };
42
- if (opts.taskName)
43
- input.taskName = opts.taskName;
44
- const body = {
45
- agent: { name: "flat-lay", version: "v1.0" },
46
- input,
47
- params,
48
- };
49
- const { executionId } = await submitRun(body);
50
- printSubmitted(executionId);
51
- if (opts.wait !== false) {
52
- const data = await waitForCompletion(executionId);
53
- printPollResult(data);
54
- }
55
- else {
56
- console.log("[info]");
57
- console.log(` message: Use 'weshop status ${executionId}' to check progress`);
58
- }
59
- }
60
- catch (err) {
61
- printError(err);
62
- process.exit(1);
63
- }
29
+ const params = {
30
+ textDescription: opts.prompt,
31
+ modelName: opts.model ?? "nano2",
32
+ imageSize: opts.imageSize ?? "1K",
33
+ aspectRatio: opts.aspectRatio ?? "1:1",
34
+ };
35
+ if (opts.batch != null)
36
+ params.batchCount = opts.batch;
37
+ const extraInput = {};
38
+ if (opts.taskName)
39
+ extraInput.taskName = opts.taskName;
40
+ await executeRun("flat-lay", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
64
41
  });
65
42
  //# sourceMappingURL=flat-lay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flat-lay.js","sourceRoot":"","sources":["../../src/commands/flat-lay.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,UAAU,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;KAC9C,OAAO,CAAC,2FAA2F,CAAC;KACpG,WAAW,CACV,kFAAkF;IAClF,sDAAsD;IACtD,oBAAoB;IACpB,qCAAqC;IACrC,0BAA0B;IAC1B,8BAA8B;IAC9B,kCAAkC;IAClC,wBAAwB;IACxB,0BAA0B;IAC1B,kCAAkC;IAClC,iEAAiE;IACjE,aAAa;IACb,qGAAqG;IACrG,iIAAiI;IACjI,+GAA+G,CAChH;KACA,cAAc,CAAC,oBAAoB,EAAE,uDAAuD,CAAC;KAC7F,cAAc,CAAC,iBAAiB,EAAE,sCAAsC,CAAC;KACzE,MAAM,CAAC,gBAAgB,EAAE,uCAAuC,CAAC;KACjE,MAAM,CAAC,qBAAqB,EAAE,4CAA4C,CAAC;KAC3E,MAAM,CAAC,wBAAwB,EAAE,oCAAoC,CAAC;KACtE,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;YAC5B,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,OAAO;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;YACjC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK;SACvC,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,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE;YAC5C,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":"flat-lay.js","sourceRoot":"","sources":["../../src/commands/flat-lay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;KAC9C,OAAO,CAAC,2FAA2F,CAAC;KACpG,WAAW,CACV,kFAAkF;IAClF,sDAAsD;IACtD,oBAAoB;IACpB,qCAAqC;IACrC,0BAA0B;IAC1B,8BAA8B;IAC9B,kCAAkC;IAClC,wBAAwB;IACxB,0BAA0B;IAC1B,kCAAkC;IAClC,iEAAiE;IACjE,aAAa;IACb,qGAAqG;IACrG,iIAAiI;IACjI,+GAA+G,CAChH;KACA,cAAc,CAAC,oBAAoB,EAAE,uDAAuD,CAAC;KAC7F,cAAc,CAAC,iBAAiB,EAAE,sCAAsC,CAAC;KACzE,MAAM,CAAC,gBAAgB,EAAE,uCAAuC,CAAC;KACjE,MAAM,CAAC,qBAAqB,EAAE,4CAA4C,CAAC;KAC3E,MAAM,CAAC,wBAAwB,EAAE,oCAAoC,CAAC;KACtE,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B;QACtC,eAAe,EAAE,IAAI,CAAC,MAAM;QAC5B,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,OAAO;QAChC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;QACjC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK;KACvC,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,UAAU,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,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 { submitRun, waitForCompletion } from "../client.js";
3
- import { printSubmitted, printPollResult, printError } from "../printer.js";
2
+ import { executeRun } from "../run-helper.js";
4
3
  export const free4kVideoUpscalerCmd = new Command("free-4k-video-upscaler")
5
4
  .summary("Free 4K video upscaler — upscale video to 4K resolution using AI")
6
5
  .description("Upscale and enhance video quality to 4K resolution using AI.\n\n" +
@@ -16,27 +15,12 @@ export const free4kVideoUpscalerCmd = new Command("free-4k-video-upscaler")
16
15
  .option("--task-name <name>", "Human-readable label for this run")
17
16
  .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
18
17
  .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: "free-4k-video-upscaler", 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
- }
18
+ const params = {};
19
+ if (opts.videoSize)
20
+ params.videoSize = opts.videoSize;
21
+ const extraInput = {};
22
+ if (opts.taskName)
23
+ extraInput.taskName = opts.taskName;
24
+ await executeRun("free-4k-video-upscaler", "v1.0", { videos: [opts.video], wait: opts.wait }, params, extraInput);
41
25
  });
42
26
  //# sourceMappingURL=free-4k-video-upscaler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"free-4k-video-upscaler.js","sourceRoot":"","sources":["../../src/commands/free-4k-video-upscaler.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,sBAAsB,GAAG,IAAI,OAAO,CAAC,wBAAwB,CAAC;KACxE,OAAO,CAAC,kEAAkE,CAAC;KAC3E,WAAW,CACV,kEAAkE;IAClE,kFAAkF;IAClF,8DAA8D;IAC9D,oFAAoF;IACpF,aAAa;IACb,yEAAyE;IACzE,yFAAyF;IACzF,iFAAiF,CAClF;KACA,cAAc,CAAC,eAAe,EAAE,iBAAiB,CAAC;KAClD,MAAM,CAAC,qBAAqB,EAAE,uDAAuD,CAAC;KACtF,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,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":"free-4k-video-upscaler.js","sourceRoot":"","sources":["../../src/commands/free-4k-video-upscaler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,OAAO,CAAC,wBAAwB,CAAC;KACxE,OAAO,CAAC,kEAAkE,CAAC;KAC3E,WAAW,CACV,kEAAkE;IAClE,kFAAkF;IAClF,8DAA8D;IAC9D,oFAAoF;IACpF,aAAa;IACb,yEAAyE;IACzE,yFAAyF;IACzF,iFAAiF,CAClF;KACA,cAAc,CAAC,eAAe,EAAE,iBAAiB,CAAC;KAClD,MAAM,CAAC,qBAAqB,EAAE,uDAAuD,CAAC;KACtF,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,IAAI,IAAI,CAAC,SAAS;QAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACtD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,wBAAwB,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACpH,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 random AI girlfriend portrait, beautiful young woman, {ethnicity}, {hairstyle}, {makeup}, {vibe}, gentle soft smile, natural skin texture, cinematic soft lighting, {scene}, shallow depth of field, realistic photography, emotional warm atmosphere, 50mm lens, f1.8, ultra-detailed, 4k, masterpiece.";
5
4
  export const freeAiGirlfriendGeneratorCmd = new Command("free-ai-girlfriend-generator")
6
5
  .summary("AI girlfriend generator — generate a realistic AI girlfriend portrait from text or reference image")
@@ -17,32 +16,12 @@ export const freeAiGirlfriendGeneratorCmd = new Command("free-ai-girlfriend-gene
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: "free-ai-girlfriend-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("free-ai-girlfriend-generator", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
47
26
  });
48
27
  //# sourceMappingURL=free-ai-girlfriend-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"free-ai-girlfriend-generator.js","sourceRoot":"","sources":["../../src/commands/free-ai-girlfriend-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,4SAA4S,CAAC;AAE/S,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,OAAO,CAAC,8BAA8B,CAAC;KACpF,OAAO,CAAC,oGAAoG,CAAC;KAC7G,WAAW,CACV,0EAA0E;IAC1E,mDAAmD;IACnD,oGAAoG;IACpG,aAAa;IACb,2GAA2G;IAC3G,gHAAgH;IAChH,iDAAiD,CAClD;KACA,MAAM,CAAC,oBAAoB,EAAE,qDAAqD,CAAC;KACnF,MAAM,CAAC,iBAAiB,EAAE,0CAA0C,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,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,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"}
1
+ {"version":3,"file":"free-ai-girlfriend-generator.js","sourceRoot":"","sources":["../../src/commands/free-ai-girlfriend-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,4SAA4S,CAAC;AAE/S,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,OAAO,CAAC,8BAA8B,CAAC;KACpF,OAAO,CAAC,oGAAoG,CAAC;KAC7G,WAAW,CACV,0EAA0E;IAC1E,mDAAmD;IACnD,oGAAoG;IACpG,aAAa;IACb,2GAA2G;IAC3G,gHAAgH;IAChH,iDAAiD,CAClD;KACA,MAAM,CAAC,oBAAoB,EAAE,qDAAqD,CAAC;KACnF,MAAM,CAAC,iBAAiB,EAAE,0CAA0C,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,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,8BAA8B,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACvH,CAAC,CAAC,CAAC"}