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.
- package/dist/commands/2d-to-3d-image-converter.js +8 -25
- package/dist/commands/2d-to-3d-image-converter.js.map +1 -1
- package/dist/commands/ai-3d-rendering.js +8 -25
- package/dist/commands/ai-3d-rendering.js.map +1 -1
- package/dist/commands/ai-action-figure-generators.js +8 -29
- package/dist/commands/ai-action-figure-generators.js.map +1 -1
- package/dist/commands/ai-aging.js +8 -33
- package/dist/commands/ai-aging.js.map +1 -1
- package/dist/commands/ai-babe.js +9 -26
- package/dist/commands/ai-babe.js.map +1 -1
- package/dist/commands/ai-bikini-model.js +12 -30
- package/dist/commands/ai-bikini-model.js.map +1 -1
- package/dist/commands/ai-bikini-photo-editor.js +9 -26
- package/dist/commands/ai-bikini-photo-editor.js.map +1 -1
- package/dist/commands/ai-bikini-video.js +10 -28
- package/dist/commands/ai-bikini-video.js.map +1 -1
- package/dist/commands/ai-christmas-photo.js +8 -28
- package/dist/commands/ai-christmas-photo.js.map +1 -1
- package/dist/commands/ai-clothes-changer.js +11 -32
- package/dist/commands/ai-clothes-changer.js.map +1 -1
- package/dist/commands/ai-collage-maker.js +11 -32
- package/dist/commands/ai-collage-maker.js.map +1 -1
- package/dist/commands/ai-dog.js +8 -35
- package/dist/commands/ai-dog.js.map +1 -1
- package/dist/commands/ai-elf.js +8 -25
- package/dist/commands/ai-elf.js.map +1 -1
- package/dist/commands/ai-face-merge.js +11 -40
- package/dist/commands/ai-face-merge.js.map +1 -1
- package/dist/commands/ai-feet.js +8 -25
- package/dist/commands/ai-feet.js.map +1 -1
- package/dist/commands/ai-flag-generator.js +8 -29
- package/dist/commands/ai-flag-generator.js.map +1 -1
- package/dist/commands/ai-generated-bikini-girls.js +11 -29
- package/dist/commands/ai-generated-bikini-girls.js.map +1 -1
- package/dist/commands/ai-generated-perfect-female-body.js +11 -29
- package/dist/commands/ai-generated-perfect-female-body.js.map +1 -1
- package/dist/commands/ai-ghost-mannequin-generator.js +12 -30
- package/dist/commands/ai-ghost-mannequin-generator.js.map +1 -1
- package/dist/commands/ai-group-photo-generator.js +11 -32
- package/dist/commands/ai-group-photo-generator.js.map +1 -1
- package/dist/commands/ai-hair-color-changer.js +8 -28
- package/dist/commands/ai-hair-color-changer.js.map +1 -1
- package/dist/commands/ai-hairstyle-changer.js +8 -29
- package/dist/commands/ai-hairstyle-changer.js.map +1 -1
- package/dist/commands/ai-hot-girl-image.js +11 -29
- package/dist/commands/ai-hot-girl-image.js.map +1 -1
- package/dist/commands/ai-image-animation.js +13 -34
- package/dist/commands/ai-image-animation.js.map +1 -1
- package/dist/commands/ai-image-combiner.js +11 -35
- package/dist/commands/ai-image-combiner.js.map +1 -1
- package/dist/commands/ai-landscape-design-free.js +15 -35
- package/dist/commands/ai-landscape-design-free.js.map +1 -1
- package/dist/commands/ai-lingerie-models.js +11 -29
- package/dist/commands/ai-lingerie-models.js.map +1 -1
- package/dist/commands/ai-photoshoot.js +21 -43
- package/dist/commands/ai-photoshoot.js.map +1 -1
- package/dist/commands/ai-poster-from-images.js +19 -44
- package/dist/commands/ai-poster-from-images.js.map +1 -1
- package/dist/commands/ai-poster.js +22 -42
- package/dist/commands/ai-poster.js.map +1 -1
- package/dist/commands/ai-room-planner.js +8 -29
- package/dist/commands/ai-room-planner.js.map +1 -1
- package/dist/commands/ai-selfie.js +8 -25
- package/dist/commands/ai-selfie.js.map +1 -1
- package/dist/commands/ai-sexy-portrait.js +11 -29
- package/dist/commands/ai-sexy-portrait.js.map +1 -1
- package/dist/commands/ai-sexy-teens.js +11 -29
- package/dist/commands/ai-sexy-teens.js.map +1 -1
- package/dist/commands/ai-spray-paint.js +8 -29
- package/dist/commands/ai-spray-paint.js.map +1 -1
- package/dist/commands/ai-swimsuit-model.js +8 -25
- package/dist/commands/ai-swimsuit-model.js.map +1 -1
- package/dist/commands/ai-tattoo-generator.js +8 -29
- package/dist/commands/ai-tattoo-generator.js.map +1 -1
- package/dist/commands/ai-text-remover-from-video.js +6 -22
- package/dist/commands/ai-text-remover-from-video.js.map +1 -1
- package/dist/commands/ai-translate.js +8 -33
- package/dist/commands/ai-translate.js.map +1 -1
- package/dist/commands/ai-video-enhancer.js +8 -28
- package/dist/commands/ai-video-enhancer.js.map +1 -1
- package/dist/commands/ai-werewolf.js +14 -32
- package/dist/commands/ai-werewolf.js.map +1 -1
- package/dist/commands/ai-xray-clothes.js +8 -25
- package/dist/commands/ai-xray-clothes.js.map +1 -1
- package/dist/commands/ai-zombie.js +8 -25
- package/dist/commands/ai-zombie.js.map +1 -1
- package/dist/commands/anime-image-converter.js +8 -25
- package/dist/commands/anime-image-converter.js.map +1 -1
- package/dist/commands/baby-face-generator.js +15 -35
- package/dist/commands/baby-face-generator.js.map +1 -1
- package/dist/commands/bald-filter.js +8 -28
- package/dist/commands/bald-filter.js.map +1 -1
- package/dist/commands/bangs-filter.js +8 -25
- package/dist/commands/bangs-filter.js.map +1 -1
- package/dist/commands/bikini-contest-photos.js +11 -29
- package/dist/commands/bikini-contest-photos.js.map +1 -1
- package/dist/commands/bikini-try-on.js +8 -25
- package/dist/commands/bikini-try-on.js.map +1 -1
- package/dist/commands/braces-filter.js +8 -25
- package/dist/commands/braces-filter.js.map +1 -1
- package/dist/commands/brat-generator.js +8 -29
- package/dist/commands/brat-generator.js.map +1 -1
- package/dist/commands/buzz-cut-ai.js +8 -33
- package/dist/commands/buzz-cut-ai.js.map +1 -1
- package/dist/commands/celeb-ai.js +11 -32
- package/dist/commands/celeb-ai.js.map +1 -1
- package/dist/commands/chibi-maker.js +8 -33
- package/dist/commands/chibi-maker.js.map +1 -1
- package/dist/commands/clothing-magic-remover.js +9 -26
- package/dist/commands/clothing-magic-remover.js.map +1 -1
- package/dist/commands/custom-bikini.js +11 -29
- package/dist/commands/custom-bikini.js.map +1 -1
- package/dist/commands/cute-anime-girl-ai-bikini.js +11 -29
- package/dist/commands/cute-anime-girl-ai-bikini.js.map +1 -1
- package/dist/commands/demon-slayer-oc-maker.js +8 -29
- package/dist/commands/demon-slayer-oc-maker.js.map +1 -1
- package/dist/commands/dress-remover-magic-eraser.js +9 -26
- package/dist/commands/dress-remover-magic-eraser.js.map +1 -1
- package/dist/commands/face-forge.js +20 -50
- package/dist/commands/face-forge.js.map +1 -1
- package/dist/commands/fat-ai.js +8 -33
- package/dist/commands/fat-ai.js.map +1 -1
- package/dist/commands/firered-image-edit.js +14 -39
- package/dist/commands/firered-image-edit.js.map +1 -1
- package/dist/commands/flat-lay.js +13 -36
- package/dist/commands/flat-lay.js.map +1 -1
- package/dist/commands/free-4k-video-upscaler.js +8 -24
- package/dist/commands/free-4k-video-upscaler.js.map +1 -1
- package/dist/commands/free-ai-girlfriend-generator.js +8 -29
- package/dist/commands/free-ai-girlfriend-generator.js.map +1 -1
- package/dist/commands/free-online-video-quality-enhancer.js +8 -24
- package/dist/commands/free-online-video-quality-enhancer.js.map +1 -1
- package/dist/commands/free-sexy-ai-generator.js +11 -29
- package/dist/commands/free-sexy-ai-generator.js.map +1 -1
- package/dist/commands/futuristic-elegance.js +8 -33
- package/dist/commands/futuristic-elegance.js.map +1 -1
- package/dist/commands/gemini-watermark-remover.js +6 -22
- package/dist/commands/gemini-watermark-remover.js.map +1 -1
- package/dist/commands/gender-swap.js +8 -33
- package/dist/commands/gender-swap.js.map +1 -1
- package/dist/commands/ghibli-art-create.js +8 -29
- package/dist/commands/ghibli-art-create.js.map +1 -1
- package/dist/commands/grok-imagine-video.js +12 -30
- package/dist/commands/grok-imagine-video.js.map +1 -1
- package/dist/commands/grok-imagine.js +8 -29
- package/dist/commands/grok-imagine.js.map +1 -1
- package/dist/commands/hair-color-try-on.js +8 -28
- package/dist/commands/hair-color-try-on.js.map +1 -1
- package/dist/commands/happy-woman-bikini-ai-pic.js +11 -29
- package/dist/commands/happy-woman-bikini-ai-pic.js.map +1 -1
- package/dist/commands/hot-bikini-models.js +11 -29
- package/dist/commands/hot-bikini-models.js.map +1 -1
- package/dist/commands/image-mixer.js +11 -35
- package/dist/commands/image-mixer.js.map +1 -1
- package/dist/commands/image-to-sketch.js +8 -25
- package/dist/commands/image-to-sketch.js.map +1 -1
- package/dist/commands/improve-video-quality-online-free.js +8 -24
- package/dist/commands/improve-video-quality-online-free.js.map +1 -1
- package/dist/commands/kling.js +16 -43
- package/dist/commands/kling.js.map +1 -1
- package/dist/commands/logo-remover-from-video.js +6 -22
- package/dist/commands/logo-remover-from-video.js.map +1 -1
- package/dist/commands/midjourney.js +10 -31
- package/dist/commands/midjourney.js.map +1 -1
- package/dist/commands/mugshot-creator.js +8 -25
- package/dist/commands/mugshot-creator.js.map +1 -1
- package/dist/commands/murder-drones-oc.js +8 -29
- package/dist/commands/murder-drones-oc.js.map +1 -1
- package/dist/commands/outfit-generator.js +8 -33
- package/dist/commands/outfit-generator.js.map +1 -1
- package/dist/commands/personalized-swimsuit.js +11 -29
- package/dist/commands/personalized-swimsuit.js.map +1 -1
- package/dist/commands/photo-to-bikini-ai.js +8 -25
- package/dist/commands/photo-to-bikini-ai.js.map +1 -1
- package/dist/commands/pregnant-ai.js +10 -33
- package/dist/commands/pregnant-ai.js.map +1 -1
- package/dist/commands/ps2-filter.js +8 -25
- package/dist/commands/ps2-filter.js.map +1 -1
- package/dist/commands/qwen-image-edit.js +11 -44
- package/dist/commands/qwen-image-edit.js.map +1 -1
- package/dist/commands/random-animal-generator.js +8 -29
- package/dist/commands/random-animal-generator.js.map +1 -1
- package/dist/commands/remove-filter-from-photo.js +8 -29
- package/dist/commands/remove-filter-from-photo.js.map +1 -1
- package/dist/commands/remove-subtitles-from-video-online-free.js +6 -22
- package/dist/commands/remove-subtitles-from-video-online-free.js.map +1 -1
- package/dist/commands/remove-text-from-video-online-free.js +6 -22
- package/dist/commands/remove-text-from-video-online-free.js.map +1 -1
- package/dist/commands/replace-face-in-video-online-free.js +9 -31
- package/dist/commands/replace-face-in-video-online-free.js.map +1 -1
- package/dist/commands/see-through-clothes-fitler.js +8 -25
- package/dist/commands/see-through-clothes-fitler.js.map +1 -1
- package/dist/commands/seedance.js +14 -32
- package/dist/commands/seedance.js.map +1 -1
- package/dist/commands/seedream.js +19 -51
- package/dist/commands/seedream.js.map +1 -1
- package/dist/commands/sex-ai-generator.js +11 -29
- package/dist/commands/sex-ai-generator.js.map +1 -1
- package/dist/commands/sexy-ai-pics.js +9 -26
- package/dist/commands/sexy-ai-pics.js.map +1 -1
- package/dist/commands/skin-color-changer.js +8 -28
- package/dist/commands/skin-color-changer.js.map +1 -1
- package/dist/commands/sonic-oc.js +8 -29
- package/dist/commands/sonic-oc.js.map +1 -1
- package/dist/commands/sora-2.js +12 -30
- package/dist/commands/sora-2.js.map +1 -1
- package/dist/commands/sprunki-oc-maker.js +8 -29
- package/dist/commands/sprunki-oc-maker.js.map +1 -1
- package/dist/commands/square-face-icon-generator.js +8 -29
- package/dist/commands/square-face-icon-generator.js.map +1 -1
- package/dist/commands/stardew-valley-portrait-maker.js +8 -29
- package/dist/commands/stardew-valley-portrait-maker.js.map +1 -1
- package/dist/commands/string-bikini-beauty-contest.js +11 -29
- package/dist/commands/string-bikini-beauty-contest.js.map +1 -1
- package/dist/commands/swimsuit-try-on-haul.js +11 -29
- package/dist/commands/swimsuit-try-on-haul.js.map +1 -1
- package/dist/commands/video-resolution-enhancer-online-free.js +8 -24
- package/dist/commands/video-resolution-enhancer-online-free.js.map +1 -1
- package/dist/commands/video-upscaler-online-free.js +8 -24
- package/dist/commands/video-upscaler-online-free.js.map +1 -1
- package/dist/commands/video-watermark-remover.js +8 -27
- package/dist/commands/video-watermark-remover.js.map +1 -1
- package/dist/commands/wan-ai.js +11 -29
- package/dist/commands/wan-ai.js.map +1 -1
- package/dist/commands/wild-graffiti.js +8 -29
- package/dist/commands/wild-graffiti.js.map +1 -1
- package/dist/commands/z-image.js +11 -32
- package/dist/commands/z-image.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/run-helper.d.ts +7 -1
- package/dist/run-helper.js +33 -4
- package/dist/run-helper.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bangs-filter.js","sourceRoot":"","sources":["../../src/commands/bangs-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"bangs-filter.js","sourceRoot":"","sources":["../../src/commands/bangs-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAAG,kEAAkE,CAAC;AAE1F,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC;KACtD,OAAO,CAAC,qEAAqE,CAAC;KAC9E,WAAW,CACV,+EAA+E;IAC/E,gDAAgD;IAChD,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,8CAA8C;IAC9C,kGAAkG;IAClG,sDAAsD,CACvD;KACA,cAAc,CAAC,oBAAoB,EAAE,+CAA+C,CAAC;KACrF,MAAM,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;KAC3D,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACvG,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
-
import {
|
|
3
|
-
import { printSubmitted, printPollResult, printError } from "../printer.js";
|
|
2
|
+
import { executeRun } from "../run-helper.js";
|
|
4
3
|
const DEFAULT_PROMPT = "naturally undress and change the outfit into a thin bikini while keeping body proportions natural. Keep Model dancing tiktok dance.";
|
|
5
4
|
export const bikiniContestPhotosCmd = new Command("bikini-contest-photos")
|
|
6
5
|
.summary("Bikini contest photos — transform a person photo into a bikini model image or video")
|
|
@@ -21,32 +20,15 @@ export const bikiniContestPhotosCmd = new Command("bikini-contest-photos")
|
|
|
21
20
|
.option("--task-name <name>", "Human-readable label for this run")
|
|
22
21
|
.option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
|
|
23
22
|
.action(async (opts) => {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if (opts.taskName)
|
|
35
|
-
input.taskName = opts.taskName;
|
|
36
|
-
const body = { agent: { name: "bikini-contest-photos", version: "v1.0" }, input, params };
|
|
37
|
-
const { executionId } = await submitRun(body);
|
|
38
|
-
printSubmitted(executionId);
|
|
39
|
-
if (opts.wait !== false) {
|
|
40
|
-
printPollResult(await waitForCompletion(executionId));
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
console.log("[info]");
|
|
44
|
-
console.log(` message: Use 'weshop status ${executionId}' to check progress`);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
catch (err) {
|
|
48
|
-
printError(err);
|
|
49
|
-
process.exit(1);
|
|
50
|
-
}
|
|
23
|
+
const params = {
|
|
24
|
+
textDescription: opts.prompt ?? DEFAULT_PROMPT,
|
|
25
|
+
generatedType: opts.generatedType ?? "video",
|
|
26
|
+
};
|
|
27
|
+
if (opts.batch != null)
|
|
28
|
+
params.batchCount = opts.batch;
|
|
29
|
+
const extraInput = {};
|
|
30
|
+
if (opts.taskName)
|
|
31
|
+
extraInput.taskName = opts.taskName;
|
|
32
|
+
await executeRun("bikini-contest-photos", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
|
|
51
33
|
});
|
|
52
34
|
//# sourceMappingURL=bikini-contest-photos.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bikini-contest-photos.js","sourceRoot":"","sources":["../../src/commands/bikini-contest-photos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"bikini-contest-photos.js","sourceRoot":"","sources":["../../src/commands/bikini-contest-photos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,qIAAqI,CAAC;AAExI,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,OAAO,CAAC,uBAAuB,CAAC;KACvE,OAAO,CAAC,qFAAqF,CAAC;KAC9F,WAAW,CACV,iFAAiF;IACjF,sCAAsC;IACtC,8CAA8C;IAC9C,sCAAsC;IACtC,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,0FAA0F;IAC1F,wFAAwF;IACxF,sFAAsF,CACvF;KACA,cAAc,CAAC,oBAAoB,EAAE,4DAA4D,CAAC;KAClG,MAAM,CAAC,iBAAiB,EAAE,yCAAyC,CAAC;KACpE,MAAM,CAAC,yBAAyB,EAAE,uCAAuC,CAAC;KAC1E,MAAM,CAAC,iBAAiB,EAAE,kDAAkD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACxG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B;QACtC,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc;QAC9C,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,OAAO;KAC7C,CAAC;IACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,uBAAuB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAChH,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
-
import {
|
|
3
|
-
import { printSubmitted, printPollResult, printError } from "../printer.js";
|
|
2
|
+
import { executeRun } from "../run-helper.js";
|
|
4
3
|
const DEFAULT_PROMPT = "naturally undress and change the outfit into a thin bikini while keeping body proportions natural. Keep Model dancing tiktok dance.";
|
|
5
4
|
export const bikiniTryOnCmd = new Command("bikini-try-on")
|
|
6
5
|
.summary("AI bikini try-on — virtually try on a bikini on a person photo")
|
|
@@ -17,28 +16,12 @@ export const bikiniTryOnCmd = new Command("bikini-try-on")
|
|
|
17
16
|
.option("--task-name <name>", "Human-readable label for this run")
|
|
18
17
|
.option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
|
|
19
18
|
.action(async (opts) => {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
input.taskName = opts.taskName;
|
|
28
|
-
const body = { agent: { name: "bikini-try-on", version: "v1.0" }, input, params };
|
|
29
|
-
const { executionId } = await submitRun(body);
|
|
30
|
-
printSubmitted(executionId);
|
|
31
|
-
if (opts.wait !== false) {
|
|
32
|
-
printPollResult(await waitForCompletion(executionId));
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
console.log("[info]");
|
|
36
|
-
console.log(` message: Use 'weshop status ${executionId}' to check progress`);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
catch (err) {
|
|
40
|
-
printError(err);
|
|
41
|
-
process.exit(1);
|
|
42
|
-
}
|
|
19
|
+
const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
|
|
20
|
+
if (opts.batch != null)
|
|
21
|
+
params.batchCount = opts.batch;
|
|
22
|
+
const extraInput = {};
|
|
23
|
+
if (opts.taskName)
|
|
24
|
+
extraInput.taskName = opts.taskName;
|
|
25
|
+
await executeRun("bikini-try-on", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
|
|
43
26
|
});
|
|
44
27
|
//# sourceMappingURL=bikini-try-on.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bikini-try-on.js","sourceRoot":"","sources":["../../src/commands/bikini-try-on.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"bikini-try-on.js","sourceRoot":"","sources":["../../src/commands/bikini-try-on.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,qIAAqI,CAAC;AAExI,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,eAAe,CAAC;KACvD,OAAO,CAAC,gEAAgE,CAAC;KACzE,WAAW,CACV,oFAAoF;IACpF,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,+CAA+C;IAC/C,8FAA8F;IAC9F,uDAAuD,CACxD;KACA,cAAc,CAAC,oBAAoB,EAAE,6CAA6C,CAAC;KACnF,MAAM,CAAC,iBAAiB,EAAE,kCAAkC,CAAC;KAC7D,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACxG,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
-
import {
|
|
3
|
-
import { printSubmitted, printPollResult, printError } from "../printer.js";
|
|
2
|
+
import { executeRun } from "../run-helper.js";
|
|
4
3
|
const DEFAULT_PROMPT = "Add braces in this person's tooth";
|
|
5
4
|
export const bracesFilterCmd = new Command("braces-filter")
|
|
6
5
|
.summary("AI braces filter — add dental braces to a person's teeth in a portrait photo")
|
|
@@ -17,28 +16,12 @@ export const bracesFilterCmd = new Command("braces-filter")
|
|
|
17
16
|
.option("--task-name <name>", "Human-readable label for this run")
|
|
18
17
|
.option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
|
|
19
18
|
.action(async (opts) => {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
input.taskName = opts.taskName;
|
|
28
|
-
const body = { agent: { name: "braces-filter", version: "v1.0" }, input, params };
|
|
29
|
-
const { executionId } = await submitRun(body);
|
|
30
|
-
printSubmitted(executionId);
|
|
31
|
-
if (opts.wait !== false) {
|
|
32
|
-
printPollResult(await waitForCompletion(executionId));
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
console.log("[info]");
|
|
36
|
-
console.log(` message: Use 'weshop status ${executionId}' to check progress`);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
catch (err) {
|
|
40
|
-
printError(err);
|
|
41
|
-
process.exit(1);
|
|
42
|
-
}
|
|
19
|
+
const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
|
|
20
|
+
if (opts.batch != null)
|
|
21
|
+
params.batchCount = opts.batch;
|
|
22
|
+
const extraInput = {};
|
|
23
|
+
if (opts.taskName)
|
|
24
|
+
extraInput.taskName = opts.taskName;
|
|
25
|
+
await executeRun("braces-filter", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
|
|
43
26
|
});
|
|
44
27
|
//# sourceMappingURL=braces-filter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"braces-filter.js","sourceRoot":"","sources":["../../src/commands/braces-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"braces-filter.js","sourceRoot":"","sources":["../../src/commands/braces-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAAG,mCAAmC,CAAC;AAE3D,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,OAAO,CAAC,eAAe,CAAC;KACxD,OAAO,CAAC,8EAA8E,CAAC;KACvF,WAAW,CACV,yFAAyF;IACzF,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,+CAA+C;IAC/C,0FAA0F;IAC1F,uDAAuD,CACxD;KACA,cAAc,CAAC,oBAAoB,EAAE,+CAA+C,CAAC;KACrF,MAAM,CAAC,iBAAiB,EAAE,2BAA2B,CAAC;KACtD,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACxG,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
-
import {
|
|
3
|
-
import { printSubmitted, printPollResult, printError } from "../printer.js";
|
|
2
|
+
import { executeRun } from "../run-helper.js";
|
|
4
3
|
const DEFAULT_PROMPT = "a pure [color] background with text [Brat] on it. 1:1 ratio.";
|
|
5
4
|
export const bratGeneratorCmd = new Command("brat-generator")
|
|
6
5
|
.summary("AI brat generator — create a Charli XCX brat-style album cover meme with custom text and color")
|
|
@@ -17,32 +16,12 @@ export const bratGeneratorCmd = new Command("brat-generator")
|
|
|
17
16
|
.option("--task-name <name>", "Human-readable label for this run")
|
|
18
17
|
.option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
|
|
19
18
|
.action(async (opts) => {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
if (opts.image) {
|
|
28
|
-
const { url: imageUrl } = await resolveImage(opts.image);
|
|
29
|
-
params.images = [imageUrl];
|
|
30
|
-
input.originalImage = imageUrl;
|
|
31
|
-
}
|
|
32
|
-
const body = { agent: { name: "brat-generator", version: "v1.0" }, input, params };
|
|
33
|
-
const { executionId } = await submitRun(body);
|
|
34
|
-
printSubmitted(executionId);
|
|
35
|
-
if (opts.wait !== false) {
|
|
36
|
-
printPollResult(await waitForCompletion(executionId));
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
console.log("[info]");
|
|
40
|
-
console.log(` message: Use 'weshop status ${executionId}' to check progress`);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
catch (err) {
|
|
44
|
-
printError(err);
|
|
45
|
-
process.exit(1);
|
|
46
|
-
}
|
|
19
|
+
const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
|
|
20
|
+
if (opts.batch != null)
|
|
21
|
+
params.batchCount = opts.batch;
|
|
22
|
+
const extraInput = {};
|
|
23
|
+
if (opts.taskName)
|
|
24
|
+
extraInput.taskName = opts.taskName;
|
|
25
|
+
await executeRun("brat-generator", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
|
|
47
26
|
});
|
|
48
27
|
//# sourceMappingURL=brat-generator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brat-generator.js","sourceRoot":"","sources":["../../src/commands/brat-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"brat-generator.js","sourceRoot":"","sources":["../../src/commands/brat-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAAG,8DAA8D,CAAC;AAEtF,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAAC,gBAAgB,CAAC;KAC1D,OAAO,CAAC,gGAAgG,CAAC;KACzG,WAAW,CACV,qEAAqE;IACrE,4DAA4D;IAC5D,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,sGAAsG;IACtG,6GAA6G,CAC9G;KACA,MAAM,CAAC,oBAAoB,EAAE,qDAAqD,CAAC;KACnF,MAAM,CAAC,iBAAiB,EAAE,gEAAgE,CAAC;KAC3F,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,gBAAgB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACzG,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
-
import {
|
|
3
|
-
import { printSubmitted, printPollResult, printError } from "../printer.js";
|
|
2
|
+
import { executeRun } from "../run-helper.js";
|
|
4
3
|
const DEFAULT_PROMPT = "Change the hairstyle to a buzz cut.";
|
|
5
4
|
export const buzzCutAiCmd = new Command("buzz-cut-ai")
|
|
6
5
|
.summary("AI buzz cut filter — change a person's hairstyle to a buzz cut")
|
|
@@ -17,36 +16,12 @@ export const buzzCutAiCmd = new Command("buzz-cut-ai")
|
|
|
17
16
|
.option("--task-name <name>", "Human-readable label for this run")
|
|
18
17
|
.option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
|
|
19
18
|
.action(async (opts) => {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
params.batchCount = opts.batch;
|
|
28
|
-
const input = { originalImage: imageUrl };
|
|
29
|
-
if (opts.taskName)
|
|
30
|
-
input.taskName = opts.taskName;
|
|
31
|
-
const body = {
|
|
32
|
-
agent: { name: "buzz-cut-ai", version: "v1.0" },
|
|
33
|
-
input,
|
|
34
|
-
params,
|
|
35
|
-
};
|
|
36
|
-
const { executionId } = await submitRun(body);
|
|
37
|
-
printSubmitted(executionId);
|
|
38
|
-
if (opts.wait !== false) {
|
|
39
|
-
const data = await waitForCompletion(executionId);
|
|
40
|
-
printPollResult(data);
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
console.log("[info]");
|
|
44
|
-
console.log(` message: Use 'weshop status ${executionId}' to check progress`);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
catch (err) {
|
|
48
|
-
printError(err);
|
|
49
|
-
process.exit(1);
|
|
50
|
-
}
|
|
19
|
+
const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
|
|
20
|
+
if (opts.batch != null)
|
|
21
|
+
params.batchCount = opts.batch;
|
|
22
|
+
const extraInput = {};
|
|
23
|
+
if (opts.taskName)
|
|
24
|
+
extraInput.taskName = opts.taskName;
|
|
25
|
+
await executeRun("buzz-cut-ai", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
|
|
51
26
|
});
|
|
52
27
|
//# sourceMappingURL=buzz-cut-ai.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buzz-cut-ai.js","sourceRoot":"","sources":["../../src/commands/buzz-cut-ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"buzz-cut-ai.js","sourceRoot":"","sources":["../../src/commands/buzz-cut-ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAAG,qCAAqC,CAAC;AAE7D,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;KACnD,OAAO,CAAC,gEAAgE,CAAC;KACzE,WAAW,CACV,yEAAyE;IACzE,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,6CAA6C;IAC7C,mGAAmG;IACnG,qDAAqD,CACtD;KACA,cAAc,CAAC,oBAAoB,EAAE,+CAA+C,CAAC;KACrF,MAAM,CAAC,iBAAiB,EAAE,kDAAkD,CAAC;KAC7E,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACtG,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
-
import {
|
|
3
|
-
import { printSubmitted, printPollResult, printError } from "../printer.js";
|
|
2
|
+
import { executeRun } from "../run-helper.js";
|
|
4
3
|
const DEFAULT_PROMPT = "Take a selfie angle photo of this person and Harry Potter. No need to show the phone. choose appropriate background.";
|
|
5
4
|
export const celebAiCmd = new Command("celeb-ai")
|
|
6
5
|
.summary("AI celebrity photo — place a person in a selfie with a celebrity or fictional character")
|
|
@@ -18,37 +17,17 @@ export const celebAiCmd = new Command("celeb-ai")
|
|
|
18
17
|
.option("--task-name <name>", "Human-readable label for this run")
|
|
19
18
|
.option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
|
|
20
19
|
.action(async (opts) => {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
console.error("[error]\n message: Maximum 2 images allowed");
|
|
25
|
-
process.exit(1);
|
|
26
|
-
}
|
|
27
|
-
const urls = [];
|
|
28
|
-
for (const img of imageList) {
|
|
29
|
-
const { url } = await resolveImage(img);
|
|
30
|
-
urls.push(url);
|
|
31
|
-
}
|
|
32
|
-
const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT, images: urls };
|
|
33
|
-
if (opts.batch != null)
|
|
34
|
-
params.batchCount = opts.batch;
|
|
35
|
-
const input = { originalImage: urls[0] };
|
|
36
|
-
if (opts.taskName)
|
|
37
|
-
input.taskName = opts.taskName;
|
|
38
|
-
const body = { agent: { name: "celeb-ai", version: "v1.0" }, input, params };
|
|
39
|
-
const { executionId } = await submitRun(body);
|
|
40
|
-
printSubmitted(executionId);
|
|
41
|
-
if (opts.wait !== false) {
|
|
42
|
-
printPollResult(await waitForCompletion(executionId));
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
console.log("[info]");
|
|
46
|
-
console.log(` message: Use 'weshop status ${executionId}' to check progress`);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
catch (err) {
|
|
50
|
-
printError(err);
|
|
20
|
+
const imageList = opts.image;
|
|
21
|
+
if (imageList.length > 2) {
|
|
22
|
+
console.error("[error]\n message: Maximum 2 images allowed");
|
|
51
23
|
process.exit(1);
|
|
52
24
|
}
|
|
25
|
+
const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
|
|
26
|
+
if (opts.batch != null)
|
|
27
|
+
params.batchCount = opts.batch;
|
|
28
|
+
const extraInput = {};
|
|
29
|
+
if (opts.taskName)
|
|
30
|
+
extraInput.taskName = opts.taskName;
|
|
31
|
+
await executeRun("celeb-ai", "v1.0", { images: imageList, wait: opts.wait }, params, extraInput);
|
|
53
32
|
});
|
|
54
33
|
//# sourceMappingURL=celeb-ai.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"celeb-ai.js","sourceRoot":"","sources":["../../src/commands/celeb-ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"celeb-ai.js","sourceRoot":"","sources":["../../src/commands/celeb-ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,sHAAsH,CAAC;AAEzH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;KAC9C,OAAO,CAAC,yFAAyF,CAAC;KAClG,WAAW,CACV,6FAA6F;IAC7F,oCAAoC;IACpC,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,0CAA0C;IAC1C,gGAAgG;IAChG,kDAAkD,CACnD;KACA,cAAc,CAAC,uBAAuB,EAAE,8DAA8D,CAAC;KACvG,MAAM,CAAC,iBAAiB,EAAE,mFAAmF,CAAC;KAC9G,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,SAAS,GAAa,IAAI,CAAC,KAAK,CAAC;IACvC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAAC,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IAC7G,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACnG,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
-
import {
|
|
3
|
-
import { printSubmitted, printPollResult, printError } from "../printer.js";
|
|
2
|
+
import { executeRun } from "../run-helper.js";
|
|
4
3
|
const DEFAULT_PROMPT = "Turn this photo into a chibi sticker.";
|
|
5
4
|
export const chibiMakerCmd = new Command("chibi-maker")
|
|
6
5
|
.summary("AI chibi maker — convert a photo into a cute chibi character sticker")
|
|
@@ -17,36 +16,12 @@ export const chibiMakerCmd = new Command("chibi-maker")
|
|
|
17
16
|
.option("--task-name <name>", "Human-readable label for this run")
|
|
18
17
|
.option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
|
|
19
18
|
.action(async (opts) => {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
params.batchCount = opts.batch;
|
|
28
|
-
const input = { originalImage: imageUrl };
|
|
29
|
-
if (opts.taskName)
|
|
30
|
-
input.taskName = opts.taskName;
|
|
31
|
-
const body = {
|
|
32
|
-
agent: { name: "chibi-maker", version: "v1.0" },
|
|
33
|
-
input,
|
|
34
|
-
params,
|
|
35
|
-
};
|
|
36
|
-
const { executionId } = await submitRun(body);
|
|
37
|
-
printSubmitted(executionId);
|
|
38
|
-
if (opts.wait !== false) {
|
|
39
|
-
const data = await waitForCompletion(executionId);
|
|
40
|
-
printPollResult(data);
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
console.log("[info]");
|
|
44
|
-
console.log(` message: Use 'weshop status ${executionId}' to check progress`);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
catch (err) {
|
|
48
|
-
printError(err);
|
|
49
|
-
process.exit(1);
|
|
50
|
-
}
|
|
19
|
+
const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
|
|
20
|
+
if (opts.batch != null)
|
|
21
|
+
params.batchCount = opts.batch;
|
|
22
|
+
const extraInput = {};
|
|
23
|
+
if (opts.taskName)
|
|
24
|
+
extraInput.taskName = opts.taskName;
|
|
25
|
+
await executeRun("chibi-maker", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
|
|
51
26
|
});
|
|
52
27
|
//# sourceMappingURL=chibi-maker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chibi-maker.js","sourceRoot":"","sources":["../../src/commands/chibi-maker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"chibi-maker.js","sourceRoot":"","sources":["../../src/commands/chibi-maker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAAG,uCAAuC,CAAC;AAE/D,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;KACpD,OAAO,CAAC,sEAAsE,CAAC;KAC/E,WAAW,CACV,8EAA8E;IAC9E,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,6CAA6C;IAC7C,gGAAgG;IAChG,qDAAqD,CACtD;KACA,cAAc,CAAC,oBAAoB,EAAE,sCAAsC,CAAC;KAC5E,MAAM,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;KAC3D,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACtG,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
-
import {
|
|
3
|
-
import { printSubmitted, printPollResult, printError } from "../printer.js";
|
|
2
|
+
import { executeRun } from "../run-helper.js";
|
|
4
3
|
const DEFAULT_PROMPT = "undress the outfit into sexy bikini while keeping body proportions natural.";
|
|
5
4
|
export const clothingMagicRemoverCmd = new Command("clothing-magic-remover")
|
|
6
5
|
.summary("AI clothing remover — erase accessories or partial clothing while keeping textures realistic")
|
|
@@ -12,33 +11,17 @@ export const clothingMagicRemoverCmd = new Command("clothing-magic-remover")
|
|
|
12
11
|
" weshop clothing-magic-remover --image ./person.png --prompt 'Remove the jacket, keep the shirt'\n" +
|
|
13
12
|
" weshop clothing-magic-remover --image ./person.png --prompt 'Erase the top, replace with bikini' --batch 2")
|
|
14
13
|
.requiredOption("--image <path|url>", "Input person photo — local file path or URL")
|
|
15
|
-
.
|
|
14
|
+
.option("--prompt <text>", "Describe what clothing to remove")
|
|
16
15
|
.option("--batch <count>", "Number of images to generate, 1-16 (default: 1)", (v) => parseInt(v, 10), 1)
|
|
17
16
|
.option("--task-name <name>", "Human-readable label for this run")
|
|
18
17
|
.option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
|
|
19
18
|
.action(async (opts) => {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
input.taskName = opts.taskName;
|
|
28
|
-
const body = { agent: { name: "clothing-magic-remover", version: "v1.0" }, input, params };
|
|
29
|
-
const { executionId } = await submitRun(body);
|
|
30
|
-
printSubmitted(executionId);
|
|
31
|
-
if (opts.wait !== false) {
|
|
32
|
-
printPollResult(await waitForCompletion(executionId));
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
console.log("[info]");
|
|
36
|
-
console.log(` message: Use 'weshop status ${executionId}' to check progress`);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
catch (err) {
|
|
40
|
-
printError(err);
|
|
41
|
-
process.exit(1);
|
|
42
|
-
}
|
|
19
|
+
const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT };
|
|
20
|
+
if (opts.batch != null)
|
|
21
|
+
params.batchCount = opts.batch;
|
|
22
|
+
const extraInput = {};
|
|
23
|
+
if (opts.taskName)
|
|
24
|
+
extraInput.taskName = opts.taskName;
|
|
25
|
+
await executeRun("clothing-magic-remover", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
|
|
43
26
|
});
|
|
44
27
|
//# sourceMappingURL=clothing-magic-remover.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clothing-magic-remover.js","sourceRoot":"","sources":["../../src/commands/clothing-magic-remover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"clothing-magic-remover.js","sourceRoot":"","sources":["../../src/commands/clothing-magic-remover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAAG,6EAA6E,CAAC;AAErG,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,OAAO,CAAC,wBAAwB,CAAC;KACzE,OAAO,CAAC,8FAA8F,CAAC;KACvG,WAAW,CACV,wFAAwF;IACxF,yBAAyB;IACzB,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,qGAAqG;IACrG,8GAA8G,CAC/G;KACA,cAAc,CAAC,oBAAoB,EAAE,6CAA6C,CAAC;KACnF,MAAM,CAAC,iBAAiB,EAAE,kCAAkC,CAAC;KAC7D,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,wBAAwB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACjH,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
-
import {
|
|
3
|
-
import { printSubmitted, printPollResult, printError } from "../printer.js";
|
|
2
|
+
import { executeRun } from "../run-helper.js";
|
|
4
3
|
const DEFAULT_PROMPT = "naturally undress and change the outfit into a thin bikini while keeping body proportions natural. Keep Model dancing tiktok dance.";
|
|
5
4
|
export const customBikiniCmd = new Command("custom-bikini")
|
|
6
5
|
.summary("Custom bikini — transform a person photo into a bikini model image or video")
|
|
@@ -21,32 +20,15 @@ export const customBikiniCmd = new Command("custom-bikini")
|
|
|
21
20
|
.option("--task-name <name>", "Human-readable label for this run")
|
|
22
21
|
.option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
|
|
23
22
|
.action(async (opts) => {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if (opts.taskName)
|
|
35
|
-
input.taskName = opts.taskName;
|
|
36
|
-
const body = { agent: { name: "custom-bikini", version: "v1.0" }, input, params };
|
|
37
|
-
const { executionId } = await submitRun(body);
|
|
38
|
-
printSubmitted(executionId);
|
|
39
|
-
if (opts.wait !== false) {
|
|
40
|
-
printPollResult(await waitForCompletion(executionId));
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
console.log("[info]");
|
|
44
|
-
console.log(` message: Use 'weshop status ${executionId}' to check progress`);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
catch (err) {
|
|
48
|
-
printError(err);
|
|
49
|
-
process.exit(1);
|
|
50
|
-
}
|
|
23
|
+
const params = {
|
|
24
|
+
textDescription: opts.prompt ?? DEFAULT_PROMPT,
|
|
25
|
+
generatedType: opts.generatedType ?? "video",
|
|
26
|
+
};
|
|
27
|
+
if (opts.batch != null)
|
|
28
|
+
params.batchCount = opts.batch;
|
|
29
|
+
const extraInput = {};
|
|
30
|
+
if (opts.taskName)
|
|
31
|
+
extraInput.taskName = opts.taskName;
|
|
32
|
+
await executeRun("custom-bikini", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
|
|
51
33
|
});
|
|
52
34
|
//# sourceMappingURL=custom-bikini.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-bikini.js","sourceRoot":"","sources":["../../src/commands/custom-bikini.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"custom-bikini.js","sourceRoot":"","sources":["../../src/commands/custom-bikini.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,qIAAqI,CAAC;AAExI,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,OAAO,CAAC,eAAe,CAAC;KACxD,OAAO,CAAC,6EAA6E,CAAC;KACtF,WAAW,CACV,iFAAiF;IACjF,sCAAsC;IACtC,8CAA8C;IAC9C,sCAAsC;IACtC,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,kFAAkF;IAClF,gFAAgF;IAChF,8EAA8E,CAC/E;KACA,cAAc,CAAC,oBAAoB,EAAE,4DAA4D,CAAC;KAClG,MAAM,CAAC,iBAAiB,EAAE,mCAAmC,CAAC;KAC9D,MAAM,CAAC,yBAAyB,EAAE,uCAAuC,CAAC;KAC1E,MAAM,CAAC,iBAAiB,EAAE,kDAAkD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACxG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAA4B;QACtC,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc;QAC9C,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,OAAO;KAC7C,CAAC;IACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACxG,CAAC,CAAC,CAAC"}
|