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":"outfit-generator.js","sourceRoot":"","sources":["../../src/commands/outfit-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"outfit-generator.js","sourceRoot":"","sources":["../../src/commands/outfit-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,ilBAAilB,CAAC;AAEplB,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,OAAO,CAAC,kBAAkB,CAAC;KAC9D,OAAO,CAAC,0FAA0F,CAAC;KACnG,WAAW,CACV,mFAAmF;IACnF,gEAAgE;IAChE,mDAAmD;IACnD,sFAAsF;IACtF,uDAAuD;IACvD,aAAa;IACb,kDAAkD;IAClD,gHAAgH;IAChH,0DAA0D,CAC3D;KACA,cAAc,CAAC,oBAAoB,EAAE,6CAA6C,CAAC;KACnF,MAAM,CAAC,iBAAiB,EAAE,oEAAoE,CAAC;KAC/F,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 {
|
|
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 personalizedSwimSuitCmd = new Command("personalized-swimsuit")
|
|
6
5
|
.summary("Personalized swimsuit — transform a person photo into a bikini model image or video")
|
|
@@ -21,32 +20,15 @@ export const personalizedSwimSuitCmd = new Command("personalized-swimsuit")
|
|
|
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: "personalized-swimsuit", 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("personalized-swimsuit", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
|
|
51
33
|
});
|
|
52
34
|
//# sourceMappingURL=personalized-swimsuit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"personalized-swimsuit.js","sourceRoot":"","sources":["../../src/commands/personalized-swimsuit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"personalized-swimsuit.js","sourceRoot":"","sources":["../../src/commands/personalized-swimsuit.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,uBAAuB,GAAG,IAAI,OAAO,CAAC,uBAAuB,CAAC;KACxE,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,qCAAqC,CAAC;KAChE,MAAM,CAAC,yBAAyB,EAAE,uCAAuC,CAAC;KAC1E,MAAM,CAAC,iBAAiB,EAAE,kDAAkD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACxG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,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 photoToBikiniAiCmd = new Command("photo-to-bikini-ai")
|
|
6
5
|
.summary("AI photo to bikini converter — transform a person photo into a bikini image")
|
|
@@ -17,28 +16,12 @@ export const photoToBikiniAiCmd = new Command("photo-to-bikini-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
|
-
input.taskName = opts.taskName;
|
|
28
|
-
const body = { agent: { name: "photo-to-bikini-ai", 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("photo-to-bikini-ai", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
|
|
43
26
|
});
|
|
44
27
|
//# sourceMappingURL=photo-to-bikini-ai.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"photo-to-bikini-ai.js","sourceRoot":"","sources":["../../src/commands/photo-to-bikini-ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"photo-to-bikini-ai.js","sourceRoot":"","sources":["../../src/commands/photo-to-bikini-ai.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,oBAAoB,CAAC;KAChE,OAAO,CAAC,6EAA6E,CAAC;KACtF,WAAW,CACV,mFAAmF;IACnF,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,oDAAoD;IACpD,0FAA0F;IAC1F,4DAA4D,CAC7D;KACA,cAAc,CAAC,oBAAoB,EAAE,6CAA6C,CAAC;KACnF,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,oBAAoB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAC7G,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
-
import {
|
|
3
|
-
import { printSubmitted, printPollResult, printError } from "../printer.js";
|
|
2
|
+
import { executeRun } from "../run-helper.js";
|
|
4
3
|
const DEFAULT_PROMPT = "Imagine what this person would look like when she is pregnant for 8 months. Don't change her outfit or her appearance.";
|
|
5
4
|
export const pregnantAiCmd = new Command("pregnant-ai")
|
|
6
5
|
.summary("Visualize how a person would look pregnant — transforms a portrait photo")
|
|
@@ -19,36 +18,14 @@ export const pregnantAiCmd = new Command("pregnant-ai")
|
|
|
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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
if (opts.taskName)
|
|
32
|
-
input.taskName = opts.taskName;
|
|
33
|
-
const body = {
|
|
34
|
-
agent: { name: "pregnant_ai", 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 = {
|
|
22
|
+
textDescription: opts.prompt ?? DEFAULT_PROMPT,
|
|
23
|
+
};
|
|
24
|
+
if (opts.batch != null)
|
|
25
|
+
params.batchCount = opts.batch;
|
|
26
|
+
const extraInput = {};
|
|
27
|
+
if (opts.taskName)
|
|
28
|
+
extraInput.taskName = opts.taskName;
|
|
29
|
+
await executeRun("pregnant_ai", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
|
|
53
30
|
});
|
|
54
31
|
//# sourceMappingURL=pregnant-ai.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pregnant-ai.js","sourceRoot":"","sources":["../../src/commands/pregnant-ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"pregnant-ai.js","sourceRoot":"","sources":["../../src/commands/pregnant-ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,wHAAwH,CAAC;AAE3H,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;KACpD,OAAO,CAAC,0EAA0E,CAAC;KACnF,WAAW,CACV,qFAAqF;IACrF,qFAAqF;IACrF,oEAAoE;IACpE,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,6CAA6C;IAC7C,mGAAmG;IACnG,+DAA+D,CAChE;KACA,cAAc,CAAC,oBAAoB,EAAE,+CAA+C,CAAC;KACrF,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;QACtC,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc;KAC/C,CAAC;IACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;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,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 = "Turn this person into a PS2 Sims game character. 3D but blurry texture, try replicate exactly as the game.";
|
|
5
4
|
export const ps2FilterCmd = new Command("ps2-filter")
|
|
6
5
|
.summary("AI PS2 filter — transform a photo into a retro PS2-era Sims game character")
|
|
@@ -18,28 +17,12 @@ export const ps2FilterCmd = new Command("ps2-filter")
|
|
|
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
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
input.taskName = opts.taskName;
|
|
29
|
-
const body = { agent: { name: "ps2-filter", 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("ps2-filter", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
|
|
44
27
|
});
|
|
45
28
|
//# sourceMappingURL=ps2-filter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ps2-filter.js","sourceRoot":"","sources":["../../src/commands/ps2-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ps2-filter.js","sourceRoot":"","sources":["../../src/commands/ps2-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,4GAA4G,CAAC;AAE/G,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC;KAClD,OAAO,CAAC,4EAA4E,CAAC;KACrF,WAAW,CACV,mFAAmF;IACnF,uEAAuE;IACvE,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,4CAA4C;IAC5C,8FAA8F;IAC9F,oDAAoD,CACrD;KACA,cAAc,CAAC,oBAAoB,EAAE,+CAA+C,CAAC;KACrF,MAAM,CAAC,iBAAiB,EAAE,mCAAmC,CAAC;KAC9D,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,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 {
|
|
3
|
-
import { printSubmitted, printPollResult, printError } from "../printer.js";
|
|
2
|
+
import { executeRun } from "../run-helper.js";
|
|
4
3
|
export const qwenImageEditCmd = new Command("qwen-image-edit")
|
|
5
4
|
.summary("AI image editing — edit or generate images with natural language instructions")
|
|
6
5
|
.description("AI image editing — edit or generate images with natural language instructions using Qwen Image Edit.\n\n" +
|
|
@@ -16,49 +15,17 @@ export const qwenImageEditCmd = new Command("qwen-image-edit")
|
|
|
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
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
};
|
|
23
|
-
if (opts.batch != null)
|
|
24
|
-
params.batchCount = opts.batch;
|
|
25
|
-
const input = {};
|
|
26
|
-
if (opts.taskName)
|
|
27
|
-
input.taskName = opts.taskName;
|
|
28
|
-
// Resolve and upload images if provided
|
|
29
|
-
if (opts.image && opts.image.length > 0) {
|
|
30
|
-
const imageList = opts.image;
|
|
31
|
-
if (imageList.length > 5) {
|
|
32
|
-
console.error("[error]\n message: Maximum 5 images allowed");
|
|
33
|
-
process.exit(1);
|
|
34
|
-
}
|
|
35
|
-
const urls = [];
|
|
36
|
-
for (const img of imageList) {
|
|
37
|
-
const { url } = await resolveImage(img);
|
|
38
|
-
urls.push(url);
|
|
39
|
-
}
|
|
40
|
-
params.images = urls;
|
|
41
|
-
input.originalImage = urls[0];
|
|
42
|
-
}
|
|
43
|
-
const body = {
|
|
44
|
-
agent: { name: "qwen-image-edit", version: "v1.0" },
|
|
45
|
-
input,
|
|
46
|
-
params,
|
|
47
|
-
};
|
|
48
|
-
const { executionId } = await submitRun(body);
|
|
49
|
-
printSubmitted(executionId);
|
|
50
|
-
if (opts.wait !== false) {
|
|
51
|
-
const data = await waitForCompletion(executionId);
|
|
52
|
-
printPollResult(data);
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
console.log("[info]");
|
|
56
|
-
console.log(` message: Use 'weshop status ${executionId}' to check progress`);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
catch (err) {
|
|
60
|
-
printError(err);
|
|
18
|
+
const imageList = opts.image;
|
|
19
|
+
if (imageList && imageList.length > 5) {
|
|
20
|
+
console.error("[error]\n message: Maximum 5 images allowed");
|
|
61
21
|
process.exit(1);
|
|
62
22
|
}
|
|
23
|
+
const params = { textDescription: opts.prompt };
|
|
24
|
+
if (opts.batch != null)
|
|
25
|
+
params.batchCount = opts.batch;
|
|
26
|
+
const extraInput = {};
|
|
27
|
+
if (opts.taskName)
|
|
28
|
+
extraInput.taskName = opts.taskName;
|
|
29
|
+
await executeRun("qwen-image-edit", "v1.0", { images: imageList, wait: opts.wait }, params, extraInput);
|
|
63
30
|
});
|
|
64
31
|
//# sourceMappingURL=qwen-image-edit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qwen-image-edit.js","sourceRoot":"","sources":["../../src/commands/qwen-image-edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"qwen-image-edit.js","sourceRoot":"","sources":["../../src/commands/qwen-image-edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAAC,iBAAiB,CAAC;KAC3D,OAAO,CAAC,+EAA+E,CAAC;KACxF,WAAW,CACV,0GAA0G;IAC1G,8FAA8F;IAC9F,4FAA4F;IAC5F,aAAa;IACb,kEAAkE;IAClE,sFAAsF;IACtF,qKAAqK,CACtK;KACA,MAAM,CAAC,uBAAuB,EAAE,iEAAiE,CAAC;KAClG,cAAc,CAAC,iBAAiB,EAAE,yCAAyC,CAAC;KAC5E,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,SAAS,GAAyB,IAAI,CAAC,KAAK,CAAC;IACnD,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IACzE,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,iBAAiB,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,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 {
|
|
3
|
-
import { printSubmitted, printPollResult, printError } from "../printer.js";
|
|
2
|
+
import { executeRun } from "../run-helper.js";
|
|
4
3
|
const DEFAULT_PROMPT = "A hyper-realistic, award-winning wildlife photograph of [ANY RANDOM ANIMAL] in its natural habitat. Captured in a National Geographic style to emphasize natural lighting and fur/scale texture. Shot on a Sony A1 with a 600mm f/4 lens for a shallow depth of field and a creamy bokeh background. The composition follows the rule of thirds, showing the animal in a candid, unposed moment—such as hunting, resting, or observing its surroundings. Incredible detail on the eyes, whiskers, and environment, 8k resolution, cinematic atmosphere, sharp focus, natural color grading.";
|
|
5
4
|
export const randomAnimalGeneratorCmd = new Command("random-animal-generator")
|
|
6
5
|
.summary("AI random animal generator — generate a hyper-realistic wildlife photo of any animal")
|
|
@@ -18,32 +17,12 @@ export const randomAnimalGeneratorCmd = new Command("random-animal-generator")
|
|
|
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
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
if (opts.image) {
|
|
29
|
-
const { url: imageUrl } = await resolveImage(opts.image);
|
|
30
|
-
params.images = [imageUrl];
|
|
31
|
-
input.originalImage = imageUrl;
|
|
32
|
-
}
|
|
33
|
-
const body = { agent: { name: "random-animal-generator", version: "v1.0" }, input, params };
|
|
34
|
-
const { executionId } = await submitRun(body);
|
|
35
|
-
printSubmitted(executionId);
|
|
36
|
-
if (opts.wait !== false) {
|
|
37
|
-
printPollResult(await waitForCompletion(executionId));
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
console.log("[info]");
|
|
41
|
-
console.log(` message: Use 'weshop status ${executionId}' to check progress`);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
catch (err) {
|
|
45
|
-
printError(err);
|
|
46
|
-
process.exit(1);
|
|
47
|
-
}
|
|
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("random-animal-generator", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
|
|
48
27
|
});
|
|
49
28
|
//# sourceMappingURL=random-animal-generator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"random-animal-generator.js","sourceRoot":"","sources":["../../src/commands/random-animal-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"random-animal-generator.js","sourceRoot":"","sources":["../../src/commands/random-animal-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAClB,6jBAA6jB,CAAC;AAEhkB,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,OAAO,CAAC,yBAAyB,CAAC;KAC3E,OAAO,CAAC,sFAAsF,CAAC;KAC/F,WAAW,CACV,6EAA6E;IAC7E,4DAA4D;IAC5D,mDAAmD;IACnD,uFAAuF;IACvF,aAAa;IACb,oCAAoC;IACpC,6FAA6F;IAC7F,4CAA4C,CAC7C;KACA,MAAM,CAAC,oBAAoB,EAAE,qDAAqD,CAAC;KACnF,MAAM,CAAC,iBAAiB,EAAE,uCAAuC,CAAC;KAClE,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,yBAAyB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAClH,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 = "Remove [any style] filter you think this photo have, including b&w filter.";
|
|
5
4
|
export const removeFilterFromPhotoCmd = new Command("remove-filter-from-photo")
|
|
6
5
|
.summary("AI filter remover — remove photo filters and restore natural image colors")
|
|
@@ -17,32 +16,12 @@ export const removeFilterFromPhotoCmd = new Command("remove-filter-from-photo")
|
|
|
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: "remove-filter-from-photo", 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("remove-filter-from-photo", "v1.0", { image: opts.image, wait: opts.wait }, params, extraInput);
|
|
47
26
|
});
|
|
48
27
|
//# sourceMappingURL=remove-filter-from-photo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove-filter-from-photo.js","sourceRoot":"","sources":["../../src/commands/remove-filter-from-photo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"remove-filter-from-photo.js","sourceRoot":"","sources":["../../src/commands/remove-filter-from-photo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAAG,4EAA4E,CAAC;AAEpG,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,OAAO,CAAC,0BAA0B,CAAC;KAC5E,OAAO,CAAC,2EAA2E,CAAC;KACpF,WAAW,CACV,4FAA4F;IAC5F,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,kEAAkE;IAClE,oGAAoG;IACpG,iEAAiE,CAClE;KACA,MAAM,CAAC,oBAAoB,EAAE,0DAA0D,CAAC;KACxF,MAAM,CAAC,iBAAiB,EAAE,6EAA6E,CAAC;KACxG,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,0BAA0B,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACnH,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
|
export const removeSubtitlesFromVideoOnlineFreeCmd = new Command("remove-subtitles-from-video-online-free")
|
|
5
4
|
.summary("Remove subtitles from video online free — remove subtitles or text overlays from a video")
|
|
6
5
|
.description("Remove subtitles, captions, or text overlays from a video.\n\n" +
|
|
@@ -13,25 +12,10 @@ export const removeSubtitlesFromVideoOnlineFreeCmd = new Command("remove-subtitl
|
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const body = { agent: { name: "remove-subtitles-from-video-online-free", 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("remove-subtitles-from-video-online-free", "v1.0", { videos: [opts.video], wait: opts.wait }, params, extraInput);
|
|
36
20
|
});
|
|
37
21
|
//# sourceMappingURL=remove-subtitles-from-video-online-free.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove-subtitles-from-video-online-free.js","sourceRoot":"","sources":["../../src/commands/remove-subtitles-from-video-online-free.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"remove-subtitles-from-video-online-free.js","sourceRoot":"","sources":["../../src/commands/remove-subtitles-from-video-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,qCAAqC,GAAG,IAAI,OAAO,CAAC,yCAAyC,CAAC;KACxG,OAAO,CAAC,0FAA0F,CAAC;KACnG,WAAW,CACV,gEAAgE;IAChE,kFAAkF;IAClF,8DAA8D;IAC9D,aAAa;IACb,0FAA0F;IAC1F,kGAAkG,CACnG;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,yCAAyC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACrI,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
|
export const removeTextFromVideoOnlineFreeCmd = new Command("remove-text-from-video-online-free")
|
|
5
4
|
.summary("Remove text from video online free — remove text overlays or watermarks from a video")
|
|
6
5
|
.description("Remove text overlays, watermarks, or logos from a video using AI.\n\n" +
|
|
@@ -13,25 +12,10 @@ export const removeTextFromVideoOnlineFreeCmd = new Command("remove-text-from-vi
|
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const body = { agent: { name: "remove-text-from-video-online-free", 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("remove-text-from-video-online-free", "v1.0", { videos: [opts.video], wait: opts.wait }, params, extraInput);
|
|
36
20
|
});
|
|
37
21
|
//# sourceMappingURL=remove-text-from-video-online-free.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove-text-from-video-online-free.js","sourceRoot":"","sources":["../../src/commands/remove-text-from-video-online-free.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"remove-text-from-video-online-free.js","sourceRoot":"","sources":["../../src/commands/remove-text-from-video-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,oCAAoC,CAAC;KAC9F,OAAO,CAAC,sFAAsF,CAAC;KAC/F,WAAW,CACV,uEAAuE;IACvE,kFAAkF;IAClF,8DAA8D;IAC9D,aAAa;IACb,qFAAqF;IACrF,6FAA6F,CAC9F;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,oCAAoC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAChI,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
|
export const replaceFaceInVideoOnlineFreeCmd = new Command("replace-face-in-video-online-free")
|
|
5
4
|
.summary("AI video face swap — replace a face in a video with a reference face photo")
|
|
6
5
|
.description("Replace a face in a video with a reference face from a photo.\n\n" +
|
|
@@ -23,34 +22,13 @@ export const replaceFaceInVideoOnlineFreeCmd = new Command("replace-face-in-vide
|
|
|
23
22
|
.option("--task-name <name>", "Human-readable label for this run")
|
|
24
23
|
.option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
|
|
25
24
|
.action(async (opts) => {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const input = {
|
|
35
|
-
originalImage: imageUrl,
|
|
36
|
-
videos: [opts.video],
|
|
37
|
-
};
|
|
38
|
-
if (opts.taskName)
|
|
39
|
-
input.taskName = opts.taskName;
|
|
40
|
-
const body = { agent: { name: "replace-face-in-video-online-free", version: "v1.0" }, input, params };
|
|
41
|
-
const { executionId } = await submitRun(body);
|
|
42
|
-
printSubmitted(executionId);
|
|
43
|
-
if (opts.wait !== false) {
|
|
44
|
-
printPollResult(await waitForCompletion(executionId));
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
console.log("[info]");
|
|
48
|
-
console.log(` message: Use 'weshop status ${executionId}' to check progress`);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
catch (err) {
|
|
52
|
-
printError(err);
|
|
53
|
-
process.exit(1);
|
|
54
|
-
}
|
|
25
|
+
const params = {};
|
|
26
|
+
if (opts.batch != null)
|
|
27
|
+
params.batchCount = opts.batch;
|
|
28
|
+
const extraInput = {};
|
|
29
|
+
if (opts.taskName)
|
|
30
|
+
extraInput.taskName = opts.taskName;
|
|
31
|
+
// image (face photo) goes through executeRun's single-image path; video goes via videos[]
|
|
32
|
+
await executeRun("replace-face-in-video-online-free", "v1.0", { image: opts.image, videos: [opts.video], wait: opts.wait }, params, extraInput);
|
|
55
33
|
});
|
|
56
34
|
//# sourceMappingURL=replace-face-in-video-online-free.js.map
|