weshop-cli 0.1.0 → 0.2.0
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/README.md +169 -7
- package/dist/client.d.ts +2 -0
- package/dist/client.js +1 -1
- package/dist/client.js.map +1 -1
- package/dist/commands/2d-to-3d-image-converter.d.ts +2 -0
- package/dist/commands/2d-to-3d-image-converter.js +44 -0
- package/dist/commands/2d-to-3d-image-converter.js.map +1 -0
- package/dist/commands/ai-3d-rendering.d.ts +2 -0
- package/dist/commands/ai-3d-rendering.js +46 -0
- package/dist/commands/ai-3d-rendering.js.map +1 -0
- package/dist/commands/ai-action-figure-generators.d.ts +2 -0
- package/dist/commands/ai-action-figure-generators.js +49 -0
- package/dist/commands/ai-action-figure-generators.js.map +1 -0
- package/dist/commands/ai-aging.d.ts +2 -0
- package/dist/commands/ai-aging.js +52 -0
- package/dist/commands/ai-aging.js.map +1 -0
- package/dist/commands/ai-babe.d.ts +2 -0
- package/dist/commands/ai-babe.js +43 -0
- package/dist/commands/ai-babe.js.map +1 -0
- package/dist/commands/ai-bikini-model.d.ts +2 -0
- package/dist/commands/ai-bikini-model.js +54 -0
- package/dist/commands/ai-bikini-model.js.map +1 -0
- package/dist/commands/ai-bikini-photo-editor.d.ts +2 -0
- package/dist/commands/ai-bikini-photo-editor.js +43 -0
- package/dist/commands/ai-bikini-photo-editor.js.map +1 -0
- package/dist/commands/ai-bikini-video.d.ts +2 -0
- package/dist/commands/ai-bikini-video.js +48 -0
- package/dist/commands/ai-bikini-video.js.map +1 -0
- package/dist/commands/ai-christmas-photo.d.ts +2 -0
- package/dist/commands/ai-christmas-photo.js +49 -0
- package/dist/commands/ai-christmas-photo.js.map +1 -0
- package/dist/commands/ai-clothes-changer.d.ts +2 -0
- package/dist/commands/ai-clothes-changer.js +56 -0
- package/dist/commands/ai-clothes-changer.js.map +1 -0
- package/dist/commands/ai-collage-maker.d.ts +2 -0
- package/dist/commands/ai-collage-maker.js +54 -0
- package/dist/commands/ai-collage-maker.js.map +1 -0
- package/dist/commands/ai-dog.d.ts +2 -0
- package/dist/commands/ai-dog.js +57 -0
- package/dist/commands/ai-dog.js.map +1 -0
- package/dist/commands/ai-elf.d.ts +2 -0
- package/dist/commands/ai-elf.js +45 -0
- package/dist/commands/ai-elf.js.map +1 -0
- package/dist/commands/ai-face-merge.d.ts +2 -0
- package/dist/commands/ai-face-merge.js +63 -0
- package/dist/commands/ai-face-merge.js.map +1 -0
- package/dist/commands/ai-feet.d.ts +2 -0
- package/dist/commands/ai-feet.js +44 -0
- package/dist/commands/ai-feet.js.map +1 -0
- package/dist/commands/ai-flag-generator.d.ts +2 -0
- package/dist/commands/ai-flag-generator.js +49 -0
- package/dist/commands/ai-flag-generator.js.map +1 -0
- package/dist/commands/ai-generated-bikini-girls.d.ts +2 -0
- package/dist/commands/ai-generated-bikini-girls.js +52 -0
- package/dist/commands/ai-generated-bikini-girls.js.map +1 -0
- package/dist/commands/ai-generated-perfect-female-body.d.ts +2 -0
- package/dist/commands/ai-generated-perfect-female-body.js +52 -0
- package/dist/commands/ai-generated-perfect-female-body.js.map +1 -0
- package/dist/commands/ai-ghost-mannequin-generator.d.ts +2 -0
- package/dist/commands/ai-ghost-mannequin-generator.js +56 -0
- package/dist/commands/ai-ghost-mannequin-generator.js.map +1 -0
- package/dist/commands/ai-group-photo-generator.d.ts +2 -0
- package/dist/commands/ai-group-photo-generator.js +54 -0
- package/dist/commands/ai-group-photo-generator.js.map +1 -0
- package/dist/commands/ai-hair-color-changer.d.ts +2 -0
- package/dist/commands/ai-hair-color-changer.js +48 -0
- package/dist/commands/ai-hair-color-changer.js.map +1 -0
- package/dist/commands/ai-hairstyle-changer.d.ts +2 -0
- package/dist/commands/ai-hairstyle-changer.js +48 -0
- package/dist/commands/ai-hairstyle-changer.js.map +1 -0
- package/dist/commands/ai-hot-girl-image.d.ts +2 -0
- package/dist/commands/ai-hot-girl-image.js +52 -0
- package/dist/commands/ai-hot-girl-image.js.map +1 -0
- package/dist/commands/ai-image-animation.d.ts +2 -0
- package/dist/commands/ai-image-animation.js +60 -0
- package/dist/commands/ai-image-animation.js.map +1 -0
- package/dist/commands/ai-image-combiner.d.ts +2 -0
- package/dist/commands/ai-image-combiner.js +57 -0
- package/dist/commands/ai-image-combiner.js.map +1 -0
- package/dist/commands/ai-landscape-design-free.d.ts +2 -0
- package/dist/commands/ai-landscape-design-free.js +60 -0
- package/dist/commands/ai-landscape-design-free.js.map +1 -0
- package/dist/commands/ai-lingerie-models.d.ts +2 -0
- package/dist/commands/ai-lingerie-models.js +52 -0
- package/dist/commands/ai-lingerie-models.js.map +1 -0
- package/dist/commands/ai-photoshoot.d.ts +2 -0
- package/dist/commands/ai-photoshoot.js +81 -0
- package/dist/commands/ai-photoshoot.js.map +1 -0
- package/dist/commands/ai-poster-from-images.d.ts +2 -0
- package/dist/commands/ai-poster-from-images.js +73 -0
- package/dist/commands/ai-poster-from-images.js.map +1 -0
- package/dist/commands/ai-poster.d.ts +2 -0
- package/dist/commands/ai-poster.js +73 -0
- package/dist/commands/ai-poster.js.map +1 -0
- package/dist/commands/ai-room-planner.d.ts +2 -0
- package/dist/commands/ai-room-planner.js +49 -0
- package/dist/commands/ai-room-planner.js.map +1 -0
- package/dist/commands/ai-selfie.d.ts +2 -0
- package/dist/commands/ai-selfie.js +44 -0
- package/dist/commands/ai-selfie.js.map +1 -0
- package/dist/commands/ai-sexy-portrait.d.ts +2 -0
- package/dist/commands/ai-sexy-portrait.js +52 -0
- package/dist/commands/ai-sexy-portrait.js.map +1 -0
- package/dist/commands/ai-sexy-teens.d.ts +2 -0
- package/dist/commands/ai-sexy-teens.js +52 -0
- package/dist/commands/ai-sexy-teens.js.map +1 -0
- package/dist/commands/ai-spray-paint.d.ts +2 -0
- package/dist/commands/ai-spray-paint.js +49 -0
- package/dist/commands/ai-spray-paint.js.map +1 -0
- package/dist/commands/ai-swimsuit-model.d.ts +2 -0
- package/dist/commands/ai-swimsuit-model.js +44 -0
- package/dist/commands/ai-swimsuit-model.js.map +1 -0
- package/dist/commands/ai-tattoo-generator.d.ts +2 -0
- package/dist/commands/ai-tattoo-generator.js +48 -0
- package/dist/commands/ai-tattoo-generator.js.map +1 -0
- package/dist/commands/ai-text-remover-from-video.d.ts +2 -0
- package/dist/commands/ai-text-remover-from-video.js +37 -0
- package/dist/commands/ai-text-remover-from-video.js.map +1 -0
- package/dist/commands/ai-translate.d.ts +2 -0
- package/dist/commands/ai-translate.js +53 -0
- package/dist/commands/ai-translate.js.map +1 -0
- package/dist/commands/ai-video-enhancer.d.ts +2 -0
- package/dist/commands/ai-video-enhancer.js +49 -0
- package/dist/commands/ai-video-enhancer.js.map +1 -0
- package/dist/commands/ai-werewolf.d.ts +2 -0
- package/dist/commands/ai-werewolf.js +61 -0
- package/dist/commands/ai-werewolf.js.map +1 -0
- package/dist/commands/ai-xray-clothes.d.ts +2 -0
- package/dist/commands/ai-xray-clothes.js +45 -0
- package/dist/commands/ai-xray-clothes.js.map +1 -0
- package/dist/commands/ai-zombie.d.ts +2 -0
- package/dist/commands/ai-zombie.js +45 -0
- package/dist/commands/ai-zombie.js.map +1 -0
- package/dist/commands/aimodel.js +2 -2
- package/dist/commands/aimodel.js.map +1 -1
- package/dist/commands/aipose.js +2 -2
- package/dist/commands/aipose.js.map +1 -1
- package/dist/commands/aiproduct.js +2 -2
- package/dist/commands/aiproduct.js.map +1 -1
- package/dist/commands/anime-image-converter.d.ts +2 -0
- package/dist/commands/anime-image-converter.js +44 -0
- package/dist/commands/anime-image-converter.js.map +1 -0
- package/dist/commands/baby-face-generator.d.ts +2 -0
- package/dist/commands/baby-face-generator.js +59 -0
- package/dist/commands/baby-face-generator.js.map +1 -0
- package/dist/commands/bald-filter.d.ts +2 -0
- package/dist/commands/bald-filter.js +47 -0
- package/dist/commands/bald-filter.js.map +1 -0
- package/dist/commands/bangs-filter.d.ts +2 -0
- package/dist/commands/bangs-filter.js +45 -0
- package/dist/commands/bangs-filter.js.map +1 -0
- package/dist/commands/bikini-contest-photos.d.ts +2 -0
- package/dist/commands/bikini-contest-photos.js +52 -0
- package/dist/commands/bikini-contest-photos.js.map +1 -0
- package/dist/commands/bikini-try-on.d.ts +2 -0
- package/dist/commands/bikini-try-on.js +44 -0
- package/dist/commands/bikini-try-on.js.map +1 -0
- package/dist/commands/braces-filter.d.ts +2 -0
- package/dist/commands/braces-filter.js +44 -0
- package/dist/commands/braces-filter.js.map +1 -0
- package/dist/commands/brat-generator.d.ts +2 -0
- package/dist/commands/brat-generator.js +48 -0
- package/dist/commands/brat-generator.js.map +1 -0
- package/dist/commands/buzz-cut-ai.d.ts +2 -0
- package/dist/commands/buzz-cut-ai.js +52 -0
- package/dist/commands/buzz-cut-ai.js.map +1 -0
- package/dist/commands/celeb-ai.d.ts +2 -0
- package/dist/commands/celeb-ai.js +54 -0
- package/dist/commands/celeb-ai.js.map +1 -0
- package/dist/commands/chibi-maker.d.ts +2 -0
- package/dist/commands/chibi-maker.js +52 -0
- package/dist/commands/chibi-maker.js.map +1 -0
- package/dist/commands/clothing-magic-remover.d.ts +2 -0
- package/dist/commands/clothing-magic-remover.js +44 -0
- package/dist/commands/clothing-magic-remover.js.map +1 -0
- package/dist/commands/custom-bikini.d.ts +2 -0
- package/dist/commands/custom-bikini.js +52 -0
- package/dist/commands/custom-bikini.js.map +1 -0
- package/dist/commands/cute-anime-girl-ai-bikini.d.ts +2 -0
- package/dist/commands/cute-anime-girl-ai-bikini.js +52 -0
- package/dist/commands/cute-anime-girl-ai-bikini.js.map +1 -0
- package/dist/commands/demon-slayer-oc-maker.d.ts +2 -0
- package/dist/commands/demon-slayer-oc-maker.js +50 -0
- package/dist/commands/demon-slayer-oc-maker.js.map +1 -0
- package/dist/commands/dress-remover-magic-eraser.d.ts +2 -0
- package/dist/commands/dress-remover-magic-eraser.js +44 -0
- package/dist/commands/dress-remover-magic-eraser.js.map +1 -0
- package/dist/commands/expandimage.js +2 -2
- package/dist/commands/expandimage.js.map +1 -1
- package/dist/commands/face-forge.d.ts +2 -0
- package/dist/commands/face-forge.js +86 -0
- package/dist/commands/face-forge.js.map +1 -0
- package/dist/commands/fat-ai.d.ts +2 -0
- package/dist/commands/fat-ai.js +53 -0
- package/dist/commands/fat-ai.js.map +1 -0
- package/dist/commands/firered-image-edit.d.ts +2 -0
- package/dist/commands/firered-image-edit.js +61 -0
- package/dist/commands/firered-image-edit.js.map +1 -0
- package/dist/commands/flat-lay.d.ts +2 -0
- package/dist/commands/flat-lay.js +65 -0
- package/dist/commands/flat-lay.js.map +1 -0
- package/dist/commands/free-4k-video-upscaler.d.ts +2 -0
- package/dist/commands/free-4k-video-upscaler.js +42 -0
- package/dist/commands/free-4k-video-upscaler.js.map +1 -0
- package/dist/commands/free-ai-girlfriend-generator.d.ts +2 -0
- package/dist/commands/free-ai-girlfriend-generator.js +48 -0
- package/dist/commands/free-ai-girlfriend-generator.js.map +1 -0
- package/dist/commands/free-online-video-quality-enhancer.d.ts +2 -0
- package/dist/commands/free-online-video-quality-enhancer.js +42 -0
- package/dist/commands/free-online-video-quality-enhancer.js.map +1 -0
- package/dist/commands/free-sexy-ai-generator.d.ts +2 -0
- package/dist/commands/free-sexy-ai-generator.js +52 -0
- package/dist/commands/free-sexy-ai-generator.js.map +1 -0
- package/dist/commands/futuristic-elegance.d.ts +2 -0
- package/dist/commands/futuristic-elegance.js +54 -0
- package/dist/commands/futuristic-elegance.js.map +1 -0
- package/dist/commands/gemini-watermark-remover.d.ts +2 -0
- package/dist/commands/gemini-watermark-remover.js +37 -0
- package/dist/commands/gemini-watermark-remover.js.map +1 -0
- package/dist/commands/gender-swap.d.ts +2 -0
- package/dist/commands/gender-swap.js +53 -0
- package/dist/commands/gender-swap.js.map +1 -0
- package/dist/commands/ghibli-art-create.d.ts +2 -0
- package/dist/commands/ghibli-art-create.js +48 -0
- package/dist/commands/ghibli-art-create.js.map +1 -0
- package/dist/commands/grok-imagine-video.d.ts +2 -0
- package/dist/commands/grok-imagine-video.js +53 -0
- package/dist/commands/grok-imagine-video.js.map +1 -0
- package/dist/commands/grok-imagine.d.ts +2 -0
- package/dist/commands/grok-imagine.js +46 -0
- package/dist/commands/grok-imagine.js.map +1 -0
- package/dist/commands/hair-color-try-on.d.ts +2 -0
- package/dist/commands/hair-color-try-on.js +48 -0
- package/dist/commands/hair-color-try-on.js.map +1 -0
- package/dist/commands/happy-woman-bikini-ai-pic.d.ts +2 -0
- package/dist/commands/happy-woman-bikini-ai-pic.js +52 -0
- package/dist/commands/happy-woman-bikini-ai-pic.js.map +1 -0
- package/dist/commands/hot-bikini-models.d.ts +2 -0
- package/dist/commands/hot-bikini-models.js +52 -0
- package/dist/commands/hot-bikini-models.js.map +1 -0
- package/dist/commands/image-mixer.d.ts +2 -0
- package/dist/commands/image-mixer.js +57 -0
- package/dist/commands/image-mixer.js.map +1 -0
- package/dist/commands/image-to-sketch.d.ts +2 -0
- package/dist/commands/image-to-sketch.js +44 -0
- package/dist/commands/image-to-sketch.js.map +1 -0
- package/dist/commands/improve-video-quality-online-free.d.ts +2 -0
- package/dist/commands/improve-video-quality-online-free.js +42 -0
- package/dist/commands/improve-video-quality-online-free.js.map +1 -0
- package/dist/commands/kling.d.ts +2 -0
- package/dist/commands/kling.js +75 -0
- package/dist/commands/kling.js.map +1 -0
- package/dist/commands/logo-remover-from-video.d.ts +2 -0
- package/dist/commands/logo-remover-from-video.js +37 -0
- package/dist/commands/logo-remover-from-video.js.map +1 -0
- package/dist/commands/midjourney.d.ts +2 -0
- package/dist/commands/midjourney.js +54 -0
- package/dist/commands/midjourney.js.map +1 -0
- package/dist/commands/mugshot-creator.d.ts +2 -0
- package/dist/commands/mugshot-creator.js +45 -0
- package/dist/commands/mugshot-creator.js.map +1 -0
- package/dist/commands/murder-drones-oc.d.ts +2 -0
- package/dist/commands/murder-drones-oc.js +50 -0
- package/dist/commands/murder-drones-oc.js.map +1 -0
- package/dist/commands/outfit-generator.d.ts +2 -0
- package/dist/commands/outfit-generator.js +54 -0
- package/dist/commands/outfit-generator.js.map +1 -0
- package/dist/commands/personalized-swimsuit.d.ts +2 -0
- package/dist/commands/personalized-swimsuit.js +52 -0
- package/dist/commands/personalized-swimsuit.js.map +1 -0
- package/dist/commands/photo-to-bikini-ai.d.ts +2 -0
- package/dist/commands/photo-to-bikini-ai.js +44 -0
- package/dist/commands/photo-to-bikini-ai.js.map +1 -0
- package/dist/commands/pregnant-ai.d.ts +2 -0
- package/dist/commands/pregnant-ai.js +54 -0
- package/dist/commands/pregnant-ai.js.map +1 -0
- package/dist/commands/ps2-filter.d.ts +2 -0
- package/dist/commands/ps2-filter.js +45 -0
- package/dist/commands/ps2-filter.js.map +1 -0
- package/dist/commands/qwen-image-edit.d.ts +2 -0
- package/dist/commands/qwen-image-edit.js +64 -0
- package/dist/commands/qwen-image-edit.js.map +1 -0
- package/dist/commands/random-animal-generator.d.ts +2 -0
- package/dist/commands/random-animal-generator.js +49 -0
- package/dist/commands/random-animal-generator.js.map +1 -0
- package/dist/commands/remove-filter-from-photo.d.ts +2 -0
- package/dist/commands/remove-filter-from-photo.js +48 -0
- package/dist/commands/remove-filter-from-photo.js.map +1 -0
- package/dist/commands/remove-subtitles-from-video-online-free.d.ts +2 -0
- package/dist/commands/remove-subtitles-from-video-online-free.js +37 -0
- package/dist/commands/remove-subtitles-from-video-online-free.js.map +1 -0
- package/dist/commands/remove-text-from-video-online-free.d.ts +2 -0
- package/dist/commands/remove-text-from-video-online-free.js +37 -0
- package/dist/commands/remove-text-from-video-online-free.js.map +1 -0
- package/dist/commands/removebg.js +2 -2
- package/dist/commands/removebg.js.map +1 -1
- package/dist/commands/replace-face-in-video-online-free.d.ts +2 -0
- package/dist/commands/replace-face-in-video-online-free.js +56 -0
- package/dist/commands/replace-face-in-video-online-free.js.map +1 -0
- package/dist/commands/see-through-clothes-fitler.d.ts +2 -0
- package/dist/commands/see-through-clothes-fitler.js +45 -0
- package/dist/commands/see-through-clothes-fitler.js.map +1 -0
- package/dist/commands/seedance.d.ts +2 -0
- package/dist/commands/seedance.js +65 -0
- package/dist/commands/seedance.js.map +1 -0
- package/dist/commands/seedream.d.ts +2 -0
- package/dist/commands/seedream.js +85 -0
- package/dist/commands/seedream.js.map +1 -0
- package/dist/commands/sex-ai-generator.d.ts +2 -0
- package/dist/commands/sex-ai-generator.js +52 -0
- package/dist/commands/sex-ai-generator.js.map +1 -0
- package/dist/commands/sexy-ai-pics.d.ts +2 -0
- package/dist/commands/sexy-ai-pics.js +43 -0
- package/dist/commands/sexy-ai-pics.js.map +1 -0
- package/dist/commands/skin-color-changer.d.ts +2 -0
- package/dist/commands/skin-color-changer.js +48 -0
- package/dist/commands/skin-color-changer.js.map +1 -0
- package/dist/commands/sonic-oc.d.ts +2 -0
- package/dist/commands/sonic-oc.js +49 -0
- package/dist/commands/sonic-oc.js.map +1 -0
- package/dist/commands/sora-2.d.ts +2 -0
- package/dist/commands/sora-2.js +53 -0
- package/dist/commands/sora-2.js.map +1 -0
- package/dist/commands/sprunki-oc-maker.d.ts +2 -0
- package/dist/commands/sprunki-oc-maker.js +50 -0
- package/dist/commands/sprunki-oc-maker.js.map +1 -0
- package/dist/commands/square-face-icon-generator.d.ts +2 -0
- package/dist/commands/square-face-icon-generator.js +51 -0
- package/dist/commands/square-face-icon-generator.js.map +1 -0
- package/dist/commands/stardew-valley-portrait-maker.d.ts +2 -0
- package/dist/commands/stardew-valley-portrait-maker.js +49 -0
- package/dist/commands/stardew-valley-portrait-maker.js.map +1 -0
- package/dist/commands/string-bikini-beauty-contest.d.ts +2 -0
- package/dist/commands/string-bikini-beauty-contest.js +52 -0
- package/dist/commands/string-bikini-beauty-contest.js.map +1 -0
- package/dist/commands/swimsuit-try-on-haul.d.ts +2 -0
- package/dist/commands/swimsuit-try-on-haul.js +52 -0
- package/dist/commands/swimsuit-try-on-haul.js.map +1 -0
- package/dist/commands/video-resolution-enhancer-online-free.d.ts +2 -0
- package/dist/commands/video-resolution-enhancer-online-free.js +42 -0
- package/dist/commands/video-resolution-enhancer-online-free.js.map +1 -0
- package/dist/commands/video-upscaler-online-free.d.ts +2 -0
- package/dist/commands/video-upscaler-online-free.js +42 -0
- package/dist/commands/video-upscaler-online-free.js.map +1 -0
- package/dist/commands/video-watermark-remover.d.ts +2 -0
- package/dist/commands/video-watermark-remover.js +45 -0
- package/dist/commands/video-watermark-remover.js.map +1 -0
- package/dist/commands/virtualtryon.js +2 -2
- package/dist/commands/virtualtryon.js.map +1 -1
- package/dist/commands/wan-ai.d.ts +2 -0
- package/dist/commands/wan-ai.js +49 -0
- package/dist/commands/wan-ai.js.map +1 -0
- package/dist/commands/wild-graffiti.d.ts +2 -0
- package/dist/commands/wild-graffiti.js +49 -0
- package/dist/commands/wild-graffiti.js.map +1 -0
- package/dist/commands/z-image.d.ts +2 -0
- package/dist/commands/z-image.js +51 -0
- package/dist/commands/z-image.js.map +1 -0
- package/dist/index.js +231 -2
- package/dist/index.js.map +1 -1
- package/dist/printer.js +13 -3
- package/dist/printer.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { resolveImage, submitRun, waitForCompletion } from "../client.js";
|
|
3
|
+
import { printSubmitted, printPollResult, printError } from "../printer.js";
|
|
4
|
+
export const grokImagineVideoCmd = new Command("grok-imagine-video")
|
|
5
|
+
.summary("Grok Imagine video generator — create cinematic AI videos with native audio using xAI")
|
|
6
|
+
.description("Generate cinematic AI videos with native audio using xAI's Grok Imagine Video.\n" +
|
|
7
|
+
"Results come back in video[N].url.\n\n" +
|
|
8
|
+
"Duration (--duration):\n" +
|
|
9
|
+
" 6s (default), 10s\n\n" +
|
|
10
|
+
"Aspect ratio (--aspect-ratio):\n" +
|
|
11
|
+
" 16:9 (default), 9:16, 1:1\n\n" +
|
|
12
|
+
"Examples:\n" +
|
|
13
|
+
" weshop grok-imagine-video --image ./scene.png --prompt 'A rocket launching into space'\n" +
|
|
14
|
+
" weshop grok-imagine-video --image ./photo.png --prompt 'Person walks through a neon-lit city' --duration 10s\n" +
|
|
15
|
+
" weshop grok-imagine-video --image ./landscape.png --prompt 'Timelapse of a storm' --aspect-ratio 9:16 --no-wait")
|
|
16
|
+
.requiredOption("--image <path|url>", "Input image — local file path or URL")
|
|
17
|
+
.requiredOption("--prompt <text>", "Describe the desired video scene")
|
|
18
|
+
.option("--duration <time>", "Video duration: 6s (default) or 10s")
|
|
19
|
+
.option("--aspect-ratio <ratio>", "Output aspect ratio: 16:9 (default), 9:16, or 1:1")
|
|
20
|
+
.option("--batch <count>", "Number of videos to generate, 1-16 (default: 1)", (v) => parseInt(v, 10), 1)
|
|
21
|
+
.option("--task-name <name>", "Human-readable label for this run")
|
|
22
|
+
.option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
|
|
23
|
+
.action(async (opts) => {
|
|
24
|
+
try {
|
|
25
|
+
const { url: imageUrl } = await resolveImage(opts.image);
|
|
26
|
+
const params = {
|
|
27
|
+
textDescription: opts.prompt,
|
|
28
|
+
images: [imageUrl],
|
|
29
|
+
duration: opts.duration ?? "6s",
|
|
30
|
+
aspectRatio: opts.aspectRatio ?? "16:9",
|
|
31
|
+
};
|
|
32
|
+
if (opts.batch != null)
|
|
33
|
+
params.batchCount = opts.batch;
|
|
34
|
+
const input = { originalImage: imageUrl };
|
|
35
|
+
if (opts.taskName)
|
|
36
|
+
input.taskName = opts.taskName;
|
|
37
|
+
const body = { agent: { name: "grok-imagine-video", version: "v1.0" }, input, params };
|
|
38
|
+
const { executionId } = await submitRun(body);
|
|
39
|
+
printSubmitted(executionId);
|
|
40
|
+
if (opts.wait !== false) {
|
|
41
|
+
printPollResult(await waitForCompletion(executionId));
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
console.log("[info]");
|
|
45
|
+
console.log(` message: Use 'weshop status ${executionId}' to check progress`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch (err) {
|
|
49
|
+
printError(err);
|
|
50
|
+
process.exit(1);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=grok-imagine-video.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grok-imagine-video.js","sourceRoot":"","sources":["../../src/commands/grok-imagine-video.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAmB,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,OAAO,CAAC,oBAAoB,CAAC;KACjE,OAAO,CAAC,uFAAuF,CAAC;KAChG,WAAW,CACV,kFAAkF;IAClF,wCAAwC;IACxC,0BAA0B;IAC1B,yBAAyB;IACzB,kCAAkC;IAClC,iCAAiC;IACjC,aAAa;IACb,4FAA4F;IAC5F,kHAAkH;IAClH,mHAAmH,CACpH;KACA,cAAc,CAAC,oBAAoB,EAAE,sCAAsC,CAAC;KAC5E,cAAc,CAAC,iBAAiB,EAAE,kCAAkC,CAAC;KACrE,MAAM,CAAC,mBAAmB,EAAE,qCAAqC,CAAC;KAClE,MAAM,CAAC,wBAAwB,EAAE,mDAAmD,CAAC;KACrF,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,MAAM,GAA4B;YACtC,eAAe,EAAE,IAAI,CAAC,MAAM;YAC5B,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;YAC/B,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,MAAM;SACxC,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QACvD,MAAM,KAAK,GAA4B,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;QACnE,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClD,MAAM,IAAI,GAAe,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACnG,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,cAAc,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAAC,eAAe,CAAC,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;QAAC,CAAC;aAC9E,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,WAAW,qBAAqB,CAAC,CAAC;QAAC,CAAC;IACjH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { resolveImage, submitRun, waitForCompletion } from "../client.js";
|
|
3
|
+
import { printSubmitted, printPollResult, printError } from "../printer.js";
|
|
4
|
+
export const grokImagineCmd = new Command("grok-imagine")
|
|
5
|
+
.summary("Grok Imagine image generator — create high-resolution images from text using xAI Aurora")
|
|
6
|
+
.description("Generate high-resolution images from text using xAI's Aurora model (Grok Imagine).\n" +
|
|
7
|
+
"Image is optional.\n\n" +
|
|
8
|
+
"Examples:\n" +
|
|
9
|
+
" weshop grok-imagine --prompt 'A photorealistic astronaut on Mars at sunset'\n" +
|
|
10
|
+
" weshop grok-imagine --image ./reference.png --prompt 'In this style, a futuristic city'\n" +
|
|
11
|
+
" weshop grok-imagine --prompt 'Abstract art with neon colors' --batch 4")
|
|
12
|
+
.option("--image <path|url>", "Reference image — local file path or URL (optional)")
|
|
13
|
+
.requiredOption("--prompt <text>", "Describe the desired image")
|
|
14
|
+
.option("--batch <count>", "Number of images to generate, 1-16 (default: 1)", (v) => parseInt(v, 10), 1)
|
|
15
|
+
.option("--task-name <name>", "Human-readable label for this run")
|
|
16
|
+
.option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
|
|
17
|
+
.action(async (opts) => {
|
|
18
|
+
try {
|
|
19
|
+
const params = { textDescription: opts.prompt };
|
|
20
|
+
if (opts.batch != null)
|
|
21
|
+
params.batchCount = opts.batch;
|
|
22
|
+
const input = {};
|
|
23
|
+
if (opts.taskName)
|
|
24
|
+
input.taskName = opts.taskName;
|
|
25
|
+
if (opts.image) {
|
|
26
|
+
const { url: imageUrl } = await resolveImage(opts.image);
|
|
27
|
+
params.images = [imageUrl];
|
|
28
|
+
input.originalImage = imageUrl;
|
|
29
|
+
}
|
|
30
|
+
const body = { agent: { name: "grok-imagine", version: "v1.0" }, input, params };
|
|
31
|
+
const { executionId } = await submitRun(body);
|
|
32
|
+
printSubmitted(executionId);
|
|
33
|
+
if (opts.wait !== false) {
|
|
34
|
+
printPollResult(await waitForCompletion(executionId));
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
console.log("[info]");
|
|
38
|
+
console.log(` message: Use 'weshop status ${executionId}' to check progress`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
printError(err);
|
|
43
|
+
process.exit(1);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=grok-imagine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grok-imagine.js","sourceRoot":"","sources":["../../src/commands/grok-imagine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAmB,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC;KACtD,OAAO,CAAC,yFAAyF,CAAC;KAClG,WAAW,CACV,sFAAsF;IACtF,wBAAwB;IACxB,aAAa;IACb,iFAAiF;IACjF,6FAA6F;IAC7F,0EAA0E,CAC3E;KACA,MAAM,CAAC,oBAAoB,EAAE,qDAAqD,CAAC;KACnF,cAAc,CAAC,iBAAiB,EAAE,4BAA4B,CAAC;KAC/D,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,IAAI,CAAC;QACH,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACzE,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QACvD,MAAM,KAAK,GAA4B,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzD,MAAM,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC3B,KAAK,CAAC,aAAa,GAAG,QAAQ,CAAC;QACjC,CAAC;QACD,MAAM,IAAI,GAAe,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC7F,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,cAAc,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAAC,eAAe,CAAC,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;QAAC,CAAC;aAC9E,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,WAAW,qBAAqB,CAAC,CAAC;QAAC,CAAC;IACjH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { resolveImage, submitRun, waitForCompletion } from "../client.js";
|
|
3
|
+
import { printSubmitted, printPollResult, printError } from "../printer.js";
|
|
4
|
+
const DEFAULT_PROMPT = "Change hair color naturally. choose whatever suit the person's skin tone or randomly between Rose Gold/Pinkish Brown/Dark Blue. Don't change hair style or other details.";
|
|
5
|
+
export const hairColorTryOnCmd = new Command("hair-color-try-on")
|
|
6
|
+
.summary("Hair color try-on — change a person's hair color while preserving hairstyle and details")
|
|
7
|
+
.description("Transform a portrait photo by changing the hair color naturally.\n" +
|
|
8
|
+
"Preserves the original hairstyle and all other details.\n\n" +
|
|
9
|
+
"Default prompt (used when --prompt is omitted):\n" +
|
|
10
|
+
` "${DEFAULT_PROMPT}"\n\n` +
|
|
11
|
+
"Examples:\n" +
|
|
12
|
+
" weshop hair-color-try-on --image ./person.png\n" +
|
|
13
|
+
" weshop hair-color-try-on --image ./person.png --prompt 'Change hair to platinum blonde'\n" +
|
|
14
|
+
" weshop hair-color-try-on --image ./person.png --batch 4")
|
|
15
|
+
.requiredOption("--image <path|url>", "Input portrait image — local file path or URL")
|
|
16
|
+
.option("--prompt <text>", "Custom hair color instruction (default: AI-chosen color for skin tone)")
|
|
17
|
+
.option("--batch <count>", "Number of images to generate, 1-16 (default: 1)", (v) => parseInt(v, 10), 1)
|
|
18
|
+
.option("--task-name <name>", "Human-readable label for this run")
|
|
19
|
+
.option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
|
|
20
|
+
.action(async (opts) => {
|
|
21
|
+
try {
|
|
22
|
+
const { url: imageUrl } = await resolveImage(opts.image);
|
|
23
|
+
const params = {
|
|
24
|
+
textDescription: opts.prompt ?? DEFAULT_PROMPT,
|
|
25
|
+
images: [imageUrl],
|
|
26
|
+
};
|
|
27
|
+
if (opts.batch != null)
|
|
28
|
+
params.batchCount = opts.batch;
|
|
29
|
+
const input = { originalImage: imageUrl };
|
|
30
|
+
if (opts.taskName)
|
|
31
|
+
input.taskName = opts.taskName;
|
|
32
|
+
const body = { agent: { name: "hair-color-try-on", 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
|
+
}
|
|
47
|
+
});
|
|
48
|
+
//# sourceMappingURL=hair-color-try-on.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hair-color-try-on.js","sourceRoot":"","sources":["../../src/commands/hair-color-try-on.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAmB,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,cAAc,GAClB,2KAA2K,CAAC;AAE9K,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAC,mBAAmB,CAAC;KAC9D,OAAO,CAAC,yFAAyF,CAAC;KAClG,WAAW,CACV,oEAAoE;IACpE,6DAA6D;IAC7D,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,mDAAmD;IACnD,6FAA6F;IAC7F,2DAA2D,CAC5D;KACA,cAAc,CAAC,oBAAoB,EAAE,+CAA+C,CAAC;KACrF,MAAM,CAAC,iBAAiB,EAAE,wEAAwE,CAAC;KACnG,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,MAAM,GAA4B;YACtC,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc;YAC9C,MAAM,EAAE,CAAC,QAAQ,CAAC;SACnB,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QACvD,MAAM,KAAK,GAA4B,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;QACnE,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClD,MAAM,IAAI,GAAe,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAClG,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,cAAc,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAAC,eAAe,CAAC,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;QAAC,CAAC;aAC9E,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,WAAW,qBAAqB,CAAC,CAAC;QAAC,CAAC;IACjH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { resolveImage, submitRun, waitForCompletion } from "../client.js";
|
|
3
|
+
import { printSubmitted, printPollResult, printError } from "../printer.js";
|
|
4
|
+
const DEFAULT_PROMPT = "naturally undress and change the outfit into a thin bikini while keeping body proportions natural. Keep Model dancing tiktok dance.";
|
|
5
|
+
export const happyWomanBikiniAiPicCmd = new Command("happy-woman-bikini-ai-pic")
|
|
6
|
+
.summary("Happy woman bikini AI pic — transform a person photo into a bikini model image or video")
|
|
7
|
+
.description("Transform a portrait or full-body photo into a bikini model image or video.\n\n" +
|
|
8
|
+
"Generated type (--generated-type):\n" +
|
|
9
|
+
" video Generate a short video (default)\n" +
|
|
10
|
+
" image Generate a still image\n\n" +
|
|
11
|
+
"Default prompt (used when --prompt is omitted):\n" +
|
|
12
|
+
` "${DEFAULT_PROMPT}"\n\n` +
|
|
13
|
+
"Examples:\n" +
|
|
14
|
+
" weshop happy-woman-bikini-ai-pic --image ./person.png --prompt 'Bikini model on a beach'\n" +
|
|
15
|
+
" weshop happy-woman-bikini-ai-pic --image ./person.png --generated-type image --batch 2\n" +
|
|
16
|
+
" weshop happy-woman-bikini-ai-pic --image ./person.png --generated-type video --no-wait")
|
|
17
|
+
.requiredOption("--image <path|url>", "Input portrait or full-body photo — local file path or URL")
|
|
18
|
+
.option("--prompt <text>", "Describe the desired bikini model scene")
|
|
19
|
+
.option("--generated-type <type>", "Output type: video (default) or image")
|
|
20
|
+
.option("--batch <count>", "Number of outputs to generate, 1-16 (default: 1)", (v) => parseInt(v, 10), 1)
|
|
21
|
+
.option("--task-name <name>", "Human-readable label for this run")
|
|
22
|
+
.option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
|
|
23
|
+
.action(async (opts) => {
|
|
24
|
+
try {
|
|
25
|
+
const { url: imageUrl } = await resolveImage(opts.image);
|
|
26
|
+
const params = {
|
|
27
|
+
textDescription: opts.prompt ?? DEFAULT_PROMPT,
|
|
28
|
+
images: [imageUrl],
|
|
29
|
+
generatedType: opts.generatedType ?? "video",
|
|
30
|
+
};
|
|
31
|
+
if (opts.batch != null)
|
|
32
|
+
params.batchCount = opts.batch;
|
|
33
|
+
const input = { originalImage: imageUrl };
|
|
34
|
+
if (opts.taskName)
|
|
35
|
+
input.taskName = opts.taskName;
|
|
36
|
+
const body = { agent: { name: "happy-woman-bikini-ai-pic", 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
|
+
}
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=happy-woman-bikini-ai-pic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"happy-woman-bikini-ai-pic.js","sourceRoot":"","sources":["../../src/commands/happy-woman-bikini-ai-pic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAmB,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,cAAc,GAClB,qIAAqI,CAAC;AAExI,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,OAAO,CAAC,2BAA2B,CAAC;KAC7E,OAAO,CAAC,yFAAyF,CAAC;KAClG,WAAW,CACV,iFAAiF;IACjF,sCAAsC;IACtC,8CAA8C;IAC9C,sCAAsC;IACtC,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,8FAA8F;IAC9F,4FAA4F;IAC5F,0FAA0F,CAC3F;KACA,cAAc,CAAC,oBAAoB,EAAE,4DAA4D,CAAC;KAClG,MAAM,CAAC,iBAAiB,EAAE,yCAAyC,CAAC;KACpE,MAAM,CAAC,yBAAyB,EAAE,uCAAuC,CAAC;KAC1E,MAAM,CAAC,iBAAiB,EAAE,kDAAkD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACxG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,MAAM,GAA4B;YACtC,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc;YAC9C,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,OAAO;SAC7C,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QACvD,MAAM,KAAK,GAA4B,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;QACnE,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClD,MAAM,IAAI,GAAe,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC1G,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,cAAc,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAAC,eAAe,CAAC,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;QAAC,CAAC;aAC9E,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,WAAW,qBAAqB,CAAC,CAAC;QAAC,CAAC;IACjH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { resolveImage, submitRun, waitForCompletion } from "../client.js";
|
|
3
|
+
import { printSubmitted, printPollResult, printError } from "../printer.js";
|
|
4
|
+
const DEFAULT_PROMPT = "naturally undress and change the outfit into a thin bikini while keeping body proportions natural. Keep Model dancing tiktok dance.";
|
|
5
|
+
export const hotBikiniModelsCmd = new Command("hot-bikini-models")
|
|
6
|
+
.summary("Hot bikini models — transform a person photo into a bikini model image or video")
|
|
7
|
+
.description("Transform a portrait or full-body photo into a bikini model image or video.\n\n" +
|
|
8
|
+
"Generated type (--generated-type):\n" +
|
|
9
|
+
" video Generate a short video (default)\n" +
|
|
10
|
+
" image Generate a still image\n\n" +
|
|
11
|
+
"Default prompt (used when --prompt is omitted):\n" +
|
|
12
|
+
` "${DEFAULT_PROMPT}"\n\n` +
|
|
13
|
+
"Examples:\n" +
|
|
14
|
+
" weshop hot-bikini-models --image ./person.png --prompt 'Bikini model on a beach'\n" +
|
|
15
|
+
" weshop hot-bikini-models --image ./person.png --generated-type image --batch 2\n" +
|
|
16
|
+
" weshop hot-bikini-models --image ./person.png --generated-type video --no-wait")
|
|
17
|
+
.requiredOption("--image <path|url>", "Input portrait or full-body photo — local file path or URL")
|
|
18
|
+
.option("--prompt <text>", "Describe the desired bikini model scene")
|
|
19
|
+
.option("--generated-type <type>", "Output type: video (default) or image")
|
|
20
|
+
.option("--batch <count>", "Number of outputs to generate, 1-16 (default: 1)", (v) => parseInt(v, 10), 1)
|
|
21
|
+
.option("--task-name <name>", "Human-readable label for this run")
|
|
22
|
+
.option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
|
|
23
|
+
.action(async (opts) => {
|
|
24
|
+
try {
|
|
25
|
+
const { url: imageUrl } = await resolveImage(opts.image);
|
|
26
|
+
const params = {
|
|
27
|
+
textDescription: opts.prompt ?? DEFAULT_PROMPT,
|
|
28
|
+
images: [imageUrl],
|
|
29
|
+
generatedType: opts.generatedType ?? "video",
|
|
30
|
+
};
|
|
31
|
+
if (opts.batch != null)
|
|
32
|
+
params.batchCount = opts.batch;
|
|
33
|
+
const input = { originalImage: imageUrl };
|
|
34
|
+
if (opts.taskName)
|
|
35
|
+
input.taskName = opts.taskName;
|
|
36
|
+
const body = { agent: { name: "hot-bikini-models", version: "v1.0" }, input, params };
|
|
37
|
+
const { executionId } = await submitRun(body);
|
|
38
|
+
printSubmitted(executionId);
|
|
39
|
+
if (opts.wait !== false) {
|
|
40
|
+
printPollResult(await waitForCompletion(executionId));
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
console.log("[info]");
|
|
44
|
+
console.log(` message: Use 'weshop status ${executionId}' to check progress`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
catch (err) {
|
|
48
|
+
printError(err);
|
|
49
|
+
process.exit(1);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=hot-bikini-models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hot-bikini-models.js","sourceRoot":"","sources":["../../src/commands/hot-bikini-models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAmB,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,cAAc,GAClB,qIAAqI,CAAC;AAExI,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,OAAO,CAAC,mBAAmB,CAAC;KAC/D,OAAO,CAAC,iFAAiF,CAAC;KAC1F,WAAW,CACV,iFAAiF;IACjF,sCAAsC;IACtC,8CAA8C;IAC9C,sCAAsC;IACtC,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,sFAAsF;IACtF,oFAAoF;IACpF,kFAAkF,CACnF;KACA,cAAc,CAAC,oBAAoB,EAAE,4DAA4D,CAAC;KAClG,MAAM,CAAC,iBAAiB,EAAE,yCAAyC,CAAC;KACpE,MAAM,CAAC,yBAAyB,EAAE,uCAAuC,CAAC;KAC1E,MAAM,CAAC,iBAAiB,EAAE,kDAAkD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACxG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,MAAM,GAA4B;YACtC,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc;YAC9C,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,OAAO;SAC7C,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QACvD,MAAM,KAAK,GAA4B,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;QACnE,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClD,MAAM,IAAI,GAAe,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAClG,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,cAAc,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAAC,eAAe,CAAC,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;QAAC,CAAC;aAC9E,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,WAAW,qBAAqB,CAAC,CAAC;QAAC,CAAC;IACjH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { resolveImage, submitRun, waitForCompletion } from "../client.js";
|
|
3
|
+
import { printSubmitted, printPollResult, printError } from "../printer.js";
|
|
4
|
+
const DEFAULT_PROMPT = "Merge these two photos together naturally. Don't simply put element on the another image, try to generate a merged photo.";
|
|
5
|
+
export const imageMixerCmd = new Command("image-mixer")
|
|
6
|
+
.summary("Image mixer — naturally merge two photos into a single cohesive image")
|
|
7
|
+
.description("Merge two photos together into a single naturally blended image.\n" +
|
|
8
|
+
"Requires exactly 2 images. Reference them in your prompt as 'image 1' and 'image 2'.\n\n" +
|
|
9
|
+
"Default prompt (used when --prompt is omitted):\n" +
|
|
10
|
+
` "${DEFAULT_PROMPT}"\n\n` +
|
|
11
|
+
"Examples:\n" +
|
|
12
|
+
" weshop image-mixer --image ./photo1.png --image ./photo2.png\n" +
|
|
13
|
+
" weshop image-mixer --image ./person.png --image ./background.png --prompt 'Place image 1 person into image 2 scene naturally'\n" +
|
|
14
|
+
" weshop image-mixer --image ./a.png --image ./b.png --batch 2")
|
|
15
|
+
.requiredOption("--image <path|url...>", "Two images to mix — local file paths or URLs (exactly 2 required)")
|
|
16
|
+
.option("--prompt <text>", "Custom merge instruction (default: naturally merge both photos)")
|
|
17
|
+
.option("--batch <count>", "Number of images to generate, 1-16 (default: 1)", (v) => parseInt(v, 10), 1)
|
|
18
|
+
.option("--task-name <name>", "Human-readable label for this run")
|
|
19
|
+
.option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
|
|
20
|
+
.action(async (opts) => {
|
|
21
|
+
try {
|
|
22
|
+
const imageList = opts.image;
|
|
23
|
+
if (imageList.length !== 2) {
|
|
24
|
+
console.error("[error]\n message: Exactly 2 images required for image-mixer");
|
|
25
|
+
process.exit(1);
|
|
26
|
+
}
|
|
27
|
+
const urls = [];
|
|
28
|
+
for (const img of imageList) {
|
|
29
|
+
const { url } = await resolveImage(img);
|
|
30
|
+
urls.push(url);
|
|
31
|
+
}
|
|
32
|
+
const params = {
|
|
33
|
+
textDescription: opts.prompt ?? DEFAULT_PROMPT,
|
|
34
|
+
images: urls,
|
|
35
|
+
};
|
|
36
|
+
if (opts.batch != null)
|
|
37
|
+
params.batchCount = opts.batch;
|
|
38
|
+
const input = { originalImage: urls[0] };
|
|
39
|
+
if (opts.taskName)
|
|
40
|
+
input.taskName = opts.taskName;
|
|
41
|
+
const body = { agent: { name: "image-mixer", version: "v1.0" }, input, params };
|
|
42
|
+
const { executionId } = await submitRun(body);
|
|
43
|
+
printSubmitted(executionId);
|
|
44
|
+
if (opts.wait !== false) {
|
|
45
|
+
printPollResult(await waitForCompletion(executionId));
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
console.log("[info]");
|
|
49
|
+
console.log(` message: Use 'weshop status ${executionId}' to check progress`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
catch (err) {
|
|
53
|
+
printError(err);
|
|
54
|
+
process.exit(1);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
//# sourceMappingURL=image-mixer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-mixer.js","sourceRoot":"","sources":["../../src/commands/image-mixer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAmB,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,cAAc,GAClB,2HAA2H,CAAC;AAE9H,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;KACpD,OAAO,CAAC,uEAAuE,CAAC;KAChF,WAAW,CACV,oEAAoE;IACpE,0FAA0F;IAC1F,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,kEAAkE;IAClE,mIAAmI;IACnI,gEAAgE,CACjE;KACA,cAAc,CAAC,uBAAuB,EAAE,mEAAmE,CAAC;KAC5G,MAAM,CAAC,iBAAiB,EAAE,iEAAiE,CAAC;KAC5F,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,IAAI,CAAC;QACH,MAAM,SAAS,GAAa,IAAI,CAAC,KAAK,CAAC;QACvC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;YAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;QACD,MAAM,MAAM,GAA4B;YACtC,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc;YAC9C,MAAM,EAAE,IAAI;SACb,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QACvD,MAAM,KAAK,GAA4B,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClD,MAAM,IAAI,GAAe,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC5F,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,cAAc,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAAC,eAAe,CAAC,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;QAAC,CAAC;aAC9E,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,WAAW,qBAAqB,CAAC,CAAC;QAAC,CAAC;IACjH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { resolveImage, submitRun, waitForCompletion } from "../client.js";
|
|
3
|
+
import { printSubmitted, printPollResult, printError } from "../printer.js";
|
|
4
|
+
const DEFAULT_PROMPT = "Turn this image into rough pencil sketch without changing details.";
|
|
5
|
+
export const imageToSketchCmd = new Command("image-to-sketch")
|
|
6
|
+
.summary("AI image to sketch — convert a photo into a rough pencil sketch")
|
|
7
|
+
.description("Convert any photo into a rough pencil sketch while preserving the original details.\n\n" +
|
|
8
|
+
"Default prompt (used when --prompt is omitted):\n" +
|
|
9
|
+
` "${DEFAULT_PROMPT}"\n\n` +
|
|
10
|
+
"Examples:\n" +
|
|
11
|
+
" weshop image-to-sketch --image ./photo.png\n" +
|
|
12
|
+
" weshop image-to-sketch --image ./portrait.png --prompt 'Fine line art sketch, detailed shading'\n" +
|
|
13
|
+
" weshop image-to-sketch --image ./photo.png --batch 2")
|
|
14
|
+
.requiredOption("--image <path|url>", "Input image — local file path or URL")
|
|
15
|
+
.option("--prompt <text>", "Custom sketch style instruction")
|
|
16
|
+
.option("--batch <count>", "Number of images to generate, 1-16 (default: 1)", (v) => parseInt(v, 10), 1)
|
|
17
|
+
.option("--task-name <name>", "Human-readable label for this run")
|
|
18
|
+
.option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
|
|
19
|
+
.action(async (opts) => {
|
|
20
|
+
try {
|
|
21
|
+
const { url: imageUrl } = await resolveImage(opts.image);
|
|
22
|
+
const params = { textDescription: opts.prompt ?? DEFAULT_PROMPT, images: [imageUrl] };
|
|
23
|
+
if (opts.batch != null)
|
|
24
|
+
params.batchCount = opts.batch;
|
|
25
|
+
const input = { originalImage: imageUrl };
|
|
26
|
+
if (opts.taskName)
|
|
27
|
+
input.taskName = opts.taskName;
|
|
28
|
+
const body = { agent: { name: "image-to-sketch", version: "v1.0" }, input, params };
|
|
29
|
+
const { executionId } = await submitRun(body);
|
|
30
|
+
printSubmitted(executionId);
|
|
31
|
+
if (opts.wait !== false) {
|
|
32
|
+
printPollResult(await waitForCompletion(executionId));
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
console.log("[info]");
|
|
36
|
+
console.log(` message: Use 'weshop status ${executionId}' to check progress`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
catch (err) {
|
|
40
|
+
printError(err);
|
|
41
|
+
process.exit(1);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=image-to-sketch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-to-sketch.js","sourceRoot":"","sources":["../../src/commands/image-to-sketch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAmB,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,cAAc,GAAG,oEAAoE,CAAC;AAE5F,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAAC,iBAAiB,CAAC;KAC3D,OAAO,CAAC,iEAAiE,CAAC;KAC1E,WAAW,CACV,yFAAyF;IACzF,mDAAmD;IACnD,MAAM,cAAc,OAAO;IAC3B,aAAa;IACb,gDAAgD;IAChD,qGAAqG;IACrG,wDAAwD,CACzD;KACA,cAAc,CAAC,oBAAoB,EAAE,sCAAsC,CAAC;KAC5E,MAAM,CAAC,iBAAiB,EAAE,iCAAiC,CAAC;KAC5D,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,MAAM,GAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/G,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QACvD,MAAM,KAAK,GAA4B,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;QACnE,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClD,MAAM,IAAI,GAAe,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAChG,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,cAAc,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAAC,eAAe,CAAC,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;QAAC,CAAC;aAC9E,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,WAAW,qBAAqB,CAAC,CAAC;QAAC,CAAC;IACjH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { submitRun, waitForCompletion } from "../client.js";
|
|
3
|
+
import { printSubmitted, printPollResult, printError } from "../printer.js";
|
|
4
|
+
export const improveVideoQualityOnlineFreeCmd = new Command("improve-video-quality-online-free")
|
|
5
|
+
.summary("Improve video quality online free — upscale and enhance video quality using AI")
|
|
6
|
+
.description("Upscale and enhance video quality using AI.\n\n" +
|
|
7
|
+
"Provide the video as a URL (--video). Local video files are not auto-uploaded;\n" +
|
|
8
|
+
"use 'weshop upload' first to get a hosted URL if needed.\n\n" +
|
|
9
|
+
"Video size (--video-size): target output resolution, e.g. 2K, 4K\n\n" +
|
|
10
|
+
"Examples:\n" +
|
|
11
|
+
" weshop improve-video-quality-online-free --video https://example.com/video.mp4\n" +
|
|
12
|
+
" weshop improve-video-quality-online-free --video https://example.com/video.mp4 --video-size 4K\n" +
|
|
13
|
+
" weshop improve-video-quality-online-free --video https://example.com/video.mp4 --no-wait")
|
|
14
|
+
.requiredOption("--video <url>", "Input video URL")
|
|
15
|
+
.option("--video-size <size>", "Target output resolution, e.g. 2K or 4K")
|
|
16
|
+
.option("--task-name <name>", "Human-readable label for this run")
|
|
17
|
+
.option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
|
|
18
|
+
.action(async (opts) => {
|
|
19
|
+
try {
|
|
20
|
+
const params = { videos: [opts.video] };
|
|
21
|
+
if (opts.videoSize)
|
|
22
|
+
params.videoSize = opts.videoSize;
|
|
23
|
+
const input = { videos: [opts.video] };
|
|
24
|
+
if (opts.taskName)
|
|
25
|
+
input.taskName = opts.taskName;
|
|
26
|
+
const body = { agent: { name: "improve-video-quality-online-free", version: "v1.0" }, input, params };
|
|
27
|
+
const { executionId } = await submitRun(body);
|
|
28
|
+
printSubmitted(executionId);
|
|
29
|
+
if (opts.wait !== false) {
|
|
30
|
+
printPollResult(await waitForCompletion(executionId));
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
console.log("[info]");
|
|
34
|
+
console.log(` message: Use 'weshop status ${executionId}' to check progress`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
catch (err) {
|
|
38
|
+
printError(err);
|
|
39
|
+
process.exit(1);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
//# sourceMappingURL=improve-video-quality-online-free.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"improve-video-quality-online-free.js","sourceRoot":"","sources":["../../src/commands/improve-video-quality-online-free.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAmB,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,CAAC,MAAM,gCAAgC,GAAG,IAAI,OAAO,CAAC,mCAAmC,CAAC;KAC7F,OAAO,CAAC,gFAAgF,CAAC;KACzF,WAAW,CACV,iDAAiD;IACjD,kFAAkF;IAClF,8DAA8D;IAC9D,sEAAsE;IACtE,aAAa;IACb,oFAAoF;IACpF,oGAAoG;IACpG,4FAA4F,CAC7F;KACA,cAAc,CAAC,eAAe,EAAE,iBAAiB,CAAC;KAClD,MAAM,CAAC,qBAAqB,EAAE,yCAAyC,CAAC;KACxE,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,IAAI,CAAC;QACH,MAAM,MAAM,GAA4B,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACjE,IAAI,IAAI,CAAC,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACtD,MAAM,KAAK,GAA4B,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClD,MAAM,IAAI,GAAe,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,mCAAmC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAClH,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,cAAc,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAAC,eAAe,CAAC,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;QAAC,CAAC;aAC9E,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,WAAW,qBAAqB,CAAC,CAAC;QAAC,CAAC;IACjH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { resolveImage, submitRun, waitForCompletion } from "../client.js";
|
|
3
|
+
import { printSubmitted, printPollResult, printError } from "../printer.js";
|
|
4
|
+
export const klingCmd = new Command("kling")
|
|
5
|
+
.summary("AI video generation — create cinematic videos from images and text using Kling")
|
|
6
|
+
.description("AI video generation — create cinematic videos from images and text using Kling.\n\n" +
|
|
7
|
+
"Provide a reference image and a text prompt describing the desired motion or scene.\n" +
|
|
8
|
+
"Results are returned as video URLs in the result section.\n\n" +
|
|
9
|
+
"Model (--model):\n" +
|
|
10
|
+
" Kling_3_0 Kling 3.0 — latest, supports 3s-15s duration and audio (default)\n" +
|
|
11
|
+
" Kling_2_6 Kling 2.6 — supports audio\n" +
|
|
12
|
+
" Kling_2_5_Turbo Kling 2.5 Turbo — fast generation\n" +
|
|
13
|
+
" Kling_2_1_Master Kling 2.1 Master — high quality\n" +
|
|
14
|
+
" Kling_2_1 Kling 2.1\n\n" +
|
|
15
|
+
"Duration (--duration):\n" +
|
|
16
|
+
" Kling_3_0: 3s, 4s, 5s, 6s, 7s, 8s, 9s, 10s, 11s, 12s, 13s, 14s, 15s (default: 5s)\n" +
|
|
17
|
+
" Others: 5s, 10s (default: 5s)\n\n" +
|
|
18
|
+
"Audio generation (--generate-audio):\n" +
|
|
19
|
+
" Only supported for Kling_3_0 and Kling_2_6. Ignored for other models.\n\n" +
|
|
20
|
+
"Examples:\n" +
|
|
21
|
+
" weshop kling --image ./scene.png --prompt 'Camera slowly pans across a misty forest'\n" +
|
|
22
|
+
" weshop kling --image ./portrait.png --prompt 'Person turns and smiles' --model Kling_3_0 --duration 5s\n" +
|
|
23
|
+
" weshop kling --image ./product.png --prompt 'Product rotates on a pedestal' --model Kling_3_0 --duration 8s --generate-audio true")
|
|
24
|
+
.requiredOption("--image <path|url>", "Reference image — local file path or public URL")
|
|
25
|
+
.requiredOption("--prompt <text>", "Describe the desired motion or scene")
|
|
26
|
+
.option("--model <name>", "Kling model version (default: Kling_3_0)")
|
|
27
|
+
.option("--duration <time>", "Video duration, e.g. 5s, 10s (default: 5s)")
|
|
28
|
+
.option("--generate-audio <bool>", "Generate audio: true or false (Kling_3_0 and Kling_2_6 only)")
|
|
29
|
+
.option("--batch <count>", "Number of videos to generate, 1-16 (default: 1)", (v) => parseInt(v, 10), 1)
|
|
30
|
+
.option("--task-name <name>", "Human-readable label for this run")
|
|
31
|
+
.option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
|
|
32
|
+
.action(async (opts) => {
|
|
33
|
+
try {
|
|
34
|
+
const { url: imageUrl } = await resolveImage(opts.image);
|
|
35
|
+
console.log("[image]");
|
|
36
|
+
console.log(` imageUrl: ${imageUrl}`);
|
|
37
|
+
const params = {
|
|
38
|
+
textDescription: opts.prompt,
|
|
39
|
+
images: [imageUrl],
|
|
40
|
+
};
|
|
41
|
+
if (opts.model)
|
|
42
|
+
params.modelName = opts.model;
|
|
43
|
+
if (opts.duration)
|
|
44
|
+
params.duration = opts.duration;
|
|
45
|
+
if (opts.generateAudio !== undefined)
|
|
46
|
+
params.generateAudio = opts.generateAudio;
|
|
47
|
+
if (opts.batch != null)
|
|
48
|
+
params.batchCount = opts.batch;
|
|
49
|
+
const input = {
|
|
50
|
+
originalImage: imageUrl,
|
|
51
|
+
};
|
|
52
|
+
if (opts.taskName)
|
|
53
|
+
input.taskName = opts.taskName;
|
|
54
|
+
const body = {
|
|
55
|
+
agent: { name: "kling", version: "v1.0" },
|
|
56
|
+
input,
|
|
57
|
+
params,
|
|
58
|
+
};
|
|
59
|
+
const { executionId } = await submitRun(body);
|
|
60
|
+
printSubmitted(executionId);
|
|
61
|
+
if (opts.wait !== false) {
|
|
62
|
+
const data = await waitForCompletion(executionId);
|
|
63
|
+
printPollResult(data);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
console.log("[info]");
|
|
67
|
+
console.log(` message: Use 'weshop status ${executionId}' to check progress`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
catch (err) {
|
|
71
|
+
printError(err);
|
|
72
|
+
process.exit(1);
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
//# sourceMappingURL=kling.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kling.js","sourceRoot":"","sources":["../../src/commands/kling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAmB,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;KACzC,OAAO,CAAC,gFAAgF,CAAC;KACzF,WAAW,CACV,qFAAqF;IACrF,uFAAuF;IACvF,+DAA+D;IAC/D,oBAAoB;IACpB,wFAAwF;IACxF,kDAAkD;IAClD,yDAAyD;IACzD,uDAAuD;IACvD,mCAAmC;IACnC,0BAA0B;IAC1B,yFAAyF;IACzF,0CAA0C;IAC1C,wCAAwC;IACxC,6EAA6E;IAC7E,aAAa;IACb,0FAA0F;IAC1F,4GAA4G;IAC5G,qIAAqI,CACtI;KACA,cAAc,CAAC,oBAAoB,EAAE,iDAAiD,CAAC;KACvF,cAAc,CAAC,iBAAiB,EAAE,sCAAsC,CAAC;KACzE,MAAM,CAAC,gBAAgB,EAAE,0CAA0C,CAAC;KACpE,MAAM,CAAC,mBAAmB,EAAE,4CAA4C,CAAC;KACzE,MAAM,CAAC,yBAAyB,EAAE,8DAA8D,CAAC;KACjG,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACvG,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC;QAEvC,MAAM,MAAM,GAA4B;YACtC,eAAe,EAAE,IAAI,CAAC,MAAM;YAC5B,MAAM,EAAE,CAAC,QAAQ,CAAC;SACnB,CAAC;QACF,IAAI,IAAI,CAAC,KAAK;YAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QAC9C,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACnD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;YAAE,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAChF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QAEvD,MAAM,KAAK,GAA4B;YACrC,aAAa,EAAE,QAAQ;SACxB,CAAC;QACF,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAElD,MAAM,IAAI,GAAe;YACvB,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE;YACzC,KAAK;YACL,MAAM;SACP,CAAC;QAEF,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,cAAc,CAAC,WAAW,CAAC,CAAC;QAE5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAClD,eAAe,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,iCAAiC,WAAW,qBAAqB,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,UAAU,CAAC,GAAG,CAAC,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { submitRun, waitForCompletion } from "../client.js";
|
|
3
|
+
import { printSubmitted, printPollResult, printError } from "../printer.js";
|
|
4
|
+
export const logoRemoverFromVideoCmd = new Command("logo-remover-from-video")
|
|
5
|
+
.summary("Logo remover from video — remove logos or watermarks from a video")
|
|
6
|
+
.description("Remove logos, watermarks, or brand overlays from a video using AI.\n\n" +
|
|
7
|
+
"Provide the video as a URL (--video). Local video files are not auto-uploaded;\n" +
|
|
8
|
+
"use 'weshop upload' first to get a hosted URL if needed.\n\n" +
|
|
9
|
+
"Examples:\n" +
|
|
10
|
+
" weshop logo-remover-from-video --video https://example.com/video.mp4\n" +
|
|
11
|
+
" weshop logo-remover-from-video --video https://example.com/video.mp4 --no-wait")
|
|
12
|
+
.requiredOption("--video <url>", "Input video URL")
|
|
13
|
+
.option("--task-name <name>", "Human-readable label for this run")
|
|
14
|
+
.option("--no-wait", "Return immediately after submission; use 'weshop status <id>' to check later")
|
|
15
|
+
.action(async (opts) => {
|
|
16
|
+
try {
|
|
17
|
+
const params = { videos: [opts.video], watermarkSelectType: "autoDetect" };
|
|
18
|
+
const input = { videos: [opts.video] };
|
|
19
|
+
if (opts.taskName)
|
|
20
|
+
input.taskName = opts.taskName;
|
|
21
|
+
const body = { agent: { name: "logo-remover-from-video", version: "v1.0" }, input, params };
|
|
22
|
+
const { executionId } = await submitRun(body);
|
|
23
|
+
printSubmitted(executionId);
|
|
24
|
+
if (opts.wait !== false) {
|
|
25
|
+
printPollResult(await waitForCompletion(executionId));
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
console.log("[info]");
|
|
29
|
+
console.log(` message: Use 'weshop status ${executionId}' to check progress`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
catch (err) {
|
|
33
|
+
printError(err);
|
|
34
|
+
process.exit(1);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=logo-remover-from-video.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logo-remover-from-video.js","sourceRoot":"","sources":["../../src/commands/logo-remover-from-video.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAmB,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,OAAO,CAAC,yBAAyB,CAAC;KAC1E,OAAO,CAAC,mEAAmE,CAAC;KAC5E,WAAW,CACV,wEAAwE;IACxE,kFAAkF;IAClF,8DAA8D;IAC9D,aAAa;IACb,0EAA0E;IAC1E,kFAAkF,CACnF;KACA,cAAc,CAAC,eAAe,EAAE,iBAAiB,CAAC;KAClD,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,IAAI,CAAC;QACH,MAAM,MAAM,GAA4B,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,mBAAmB,EAAE,YAAY,EAAE,CAAC;QACpG,MAAM,KAAK,GAA4B,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClD,MAAM,IAAI,GAAe,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACxG,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,cAAc,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAAC,eAAe,CAAC,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;QAAC,CAAC;aAC9E,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,WAAW,qBAAqB,CAAC,CAAC;QAAC,CAAC;IACjH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
|