# img-gen **Repository Path**: cloudmarket/img-gen ## Basic Information - **Project Name**: img-gen - **Description**: 调用大模型接口生成图片 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-10 - **Last Updated**: 2026-06-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI Image CLI AI 图片生成命令行工具,支持 ModelScope(魔搭)、NVIDIA、Google Gemini、OpenRouter 和 OpenAI 多个平台。 ## 安装 ```bash npm install npm run build ``` ## 配置 在项目根目录创建 `.env` 文件: ```env # ModelScope Configuration MODELSCOPE_API_KEY=your_modelscope_api_key_here MODELSCOPE_ENDPOINT=https://api.modelscope.cn/v1/models # NVIDIA Configuration NVIDIA_API_KEY=your_nvidia_api_key_here NVIDIA_ENDPOINT=https://api.nvidia.com/explorer # Gemini Configuration GEMINI_API_KEY=your_gemini_api_key_here GEMINI_ENDPOINT=https://generativelanguage.googleapis.com/v1beta/models # OpenRouter Configuration OPENROUTER_API_KEY=your_openrouter_api_key_here OPENROUTER_ENDPOINT=https://openrouter.ai/api/v1/chat/completions # OpenAI Configuration OPENAI_API_KEY=your_openai_api_key_here OPENAI_ENDPOINT=https://api.openai.com/v1/images/generations # Default Settings DEFAULT_PROVIDER=modelscope DEFAULT_OUTPUT_DIR=images DEFAULT_MODEL_MODELSCOPE=damo/cv_diffusion_text-to-image DEFAULT_MODEL_NVIDIA=stabilityai/stable-diffusion-3.5-large DEFAULT_MODEL_GEMINI=gemini-2.5-flash-image DEFAULT_MODEL_OPENROUTER=bytedance-seed/seedream-4.5 DEFAULT_MODEL_OPENAI=gpt-image-2 ``` **获取 API Key:** - **魔搭**: https://modelscope.cn - **NVIDIA**: https://developer.nvidia.com/nvidia-api-explorer - **Gemini**: https://aistudio.google.com/apikey - **OpenRouter**: https://openrouter.ai/keys - **OpenAI**: https://platform.openai.com/api-keys ## 使用方法 ### 快速生成 ```bash node bin/img-gen.js "一只可爱的猫咪" ``` ### 指定输出目录 ```bash node bin/img-gen.js "风景画" -o output/ ``` ### 指定提供商 ```bash node bin/img-gen.js "未来城市" --provider nvidia ``` ### 指定模型 ```bash node bin/img-gen.js "科技感建筑" --provider modelscope --model "damo/cv_diffusion_text-to-image" ``` ### 交互模式 无参数时自动进入交互模式: ```bash node bin/img-gen.js ``` ### 批量生成 创建包含提示词的文本文件,每行一个: ``` 一只可爱的猫咪 蓝天白云下的草原 未来科技城市 ``` 运行批量生成: ```bash node bin/img-gen.js --batch prompts.txt ``` ### 高级参数 ```bash node bin/img-gen.js "高质量风景图" \ --provider modelscope \ --steps 30 \ --guidance 8.0 \ --width 1024 \ --height 1024 ``` ### 提高生成稳定性(固定种子) 使用 `--seed` 参数可以固定随机种子,同一提示词配合相同 seed 可获得一致的构图效果: ```bash node bin/img-gen.js "水浒人物信息卡" \ --provider openrouter \ --model "bytedance-seed/seedream-4.5" \ --seed 42 ``` 批量生成时保持风格统一: ```bash node bin/img-gen.js -d .\shuihuzhuan\prompts\ \ --provider openrouter \ --model "bytedance-seed/seedream-4.5" \ --seed 12345 ``` ## 参数说明 | 参数 | 简写 | 说明 | 默认值 | |------|------|------|--------| | `prompt` | - | 图片描述(位置参数) | - | | `--output` | `-o` | 输出目录 | `images` | | `--provider` | `-p` | 提供商:`modelscope`、`nvidia`、`gemini`、`openrouter` 或 `openai` | `.env` 配置 | | `--model` | `-m` | 指定模型 | `.env` 配置的默认模型 | | `--batch` | `-b` | 批量处理文件路径(每行一个提示词) | - | | `--file` | `-f` | 从文件读取提示词 | - | | `--dir` | `-d` | 从目录读取所有文件的提示词 | - | | `--steps` | `-s` | 生成步数 | 提供商默认值 | | `--guidance` | `-g` | 引导系数 | 提供商默认值 | | `--width` | `-w` | 图片宽度(比例值,如 1、9、16) | 1 | | `--height` | `-h` | 图片高度(比例值,如 1、16、9) | 1 | | `--seed` | - | 随机种子,用于提高生成稳定性 | 随机 | > **提示**:`--width` 和 `--height` 传入的是比例值而非像素值。例如 9:16 比例传入 `-w 9 -h 16`。 ## 项目结构 ``` ├── src/ │ ├── cli.ts # CLI 入口 │ ├── commands/ │ │ └── generate.ts # 生成命令逻辑 │ ├── providers/ │ │ ├── modelscope.ts # 魔搭 API │ │ ├── nvidia.ts # NVIDIA API │ │ ├── gemini.ts # Google Gemini API │ │ ├── openrouter.ts # OpenRouter API │ │ └── openai.ts # OpenAI API │ ├── config/ │ │ └── index.ts # 配置管理 │ └── types/ │ └── index.ts # 类型定义 ├── bin/ │ └── img-gen.js # 入口文件 └── .env # 配置文件 ```