VibeSKU CLI
Command-line interface for VibeSKU — AI-powered creative automation that turns product SKU photos into agency-grade e-commerce visuals and marketplace-ready copy in seconds.
What VibeSKU Does
VibeSKU replaces manual creative production for e-commerce teams. Upload a product photo, define brand guidelines, and receive complete multi-format visual sets. Core capabilities: VisionKV™ visual system (complete visual collections from a single product), high-fidelity product restoration (1:1 precision on textures/logos/packaging), multilingual text overlays, and omni-channel format output.
Credit costs: 1K/2K image = 1 credit, 4K image = 2 credits, short video = 5 credits, copy = 1 credit.
Setup
The CLI is bundled at bin/vibesku.js — self-contained Node.js script, zero dependencies (requires Node >= 18).
node <skill-dir>/bin/vibesku.js --help
alias vibesku="node <skill-dir>/bin/vibesku.js" # optional
Skill Version
For version checks and auto-update workflow, see versioning.md.
Authentication
Two methods, resolved in priority order:
- CLI token (
vibesku auth login) — browser-based device flow, tokens at ~/.vibesku/config.json
- API key —
VIBESKU_API_KEY env var > config file key (from vibesku init or vibesku config set-key)
vibesku auth login # Browser login (recommended)
vibesku init vsk_<key> # API key for CI/CD
Template Selection Guide
VibeSKU provides 7 templates. Read the corresponding reference file before building the generate command.
| Need |
Template |
Output |
Cost |
Reference |
| Single product image (main photo, banner, poster) |
ecom-hero |
IMAGE |
1-2 cr/img |
ecom-hero.md |
| Coordinated detail-page poster set |
kv-image-set |
IMAGE |
1-2 cr/img × scenes |
kv-image-set.md |
| Single technical exploded infographic |
exploded-view |
IMAGE |
1-2 cr/img |
exploded-view.md |
| Translate text inside an existing image/poster |
image-translation |
IMAGE |
1-2 cr/img |
image-translation.md |
| Product in a realistic usage scene |
lifestyle-scene |
IMAGE |
1-2 cr/img |
lifestyle-scene.md |
| Clean white-background packshot |
white-background |
IMAGE |
1-2 cr/img |
white-background.md |
| Product listing copy (title, bullets, description) |
listing |
TEXT |
1 cr |
listing.md |
Decision Tree
User wants visuals?
├── Technical exploded infographic → exploded-view
│ ├── Balanced callouts (default) → labelPlacement: balanced-callout
│ ├── Cleaner visual without labels → labelPlacement: none
│ └── Category-aware environment → backgroundMode: product-matched-scene
├── Existing image/poster needs visible text translated → image-translation
│ ├── Keep layout exactly → translationMode: faithful
│ ├── Make copy more natural → translationMode: polished
│ └── Preserve logos/trademarks → brandTextMode: preserve
├── Product photo needs a realistic usage scene → lifestyle-scene
│ ├── Let model infer scene → scenePreset: auto
│ ├── Specific setting → scenePreset: kitchen/outdoor/cafe/office/etc.
│ └── Human interaction → personMode: hand-only or full-figure
├── Marketplace/catalog white-background packshot → white-background
│ ├── Pure white background → backgroundTone: pure-white
│ ├── Softer depth → backgroundTone: soft-white
│ └── Tighter framing → cropMode: close-up
├── Single image (hero/banner/poster) → ecom-hero
│ ├── Product main photo → scenario: MAIN_IMAGE, aspectRatio: 1:1
│ ├── Marketing banner → scenario: BANNER, aspectRatio: 16:9
│ └── Vertical poster → scenario: POSTER, aspectRatio: 3:4
└── Multiple coordinated images → kv-image-set
├── Full detail page → scenes: [kv-hero, lifestyle, detail-01, specs-table, ...]
├── Quick hero + lifestyle → scenes: [kv-hero, lifestyle]
└── Brand storytelling → scenes: [kv-hero, brand-story, user-review]
User wants text?
└── Product listing copy → listing
├── Amazon → templateName: AMAZON_LISTING
├── Taobao → templateName: TAOBAO_DETAIL
├── Shopify → templateName: SHOPIFY_DESC
└── General → templateName: GENERIC
Quick Style Matching (image templates)
| Product Type |
ecom-hero style |
kv-image-set style |
exploded-view style |
lifestyle-scene style |
| Electronics, gadgets |
tech |
tech-future |
premium-technical |
tech |
| Luxury, high-end |
premium |
magazine |
morandi-editorial |
premium |
| Food, home goods |
lifestyle |
retro-film |
lifestyle-soft |
lifestyle |
| Organic, eco-friendly |
organic |
organic-nature |
material-focus |
organic |
| Fashion, beauty |
minimal |
nordic-minimal |
studio-minimal |
minimal |
| Kids, sports, bold |
vibrant |
cyberpunk |
auto (recommended) |
vibrant |
| Artisan, handmade |
studio |
watercolor |
material-focus |
studio |
| Unsure / let AI decide |
auto (default) |
auto (default) |
auto (default) |
auto (default) |
Typical Workflow
vibesku auth login # 1. Authenticate
vibesku templates # 2. Browse templates
vibesku templates info exploded-view # 3. Inspect template details (optional)
vibesku credits # 4. Check balance
vibesku generate -t ecom-hero \
-n "Wireless Headphones" \
-i product.jpg -l logo.png \
-b "AudioTech" # 5. Generate visuals
vibesku status <job-id> --watch # 6. Monitor until complete
vibesku refine <output-uuid> -p "brighter bg" # 7. Refine (optional)
vibesku export <job-id> -o ./output # 8. Download results
Commands Quick Reference
| Command |
Purpose |
vibesku auth login|logout|status|refresh |
Authentication management |
vibesku init <api-key> |
Initialize with API key |
vibesku config set-key|set-url|show|reset |
CLI configuration |
vibesku templates [info <id>] |
List / inspect templates |
vibesku generate -t <id> [options] |
Generate visuals or copy |
vibesku refine <output-id> -p <prompt> |
Refine output with edit instructions |
vibesku status <job-id> [--watch] |
Check job progress |
vibesku jobs [-p <page>] [-t <template>] |
List jobs |
vibesku export <job-id> [-o <dir>] |
Download outputs |
vibesku batch <file> [--dry-run] |
Bulk generation from JSON |
vibesku credits [show|buy|redeem <code>] |
Credit management |
All commands support --json for machine-readable output. Full details: commands.md
Key Behaviors
- Asset upload:
-i auto-uploads product images; -l uploads logo
- Modify vs Regenerate: Use
vibesku refine <output-id> -p "<instruction>" to edit existing output. Use vibesku generate only for new creations.
- Full UUID required for refine: Use
vibesku status <job-id> --json to get complete output UUIDs (table view truncates them).
- Agent-friendly output: Prefer
--json flag for all commands when used by AI agents.
- Version drift check (recommended triggers): Compare local
VERSION with upstream when any of these happen: unknown template/option error, template mismatch with vibesku templates --json, user asks for newly added capability, or local check is older than 7 days (recommended cadence). If issues occur during execution, prioritize this check before retrying generation/refine commands. Follow versioning.md.
- Auto-update when outdated (recommended): If upstream version is newer, update skill first, then continue the user task with the updated skill.
- Watch mode:
--watch polls every 5s until all runs complete.
- Credit tracking: Generation and refine show remaining balance on success.
Environment Variables
| Variable |
Description |
VIBESKU_API_KEY |
API key (overrides config file) |
VIBESKU_BASE_URL |
Custom API URL (overrides config file) |
NO_COLOR |
Disable colored output |
1---2name: vibesku3description: VibeSKU CLI skill for generating e-commerce visuals and listing copy from product photos. Use when users need template-based generation (`ecom-hero`, `kv-image-set`, `exploded-view`, `image-translation`, `lifestyle-scene`, `white-background`, `listing`), refinement, export/download, batch jobs, auth setup, or credits/config management. Triggers on requests mentioning VibeSKU workflows, product image generation, hero banners, exploded views, image/poster translation, white-background packshots, listing copy, or batch runs.4---56# VibeSKU CLI78Command-line interface for [VibeSKU](https://www.vibesku.com) — AI-powered creative automation that turns product SKU photos into agency-grade e-commerce visuals and marketplace-ready copy in seconds.910## What VibeSKU Does1112VibeSKU replaces manual creative production for e-commerce teams. Upload a product photo, define brand guidelines, and receive complete multi-format visual sets. Core capabilities: VisionKV™ visual system (complete visual collections from a single product), high-fidelity product restoration (1:1 precision on textures/logos/packaging), multilingual text overlays, and omni-channel format output.1314**Credit costs**: 1K/2K image = 1 credit, 4K image = 2 credits, short video = 5 credits, copy = 1 credit.1516## Setup1718The CLI is bundled at `bin/vibesku.js` — self-contained Node.js script, zero dependencies (requires Node >= 18).1920```bash21node <skill-dir>/bin/vibesku.js --help22alias vibesku="node <skill-dir>/bin/vibesku.js" # optional23```2425## Skill Version2627- Source of truth: `VERSION`28- Local version: `cat VERSION`29- Upstream repo: [UllrAI/vibesku-agent](https://github.com/UllrAI/vibesku-agent)3031For version checks and auto-update workflow, see [versioning.md](references/versioning.md).3233## Authentication3435Two methods, resolved in priority order:36371. **CLI token** (`vibesku auth login`) — browser-based device flow, tokens at `~/.vibesku/config.json`382. **API key** — `VIBESKU_API_KEY` env var > config file key (from `vibesku init` or `vibesku config set-key`)3940```bash41vibesku auth login # Browser login (recommended)42vibesku init vsk_<key> # API key for CI/CD43```4445---4647## Template Selection Guide4849VibeSKU provides 7 templates. **Read the corresponding reference file before building the generate command.**5051| Need | Template | Output | Cost | Reference |52|------|----------|--------|------|-----------|53| Single product image (main photo, banner, poster) | `ecom-hero` | IMAGE | 1-2 cr/img | [ecom-hero.md](references/ecom-hero.md) |54| Coordinated detail-page poster set | `kv-image-set` | IMAGE | 1-2 cr/img × scenes | [kv-image-set.md](references/kv-image-set.md) |55| Single technical exploded infographic | `exploded-view` | IMAGE | 1-2 cr/img | [exploded-view.md](references/exploded-view.md) |56| Translate text inside an existing image/poster | `image-translation` | IMAGE | 1-2 cr/img | [image-translation.md](references/image-translation.md) |57| Product in a realistic usage scene | `lifestyle-scene` | IMAGE | 1-2 cr/img | [lifestyle-scene.md](references/lifestyle-scene.md) |58| Clean white-background packshot | `white-background` | IMAGE | 1-2 cr/img | [white-background.md](references/white-background.md) |59| Product listing copy (title, bullets, description) | `listing` | TEXT | 1 cr | [listing.md](references/listing.md) |6061### Decision Tree6263```64User wants visuals?65├── Technical exploded infographic → exploded-view66│ ├── Balanced callouts (default) → labelPlacement: balanced-callout67│ ├── Cleaner visual without labels → labelPlacement: none68│ └── Category-aware environment → backgroundMode: product-matched-scene69├── Existing image/poster needs visible text translated → image-translation70│ ├── Keep layout exactly → translationMode: faithful71│ ├── Make copy more natural → translationMode: polished72│ └── Preserve logos/trademarks → brandTextMode: preserve73├── Product photo needs a realistic usage scene → lifestyle-scene74│ ├── Let model infer scene → scenePreset: auto75│ ├── Specific setting → scenePreset: kitchen/outdoor/cafe/office/etc.76│ └── Human interaction → personMode: hand-only or full-figure77├── Marketplace/catalog white-background packshot → white-background78│ ├── Pure white background → backgroundTone: pure-white79│ ├── Softer depth → backgroundTone: soft-white80│ └── Tighter framing → cropMode: close-up81├── Single image (hero/banner/poster) → ecom-hero82│ ├── Product main photo → scenario: MAIN_IMAGE, aspectRatio: 1:183│ ├── Marketing banner → scenario: BANNER, aspectRatio: 16:984│ └── Vertical poster → scenario: POSTER, aspectRatio: 3:485└── Multiple coordinated images → kv-image-set86 ├── Full detail page → scenes: [kv-hero, lifestyle, detail-01, specs-table, ...]87 ├── Quick hero + lifestyle → scenes: [kv-hero, lifestyle]88 └── Brand storytelling → scenes: [kv-hero, brand-story, user-review]8990User wants text?91└── Product listing copy → listing92 ├── Amazon → templateName: AMAZON_LISTING93 ├── Taobao → templateName: TAOBAO_DETAIL94 ├── Shopify → templateName: SHOPIFY_DESC95 └── General → templateName: GENERIC96```9798### Quick Style Matching (image templates)99100| Product Type | ecom-hero `style` | kv-image-set `style` | exploded-view `style` | lifestyle-scene `style` |101|-------------|-------------------|---------------------|------------------------|---------------------------|102| Electronics, gadgets | `tech` | `tech-future` | `premium-technical` | `tech` |103| Luxury, high-end | `premium` | `magazine` | `morandi-editorial` | `premium` |104| Food, home goods | `lifestyle` | `retro-film` | `lifestyle-soft` | `lifestyle` |105| Organic, eco-friendly | `organic` | `organic-nature` | `material-focus` | `organic` |106| Fashion, beauty | `minimal` | `nordic-minimal` | `studio-minimal` | `minimal` |107| Kids, sports, bold | `vibrant` | `cyberpunk` | `auto` (recommended) | `vibrant` |108| Artisan, handmade | `studio` | `watercolor` | `material-focus` | `studio` |109| Unsure / let AI decide | `auto` (default) | `auto` (default) | `auto` (default) | `auto` (default) |110111---112113## Typical Workflow114115```bash116vibesku auth login # 1. Authenticate117vibesku templates # 2. Browse templates118vibesku templates info exploded-view # 3. Inspect template details (optional)119vibesku credits # 4. Check balance120vibesku generate -t ecom-hero \121 -n "Wireless Headphones" \122 -i product.jpg -l logo.png \123 -b "AudioTech" # 5. Generate visuals124vibesku status <job-id> --watch # 6. Monitor until complete125vibesku refine <output-uuid> -p "brighter bg" # 7. Refine (optional)126vibesku export <job-id> -o ./output # 8. Download results127```128129## Commands Quick Reference130131| Command | Purpose |132|---------|---------|133| `vibesku auth login\|logout\|status\|refresh` | Authentication management |134| `vibesku init <api-key>` | Initialize with API key |135| `vibesku config set-key\|set-url\|show\|reset` | CLI configuration |136| `vibesku templates [info <id>]` | List / inspect templates |137| `vibesku generate -t <id> [options]` | Generate visuals or copy |138| `vibesku refine <output-id> -p <prompt>` | Refine output with edit instructions |139| `vibesku status <job-id> [--watch]` | Check job progress |140| `vibesku jobs [-p <page>] [-t <template>]` | List jobs |141| `vibesku export <job-id> [-o <dir>]` | Download outputs |142| `vibesku batch <file> [--dry-run]` | Bulk generation from JSON |143| `vibesku credits [show\|buy\|redeem <code>]` | Credit management |144145All commands support `--json` for machine-readable output. Full details: [commands.md](references/commands.md)146147## Key Behaviors148149- **Asset upload**: `-i` auto-uploads product images; `-l` uploads logo150- **Modify vs Regenerate**: Use `vibesku refine <output-id> -p "<instruction>"` to edit existing output. Use `vibesku generate` only for new creations.151- **Full UUID required for refine**: Use `vibesku status <job-id> --json` to get complete output UUIDs (table view truncates them).152- **Agent-friendly output**: Prefer `--json` flag for all commands when used by AI agents.153- **Version drift check (recommended triggers)**: Compare local `VERSION` with upstream when any of these happen: unknown template/option error, template mismatch with `vibesku templates --json`, user asks for newly added capability, or local check is older than 7 days (recommended cadence). If issues occur during execution, prioritize this check before retrying generation/refine commands. Follow [versioning.md](references/versioning.md).154- **Auto-update when outdated (recommended)**: If upstream version is newer, update skill first, then continue the user task with the updated skill.155- **Watch mode**: `--watch` polls every 5s until all runs complete.156- **Credit tracking**: Generation and refine show remaining balance on success.157158## Environment Variables159160| Variable | Description |161|----------|-------------|162| `VIBESKU_API_KEY` | API key (overrides config file) |163| `VIBESKU_BASE_URL` | Custom API URL (overrides config file) |164| `NO_COLOR` | Disable colored output |