{"_id":"@dengxifeng/musa","_rev":"2-a6e7f0d768d799d92cf5407690cf772d","name":"@dengxifeng/musa","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@dengxifeng/musa","version":"0.1.0","keywords":["image-generation","openrouter","cli","ai","gemini"],"author":{"name":"dengxifeng"},"license":"Apache-2.0","_id":"@dengxifeng/musa@0.1.0","maintainers":[{"name":"dengxifeng","email":"deng.xifeng@163.com"}],"bin":{"musa":"dist/index.js"},"dist":{"shasum":"000cb6b52d154be98cb2a40bb5b1c9fa5f60f6ef","tarball":"https://registry.npmjs.org/@dengxifeng/musa/-/musa-0.1.0.tgz","fileCount":27,"integrity":"sha512-eyOAJV01n2iAjH3MBikJhZ9ttxi4Ldc+tv9SsIqaNTJcp7VhpgAChJlC31ccWMczqtR89OONGYPi/Q/+ii0BfA==","signatures":[{"sig":"MEUCIDEtwO37KcAronuOnbrxbk5N0arzAb1gvLeQ7hNWm5W+AiEAgs+tFK1WSjWyJ4RLxsXMmv9+f8CIsPpnSjXR8+iLNig=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48385},"main":"dist/index.js","type":"module","_from":"file:/tmp/dengxifeng-musa-0.1.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=18"},"scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"dengxifeng","email":"deng.xifeng@163.com"},"_resolved":"/tmp/dengxifeng-musa-0.1.0.tgz","_integrity":"sha512-eyOAJV01n2iAjH3MBikJhZ9ttxi4Ldc+tv9SsIqaNTJcp7VhpgAChJlC31ccWMczqtR89OONGYPi/Q/+ii0BfA==","_npmVersion":"10.9.4","description":"CLI tool for generating, editing, and restoring images via OpenRouter API","directories":{},"_nodeVersion":"22.22.0","dependencies":{"commander":"^13.1.0","@openrouter/sdk":"^0.9.11"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"~5.8.3","@types/node":"^22.13.12"},"_npmOperationalInternal":{"tmp":"tmp/musa_0.1.0_1774438919003_0.5905334751539668","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@dengxifeng/musa","version":"0.1.1","description":"CLI tool for generating, editing, and restoring images via OpenRouter API","type":"module","bin":{"musa":"dist/index.js"},"main":"dist/index.js","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"keywords":["image-generation","openrouter","cli","ai","gemini"],"author":{"name":"dengxifeng"},"license":"Apache-2.0","dependencies":{"@openrouter/sdk":"^0.9.11","commander":"^13.1.0"},"devDependencies":{"@types/node":"^22.13.12","typescript":"~5.8.3"},"engines":{"node":">=18"},"_id":"@dengxifeng/musa@0.1.1","types":"./dist/index.d.ts","_integrity":"sha512-zEhz2ABuqty8U+ms5KKyeKwMrxLOPjBXX0JwqC1e9iJehPG1r7C2edeB1NRxMA4ZwF74kG7Zp+LADgvvlB6ITw==","_resolved":"/tmp/dengxifeng-musa-0.1.1.tgz","_from":"file:/tmp/dengxifeng-musa-0.1.1.tgz","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-zEhz2ABuqty8U+ms5KKyeKwMrxLOPjBXX0JwqC1e9iJehPG1r7C2edeB1NRxMA4ZwF74kG7Zp+LADgvvlB6ITw==","shasum":"7a36516648d9bfd28c5c1b2c54d7f6f8d2d8c2eb","tarball":"https://registry.npmjs.org/@dengxifeng/musa/-/musa-0.1.1.tgz","fileCount":27,"unpackedSize":48501,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGTdqXA1kx/ovrAgYQInbtjbqNRG4d+EfAvsEXQ3cxyZAiEAjq5F2dPQcy785zcczn22ET/jVId6PBkaImOfrlq+3sY="}]},"_npmUser":{"name":"dengxifeng","email":"deng.xifeng@163.com"},"directories":{},"maintainers":[{"name":"dengxifeng","email":"deng.xifeng@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/musa_0.1.1_1774606188715_0.17647200573716648"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-25T11:41:58.880Z","modified":"2026-03-27T10:09:49.006Z","0.1.0":"2026-03-25T11:41:59.160Z","0.1.1":"2026-03-27T10:09:48.883Z"},"author":{"name":"dengxifeng"},"license":"Apache-2.0","keywords":["image-generation","openrouter","cli","ai","gemini"],"description":"CLI tool for generating, editing, and restoring images via OpenRouter API","maintainers":[{"name":"dengxifeng","email":"deng.xifeng@163.com"}],"readme":"# musa\n\nCLI tool for generating, editing, and restoring images via [OpenRouter](https://openrouter.ai) API.\n\n## Install\n\n```bash\nnpm install -g @dengxifeng/musa\n```\n\n## Setup\n\nSet your OpenRouter API key:\n\n```bash\nexport OPENROUTER_API_KEY=\"your-key-here\"\n```\n\nGet a key at https://openrouter.ai/keys.\n\n## Usage\n\n### Generate an image\n\n```bash\nmusa generate \"a watercolor painting of a fox in a snowy forest\"\n```\n\nOptions:\n\n```\n-m, --model <model>        Model name (default: google/gemini-2.5-flash-image)\n-n, --count <n>            Number of images to generate (default: 1)\n    --aspect-ratio <ratio>  Aspect ratio (e.g. 16:9, 1:1, 9:16)\n    --size <size>           Image size (e.g. 1024x1024)\n-o, --output <dir>         Output directory (default: ~/.musa/cache)\n-f, --format <fmt>         Output format: png or jpeg (default: png)\n```\n\n### Edit an image\n\n```bash\nmusa edit photo.jpg \"add sunglasses to the person\"\n```\n\nThe output image automatically preserves the aspect ratio of the input.\n\nOptions:\n\n```\n-m, --model <model>   Model name (default: google/gemini-2.5-flash-image)\n-o, --output <dir>    Output directory (default: ~/.musa/cache)\n-f, --format <fmt>    Output format: png or jpeg (default: png)\n```\n\n### Restore / enhance an image\n\n```bash\nmusa restore old-photo.jpg\nmusa restore old-photo.jpg \"remove scratches and enhance colors\"\n```\n\nOptions:\n\n```\n-m, --model <model>   Model name (default: google/gemini-2.5-flash-image)\n-o, --output <dir>    Output directory (default: ~/.musa/cache)\n-f, --format <fmt>    Output format: png or jpeg (default: png)\n```\n\n## Supported models\n\nThe model is auto-validated against OpenRouter's image generation models. Some examples:\n\n| Model | Output |\n|-------|--------|\n| `black-forest-labs/flux.2-flex` | image |\n| `black-forest-labs/flux.2-pro` | image |\n| `bytedance-seed/seedream-4.5` | image |\n| `google/gemini-2.5-flash-image` | text + image |\n| `google/gemini-3-pro-image-preview` | text + image |\n| `openai/gpt-5-image` | text + image |\n\nOverride the default model per-request or globally:\n\n```bash\n# Per-request\nmusa generate \"a cat\" -m google/gemini-2.5-flash-image\n\n# Global default via environment variable\nexport MUSA_MODEL=\"google/gemini-2.5-flash-image\"\n```\n\n## Supported aspect ratios\n\n`1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9`\n\nExtended (gemini-3.1-flash-image-preview only): `1:4`, `4:1`, `1:8`, `8:1`\n\n## License\n\n[Apache-2.0](LICENSE)\n","readmeFilename":"README.md"}