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 hotBikiniModelsCmd = new Command("hot-bikini-models")
6
5
  .summary("Hot bikini models — transform a person photo into a bikini model image or video")
@@ -21,32 +20,15 @@ export const hotBikiniModelsCmd = new Command("hot-bikini-models")
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: "hot-bikini-models", 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("hot-bikini-models", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
51
33
  });
52
34
  //# sourceMappingURL=hot-bikini-models.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hot-bikini-models.js","sourceRoot":"","sources":["../../src/commands/hot-bikini-models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,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,kBAAkB,GAAG,IAAI,OAAO,CAAC,mBAAmB,CAAC;KAC/D,OAAO,CAAC,iFAAiF,CAAC;KAC1F,WAAW,CACV,iFAAiF;IACjF,sCAAsC;IACtC,8CAA8C;IAC9C,sCAAsC;IACtC,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,sFAAsF;IACtF,oFAAoF;IACpF,kFAAkF,CACnF;KACA,cAAc,CAAC,oBAAoB,EAAE,4DAA4D,CAAC;KAClG,MAAM,CAAC,iBAAiB,EAAE,yCAAyC,CAAC;KACpE,MAAM,CAAC,yBAAyB,EAAE,uCAAuC,CAAC;KAC1E,MAAM,CAAC,iBAAiB,EAAE,kDAAkD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACxG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,MAAM,GAA4B;YACtC,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc;YAC9C,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,OAAO;SAC7C,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QACvD,MAAM,KAAK,GAA4B,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;QACnE,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClD,MAAM,IAAI,GAAe,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAClG,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,cAAc,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAAC,eAAe,CAAC,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;QAAC,CAAC;aAC9E,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,WAAW,qBAAqB,CAAC,CAAC;QAAC,CAAC;IACjH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"hot-bikini-models.js","sourceRoot":"","sources":["../../src/commands/hot-bikini-models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,qIAAqI,CAAC;AAExI,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,OAAO,CAAC,mBAAmB,CAAC;KAC/D,OAAO,CAAC,iFAAiF,CAAC;KAC1F,WAAW,CACV,iFAAiF;IACjF,sCAAsC;IACtC,8CAA8C;IAC9C,sCAAsC;IACtC,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,sFAAsF;IACtF,oFAAoF;IACpF,kFAAkF,CACnF;KACA,cAAc,CAAC,oBAAoB,EAAE,4DAA4D,CAAC;KAClG,MAAM,CAAC,iBAAiB,EAAE,yCAAyC,CAAC;KACpE,MAAM,CAAC,yBAAyB,EAAE,uCAAuC,CAAC;KAC1E,MAAM,CAAC,iBAAiB,EAAE,kDAAkD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACxG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B;QACtC,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc;QAC9C,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,OAAO;KAC7C,CAAC;IACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,mBAAmB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAC5G,CAAC,CAAC,CAAC"}
@@ -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 = "Merge these two photos together naturally. Don't simply put element on the another image, try to generate a merged photo.";
5
4
  export const imageMixerCmd = new Command("image-mixer")
6
5
  .summary("Image mixer — naturally merge two photos into a single cohesive image")
@@ -18,40 +17,17 @@ export const imageMixerCmd = new Command("image-mixer")
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: Exactly 2 images required for image-mixer");
25
- process.exit(1);
26
- }
27
- const urls = [];
28
- for (const img of imageList) {
29
- const { url } = await resolveImage(img);
30
- urls.push(url);
31
- }
32
- const params = {
33
- textDescription: opts.prompt ?? DEFAULT_PROMPT,
34
- images: urls,
35
- };
36
- if (opts.batch != null)
37
- params.batchCount = opts.batch;
38
- const input = { originalImage: urls[0] };
39
- if (opts.taskName)
40
- input.taskName = opts.taskName;
41
- const body = { agent: { name: "image-mixer", version: "v1.0" }, input, params };
42
- const { executionId } = await submitRun(body);
43
- printSubmitted(executionId);
44
- if (opts.wait !== false) {
45
- printPollResult(await waitForCompletion(executionId));
46
- }
47
- else {
48
- console.log("[info]");
49
- console.log(` message: Use 'weshop status ${executionId}' to check progress`);
50
- }
51
- }
52
- catch (err) {
53
- printError(err);
20
+ const imageList = opts.image;
21
+ if (imageList.length !== 2) {
22
+ console.error("[error]\n message: Exactly 2 images required for image-mixer");
54
23
  process.exit(1);
55
24
  }
25
+ const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
26
+ if (opts.batch != null)
27
+ params.batchCount = opts.batch;
28
+ const extraInput = {};
29
+ if (opts.taskName)
30
+ extraInput.taskName = opts.taskName;
31
+ await executeRun("image-mixer", "v1.0", { images: imageList, wait: opts.wait }, params, extraInput);
56
32
  });
57
33
  //# sourceMappingURL=image-mixer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"image-mixer.js","sourceRoot":"","sources":["../../src/commands/image-mixer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAmB,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,cAAc,GAClB,2HAA2H,CAAC;AAE9H,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;KACpD,OAAO,CAAC,uEAAuE,CAAC;KAChF,WAAW,CACV,oEAAoE;IACpE,0FAA0F;IAC1F,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,kEAAkE;IAClE,mIAAmI;IACnI,gEAAgE,CACjE;KACA,cAAc,CAAC,uBAAuB,EAAE,mEAAmE,CAAC;KAC5G,MAAM,CAAC,iBAAiB,EAAE,iEAAiE,CAAC;KAC5F,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,IAAI,CAAC;QACH,MAAM,SAAS,GAAa,IAAI,CAAC,KAAK,CAAC;QACvC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;YAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;QACD,MAAM,MAAM,GAA4B;YACtC,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc;YAC9C,MAAM,EAAE,IAAI;SACb,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QACvD,MAAM,KAAK,GAA4B,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClD,MAAM,IAAI,GAAe,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC5F,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":"image-mixer.js","sourceRoot":"","sources":["../../src/commands/image-mixer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,2HAA2H,CAAC;AAE9H,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;KACpD,OAAO,CAAC,uEAAuE,CAAC;KAChF,WAAW,CACV,oEAAoE;IACpE,0FAA0F;IAC1F,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,kEAAkE;IAClE,mIAAmI;IACnI,gEAAgE,CACjE;KACA,cAAc,CAAC,uBAAuB,EAAE,mEAAmE,CAAC;KAC5G,MAAM,CAAC,iBAAiB,EAAE,iEAAiE,CAAC;KAC5F,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,SAAS,GAAa,IAAI,CAAC,KAAK,CAAC;IACvC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACtG,CAAC,CAAC,CAAC"}
@@ -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 image into rough pencil sketch without changing details.";
5
4
  export const imageToSketchCmd = new Command("image-to-sketch")
6
5
  .summary("AI image to sketch — convert a photo into a rough pencil sketch")
@@ -17,28 +16,12 @@ export const imageToSketchCmd = new Command("image-to-sketch")
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: "image-to-sketch", 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("image-to-sketch", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
43
26
  });
44
27
  //# sourceMappingURL=image-to-sketch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"image-to-sketch.js","sourceRoot":"","sources":["../../src/commands/image-to-sketch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,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,oEAAoE,CAAC;AAE5F,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAAC,iBAAiB,CAAC;KAC3D,OAAO,CAAC,iEAAiE,CAAC;KAC1E,WAAW,CACV,yFAAyF;IACzF,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,gDAAgD;IAChD,qGAAqG;IACrG,wDAAwD,CACzD;KACA,cAAc,CAAC,oBAAoB,EAAE,sCAAsC,CAAC;KAC5E,MAAM,CAAC,iBAAiB,EAAE,iCAAiC,CAAC;KAC5D,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,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,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAChG,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":"image-to-sketch.js","sourceRoot":"","sources":["../../src/commands/image-to-sketch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAAG,oEAAoE,CAAC;AAE5F,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAAC,iBAAiB,CAAC;KAC3D,OAAO,CAAC,iEAAiE,CAAC;KAC1E,WAAW,CACV,yFAAyF;IACzF,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,gDAAgD;IAChD,qGAAqG;IACrG,wDAAwD,CACzD;KACA,cAAc,CAAC,oBAAoB,EAAE,sCAAsC,CAAC;KAC5E,MAAM,CAAC,iBAAiB,EAAE,iCAAiC,CAAC;KAC5D,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAC1G,CAAC,CAAC,CAAC"}
@@ -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 improveVideoQualityOnlineFreeCmd = new Command("improve-video-quality-online-free")
5
4
  .summary("Improve video quality online free — upscale and enhance video quality using AI")
6
5
  .description("Upscale and enhance video quality using AI.\n\n" +
@@ -16,27 +15,12 @@ export const improveVideoQualityOnlineFreeCmd = new Command("improve-video-quali
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: "improve-video-quality-online-free", version: "v1.0" }, input, params };
27
- const { executionId } = await submitRun(body);
28
- printSubmitted(executionId);
29
- if (opts.wait !== false) {
30
- printPollResult(await waitForCompletion(executionId));
31
- }
32
- else {
33
- console.log("[info]");
34
- console.log(` message: Use 'weshop status ${executionId}' to check progress`);
35
- }
36
- }
37
- catch (err) {
38
- printError(err);
39
- process.exit(1);
40
- }
18
+ const params = {};
19
+ if (opts.videoSize)
20
+ params.videoSize = opts.videoSize;
21
+ const extraInput = {};
22
+ if (opts.taskName)
23
+ extraInput.taskName = opts.taskName;
24
+ await executeRun("improve-video-quality-online-free", "v1.0", { videos: [opts.video], wait: opts.wait }, params, extraInput);
41
25
  });
42
26
  //# sourceMappingURL=improve-video-quality-online-free.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"improve-video-quality-online-free.js","sourceRoot":"","sources":["../../src/commands/improve-video-quality-online-free.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAmB,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,CAAC,MAAM,gCAAgC,GAAG,IAAI,OAAO,CAAC,mCAAmC,CAAC;KAC7F,OAAO,CAAC,gFAAgF,CAAC;KACzF,WAAW,CACV,iDAAiD;IACjD,kFAAkF;IAClF,8DAA8D;IAC9D,sEAAsE;IACtE,aAAa;IACb,oFAAoF;IACpF,oGAAoG;IACpG,4FAA4F,CAC7F;KACA,cAAc,CAAC,eAAe,EAAE,iBAAiB,CAAC;KAClD,MAAM,CAAC,qBAAqB,EAAE,yCAAyC,CAAC;KACxE,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,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,mCAAmC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAClH,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":"improve-video-quality-online-free.js","sourceRoot":"","sources":["../../src/commands/improve-video-quality-online-free.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,MAAM,gCAAgC,GAAG,IAAI,OAAO,CAAC,mCAAmC,CAAC;KAC7F,OAAO,CAAC,gFAAgF,CAAC;KACzF,WAAW,CACV,iDAAiD;IACjD,kFAAkF;IAClF,8DAA8D;IAC9D,sEAAsE;IACtE,aAAa;IACb,oFAAoF;IACpF,oGAAoG;IACpG,4FAA4F,CAC7F;KACA,cAAc,CAAC,eAAe,EAAE,iBAAiB,CAAC;KAClD,MAAM,CAAC,qBAAqB,EAAE,yCAAyC,CAAC;KACxE,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,IAAI,IAAI,CAAC,SAAS;QAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACtD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,mCAAmC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAC/H,CAAC,CAAC,CAAC"}
@@ -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 klingCmd = new Command("kling")
5
4
  .summary("AI video generation — create cinematic videos from images and text using Kling")
6
5
  .description("AI video generation — create cinematic videos from images and text using Kling.\n\n" +
@@ -30,46 +29,20 @@ export const klingCmd = new Command("kling")
30
29
  .option("--task-name <name>", "Human-readable label for this run")
31
30
  .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
32
31
  .action(async (opts) => {
33
- try {
34
- const { url: imageUrl } = await resolveImage(opts.image);
35
- console.log("[image]");
36
- console.log(` imageUrl: ${imageUrl}`);
37
- const params = {
38
- textDescription: opts.prompt,
39
- images: [imageUrl],
40
- };
41
- if (opts.model)
42
- params.modelName = opts.model;
43
- if (opts.duration)
44
- params.duration = opts.duration;
45
- if (opts.generateAudio !== undefined)
46
- params.generateAudio = opts.generateAudio;
47
- if (opts.batch != null)
48
- params.batchCount = opts.batch;
49
- const input = {
50
- originalImage: imageUrl,
51
- };
52
- if (opts.taskName)
53
- input.taskName = opts.taskName;
54
- const body = {
55
- agent: { name: "kling", version: "v1.0" },
56
- input,
57
- params,
58
- };
59
- const { executionId } = await submitRun(body);
60
- printSubmitted(executionId);
61
- if (opts.wait !== false) {
62
- const data = await waitForCompletion(executionId);
63
- printPollResult(data);
64
- }
65
- else {
66
- console.log("[info]");
67
- console.log(` message: Use 'weshop status ${executionId}' to check progress`);
68
- }
69
- }
70
- catch (err) {
71
- printError(err);
72
- process.exit(1);
73
- }
32
+ const params = {
33
+ textDescription: opts.prompt,
34
+ };
35
+ if (opts.model)
36
+ params.modelName = opts.model;
37
+ if (opts.duration)
38
+ params.duration = opts.duration;
39
+ if (opts.generateAudio !== undefined)
40
+ params.generateAudio = opts.generateAudio;
41
+ if (opts.batch != null)
42
+ params.batchCount = opts.batch;
43
+ const extraInput = {};
44
+ if (opts.taskName)
45
+ extraInput.taskName = opts.taskName;
46
+ await executeRun("kling", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
74
47
  });
75
48
  //# sourceMappingURL=kling.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"kling.js","sourceRoot":"","sources":["../../src/commands/kling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAmB,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;KACzC,OAAO,CAAC,gFAAgF,CAAC;KACzF,WAAW,CACV,qFAAqF;IACrF,uFAAuF;IACvF,+DAA+D;IAC/D,oBAAoB;IACpB,wFAAwF;IACxF,kDAAkD;IAClD,yDAAyD;IACzD,uDAAuD;IACvD,mCAAmC;IACnC,0BAA0B;IAC1B,yFAAyF;IACzF,0CAA0C;IAC1C,wCAAwC;IACxC,6EAA6E;IAC7E,aAAa;IACb,0FAA0F;IAC1F,4GAA4G;IAC5G,qIAAqI,CACtI;KACA,cAAc,CAAC,oBAAoB,EAAE,iDAAiD,CAAC;KACvF,cAAc,CAAC,iBAAiB,EAAE,sCAAsC,CAAC;KACzE,MAAM,CAAC,gBAAgB,EAAE,0CAA0C,CAAC;KACpE,MAAM,CAAC,mBAAmB,EAAE,4CAA4C,CAAC;KACzE,MAAM,CAAC,yBAAyB,EAAE,8DAA8D,CAAC;KACjG,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC;QAEvC,MAAM,MAAM,GAA4B;YACtC,eAAe,EAAE,IAAI,CAAC,MAAM;YAC5B,MAAM,EAAE,CAAC,QAAQ,CAAC;SACnB,CAAC;QACF,IAAI,IAAI,CAAC,KAAK;YAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QAC9C,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACnD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;YAAE,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAChF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QAEvD,MAAM,KAAK,GAA4B;YACrC,aAAa,EAAE,QAAQ;SACxB,CAAC;QACF,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAElD,MAAM,IAAI,GAAe;YACvB,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE;YACzC,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":"kling.js","sourceRoot":"","sources":["../../src/commands/kling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;KACzC,OAAO,CAAC,gFAAgF,CAAC;KACzF,WAAW,CACV,qFAAqF;IACrF,uFAAuF;IACvF,+DAA+D;IAC/D,oBAAoB;IACpB,wFAAwF;IACxF,kDAAkD;IAClD,yDAAyD;IACzD,uDAAuD;IACvD,mCAAmC;IACnC,0BAA0B;IAC1B,yFAAyF;IACzF,0CAA0C;IAC1C,wCAAwC;IACxC,6EAA6E;IAC7E,aAAa;IACb,0FAA0F;IAC1F,4GAA4G;IAC5G,qIAAqI,CACtI;KACA,cAAc,CAAC,oBAAoB,EAAE,iDAAiD,CAAC;KACvF,cAAc,CAAC,iBAAiB,EAAE,sCAAsC,CAAC;KACzE,MAAM,CAAC,gBAAgB,EAAE,0CAA0C,CAAC;KACpE,MAAM,CAAC,mBAAmB,EAAE,4CAA4C,CAAC;KACzE,MAAM,CAAC,yBAAyB,EAAE,8DAA8D,CAAC;KACjG,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B;QACtC,eAAe,EAAE,IAAI,CAAC,MAAM;KAC7B,CAAC;IACF,IAAI,IAAI,CAAC,KAAK;QAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;IAC9C,IAAI,IAAI,CAAC,QAAQ;QAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACnD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;QAAE,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IAChF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IAEvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAEvD,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAChG,CAAC,CAAC,CAAC"}
@@ -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 logoRemoverFromVideoCmd = new Command("logo-remover-from-video")
5
4
  .summary("Logo remover from video — remove logos or watermarks from a video")
6
5
  .description("Remove logos, watermarks, or brand overlays from a video using AI.\n\n" +
@@ -13,25 +12,10 @@ export const logoRemoverFromVideoCmd = new Command("logo-remover-from-video")
13
12
  .option("--task-name <name>", "Human-readable label for this run")
14
13
  .option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
15
14
  .action(async (opts) => {
16
- try {
17
- const params = { videos: [opts.video], watermarkSelectType: "autoDetect" };
18
- const input = { videos: [opts.video] };
19
- if (opts.taskName)
20
- input.taskName = opts.taskName;
21
- const body = { agent: { name: "logo-remover-from-video", version: "v1.0" }, input, params };
22
- const { executionId } = await submitRun(body);
23
- printSubmitted(executionId);
24
- if (opts.wait !== false) {
25
- printPollResult(await waitForCompletion(executionId));
26
- }
27
- else {
28
- console.log("[info]");
29
- console.log(` message: Use 'weshop status ${executionId}' to check progress`);
30
- }
31
- }
32
- catch (err) {
33
- printError(err);
34
- process.exit(1);
35
- }
15
+ const params = { watermarkSelectType: "autoDetect" };
16
+ const extraInput = {};
17
+ if (opts.taskName)
18
+ extraInput.taskName = opts.taskName;
19
+ await executeRun("logo-remover-from-video", "v1.0", { videos: [opts.video], wait: opts.wait }, params, extraInput);
36
20
  });
37
21
  //# sourceMappingURL=logo-remover-from-video.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logo-remover-from-video.js","sourceRoot":"","sources":["../../src/commands/logo-remover-from-video.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAmB,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,OAAO,CAAC,yBAAyB,CAAC;KAC1E,OAAO,CAAC,mEAAmE,CAAC;KAC5E,WAAW,CACV,wEAAwE;IACxE,kFAAkF;IAClF,8DAA8D;IAC9D,aAAa;IACb,0EAA0E;IAC1E,kFAAkF,CACnF;KACA,cAAc,CAAC,eAAe,EAAE,iBAAiB,CAAC;KAClD,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,IAAI,CAAC;QACH,MAAM,MAAM,GAA4B,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,mBAAmB,EAAE,YAAY,EAAE,CAAC;QACpG,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,yBAAyB,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACxG,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":"logo-remover-from-video.js","sourceRoot":"","sources":["../../src/commands/logo-remover-from-video.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,OAAO,CAAC,yBAAyB,CAAC;KAC1E,OAAO,CAAC,mEAAmE,CAAC;KAC5E,WAAW,CACV,wEAAwE;IACxE,kFAAkF;IAClF,8DAA8D;IAC9D,aAAa;IACb,0EAA0E;IAC1E,kFAAkF,CACnF;KACA,cAAc,CAAC,eAAe,EAAE,iBAAiB,CAAC;KAClD,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,mBAAmB,EAAE,YAAY,EAAE,CAAC;IAC9E,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,yBAAyB,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACrH,CAAC,CAAC,CAAC"}
@@ -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 midjourneyCmd = new Command("midjourney")
5
4
  .summary("Midjourney image generator — create high-quality images using Midjourney v6.1, v7, or Niji 6")
6
5
  .description("Generate images using Midjourney models. Image is optional.\n\n" +
@@ -21,34 +20,14 @@ export const midjourneyCmd = new Command("midjourney")
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 params = {
26
- textDescription: opts.prompt,
27
- modelName: opts.model ?? "Midjourney_6_1",
28
- aspectRatio: opts.aspectRatio ?? "1:1",
29
- };
30
- const input = {};
31
- if (opts.taskName)
32
- input.taskName = opts.taskName;
33
- if (opts.image) {
34
- const { url: imageUrl } = await resolveImage(opts.image);
35
- params.images = [imageUrl];
36
- input.originalImage = imageUrl;
37
- }
38
- const body = { agent: { name: "midjourney", version: "v1.0" }, input, params };
39
- const { executionId } = await submitRun(body);
40
- printSubmitted(executionId);
41
- if (opts.wait !== false) {
42
- printPollResult(await waitForCompletion(executionId));
43
- }
44
- else {
45
- console.log("[info]");
46
- console.log(` message: Use 'weshop status ${executionId}' to check progress`);
47
- }
48
- }
49
- catch (err) {
50
- printError(err);
51
- process.exit(1);
52
- }
23
+ const params = {
24
+ textDescription: opts.prompt,
25
+ modelName: opts.model ?? "Midjourney_6_1",
26
+ aspectRatio: opts.aspectRatio ?? "1:1",
27
+ };
28
+ const extraInput = {};
29
+ if (opts.taskName)
30
+ extraInput.taskName = opts.taskName;
31
+ await executeRun("midjourney", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
53
32
  });
54
33
  //# sourceMappingURL=midjourney.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"midjourney.js","sourceRoot":"","sources":["../../src/commands/midjourney.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,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,aAAa,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC;KACnD,OAAO,CAAC,8FAA8F,CAAC;KACvG,WAAW,CACV,iEAAiE;IACjE,oBAAoB;IACpB,gDAAgD;IAChD,oCAAoC;IACpC,+CAA+C;IAC/C,kCAAkC;IAClC,iDAAiD;IACjD,aAAa;IACb,kFAAkF;IAClF,2GAA2G;IAC3G,qGAAqG,CACtG;KACA,MAAM,CAAC,oBAAoB,EAAE,qDAAqD,CAAC;KACnF,cAAc,CAAC,iBAAiB,EAAE,4BAA4B,CAAC;KAC/D,MAAM,CAAC,gBAAgB,EAAE,qEAAqE,CAAC;KAC/F,MAAM,CAAC,wBAAwB,EAAE,+DAA+D,CAAC;KACjG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,IAAI,CAAC;QACH,MAAM,MAAM,GAA4B;YACtC,eAAe,EAAE,IAAI,CAAC,MAAM;YAC5B,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,gBAAgB;YACzC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK;SACvC,CAAC;QACF,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,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC3F,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":"midjourney.js","sourceRoot":"","sources":["../../src/commands/midjourney.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC;KACnD,OAAO,CAAC,8FAA8F,CAAC;KACvG,WAAW,CACV,iEAAiE;IACjE,oBAAoB;IACpB,gDAAgD;IAChD,oCAAoC;IACpC,+CAA+C;IAC/C,kCAAkC;IAClC,iDAAiD;IACjD,aAAa;IACb,kFAAkF;IAClF,2GAA2G;IAC3G,qGAAqG,CACtG;KACA,MAAM,CAAC,oBAAoB,EAAE,qDAAqD,CAAC;KACnF,cAAc,CAAC,iBAAiB,EAAE,4BAA4B,CAAC;KAC/D,MAAM,CAAC,gBAAgB,EAAE,qEAAqE,CAAC;KAC/F,MAAM,CAAC,wBAAwB,EAAE,+DAA+D,CAAC;KACjG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B;QACtC,eAAe,EAAE,IAAI,CAAC,MAAM;QAC5B,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,gBAAgB;QACzC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK;KACvC,CAAC;IAEF,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAEvD,MAAM,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACrG,CAAC,CAAC,CAAC"}
@@ -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 = "Generate a mugshot of this person, height measurement background, keep face and appearance detail.";
5
4
  export const mugshotCreatorCmd = new Command("mugshot-creator")
6
5
  .summary("AI mugshot creator — generate a police-style mugshot photo from a portrait")
@@ -18,28 +17,12 @@ export const mugshotCreatorCmd = new Command("mugshot-creator")
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 = { textDescription: opts.prompt ?? DEFAULT_PROMPT, images: [imageUrl] };
24
- if (opts.batch != null)
25
- params.batchCount = opts.batch;
26
- const input = { originalImage: imageUrl };
27
- if (opts.taskName)
28
- input.taskName = opts.taskName;
29
- const body = { agent: { name: "mugshot-creator", version: "v1.0" }, input, params };
30
- const { executionId } = await submitRun(body);
31
- printSubmitted(executionId);
32
- if (opts.wait !== false) {
33
- printPollResult(await waitForCompletion(executionId));
34
- }
35
- else {
36
- console.log("[info]");
37
- console.log(` message: Use 'weshop status ${executionId}' to check progress`);
38
- }
39
- }
40
- catch (err) {
41
- printError(err);
42
- process.exit(1);
43
- }
20
+ const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
21
+ if (opts.batch != null)
22
+ params.batchCount = opts.batch;
23
+ const extraInput = {};
24
+ if (opts.taskName)
25
+ extraInput.taskName = opts.taskName;
26
+ await executeRun("mugshot-creator", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
44
27
  });
45
28
  //# sourceMappingURL=mugshot-creator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mugshot-creator.js","sourceRoot":"","sources":["../../src/commands/mugshot-creator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,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,oGAAoG,CAAC;AAEvG,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAC,iBAAiB,CAAC;KAC5D,OAAO,CAAC,4EAA4E,CAAC;KACrF,WAAW,CACV,kFAAkF;IAClF,8DAA8D;IAC9D,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,iDAAiD;IACjD,wGAAwG;IACxG,yDAAyD,CAC1D;KACA,cAAc,CAAC,oBAAoB,EAAE,+CAA+C,CAAC;KACrF,MAAM,CAAC,iBAAiB,EAAE,4BAA4B,CAAC;KACvD,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,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,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAChG,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":"mugshot-creator.js","sourceRoot":"","sources":["../../src/commands/mugshot-creator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,oGAAoG,CAAC;AAEvG,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAC,iBAAiB,CAAC;KAC5D,OAAO,CAAC,4EAA4E,CAAC;KACrF,WAAW,CACV,kFAAkF;IAClF,8DAA8D;IAC9D,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,iDAAiD;IACjD,wGAAwG;IACxG,yDAAyD,CAC1D;KACA,cAAc,CAAC,oBAAoB,EAAE,+CAA+C,CAAC;KACrF,MAAM,CAAC,iBAAiB,EAAE,4BAA4B,CAAC;KACvD,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAC1G,CAAC,CAAC,CAAC"}
@@ -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 = "Convert the person from the reference image into a Murder Drones inspired OC. Strictly maintain facial identity, head shape, and signature traits, while transforming the body into an elegant yet dangerous robotic drone form. Smooth black metal armor, luminous LED accents, claw-like fingers, floating mechanical components, glowing visor or eyes, dark cyberpunk environment, cinematic lighting, high detail sci-fi illustration, clean composition, 4k, character concept art, masterpiece.";
5
4
  export const murderDronesOcCmd = new Command("murder-drones-oc")
6
5
  .summary("AI Murder Drones OC maker — transform a person into a Murder Drones-inspired robotic drone character")
@@ -19,32 +18,12 @@ export const murderDronesOcCmd = new Command("murder-drones-oc")
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: "murder-drones-oc", 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("murder-drones-oc", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
49
28
  });
50
29
  //# sourceMappingURL=murder-drones-oc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"murder-drones-oc.js","sourceRoot":"","sources":["../../src/commands/murder-drones-oc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,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,weAAwe,CAAC;AAE3e,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAC,kBAAkB,CAAC;KAC7D,OAAO,CAAC,sGAAsG,CAAC;KAC/G,WAAW,CACV,kFAAkF;IAClF,uDAAuD;IACvD,mDAAmD;IACnD,wFAAwF;IACxF,+DAA+D;IAC/D,aAAa;IACb,kDAAkD;IAClD,4FAA4F;IAC5F,0DAA0D,CAC3D;KACA,MAAM,CAAC,oBAAoB,EAAE,4DAA4D,CAAC;KAC1F,MAAM,CAAC,iBAAiB,EAAE,qCAAqC,CAAC;KAChE,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,IAAI,CAAC;QACH,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;QAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QACvD,MAAM,KAAK,GAA4B,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzD,MAAM,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC3B,KAAK,CAAC,aAAa,GAAG,QAAQ,CAAC;QACjC,CAAC;QACD,MAAM,IAAI,GAAe,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACjG,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,cAAc,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAAC,eAAe,CAAC,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;QAAC,CAAC;aAC9E,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,WAAW,qBAAqB,CAAC,CAAC;QAAC,CAAC;IACjH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"murder-drones-oc.js","sourceRoot":"","sources":["../../src/commands/murder-drones-oc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,weAAwe,CAAC;AAE3e,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAC,kBAAkB,CAAC;KAC7D,OAAO,CAAC,sGAAsG,CAAC;KAC/G,WAAW,CACV,kFAAkF;IAClF,uDAAuD;IACvD,mDAAmD;IACnD,wFAAwF;IACxF,+DAA+D;IAC/D,aAAa;IACb,kDAAkD;IAClD,4FAA4F;IAC5F,0DAA0D,CAC3D;KACA,MAAM,CAAC,oBAAoB,EAAE,4DAA4D,CAAC;KAC1F,MAAM,CAAC,iBAAiB,EAAE,qCAAqC,CAAC;KAChE,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,kBAAkB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAC3G,CAAC,CAAC,CAAC"}
@@ -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 = "Design an complete new and recommended outfit based on the uploaded photo. Keep original face and body proportion, keep original pose and background; Keep original image composition; select the proper texture used for outfit. No annotations required.\n1. Analyze the core characteristics of the model, dressing style and potential personality of the subject.\n2. Extract the disassemblable first-level elements (coat, shoes, big expression)\n3. Generate a composite diagram containing all these elements, ensuring accurate perspective, unified lighting and shadow, keep everything else same.";
5
4
  export const outfitGeneratorCmd = new Command("outfit-generator")
6
5
  .summary("AI outfit generator — redesign a complete outfit on a person photo based on style prompt")
@@ -19,36 +18,12 @@ export const outfitGeneratorCmd = new Command("outfit-generator")
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 { url: imageUrl } = await resolveImage(opts.image);
24
- const params = {
25
- textDescription: opts.prompt ?? DEFAULT_PROMPT,
26
- images: [imageUrl],
27
- };
28
- if (opts.batch != null)
29
- params.batchCount = opts.batch;
30
- const input = { originalImage: imageUrl };
31
- if (opts.taskName)
32
- input.taskName = opts.taskName;
33
- const body = {
34
- agent: { name: "outfit-generator", version: "v1.0" },
35
- input,
36
- params,
37
- };
38
- const { executionId } = await submitRun(body);
39
- printSubmitted(executionId);
40
- if (opts.wait !== false) {
41
- const data = await waitForCompletion(executionId);
42
- printPollResult(data);
43
- }
44
- else {
45
- console.log("[info]");
46
- console.log(` message: Use 'weshop status ${executionId}' to check progress`);
47
- }
48
- }
49
- catch (err) {
50
- printError(err);
51
- process.exit(1);
52
- }
21
+ const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
22
+ if (opts.batch != null)
23
+ params.batchCount = opts.batch;
24
+ const extraInput = {};
25
+ if (opts.taskName)
26
+ extraInput.taskName = opts.taskName;
27
+ await executeRun("outfit-generator", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
53
28
  });
54
29
  //# sourceMappingURL=outfit-generator.js.map