happy-image-gen 是一个统一图像生成 CLI,用同一套命令在 8 个提供商之间生成静态图片,同时支持文生图和图像到图像(参考图驱动)编辑,命令形式为 bun scripts/main.ts。
用途与触发场景:当用户要求从文本生成、绘制、渲染图片,要求对已有图片做风格迁移或转换,或点名 DALL·E、gpt-image、Flux、SDXL、Gemini Image、Imagen、Seedream、Kolors、Wanx、Stable Diffusion 等模型时使用;若用户明确点名即梦、Jimeng 或 dreamina CLI,则应改用 happy-dreamina。
使用前的强制预检:先按顺序查找 EXTEND.md 配置(项目目录 ./.happy-skills/happy-image-gen/、$XDG_CONFIG_HOME/happy-skills/happy-image-gen/、用户目录 ~/.happy-skills/happy-image-gen/),都没有时运行 bun scripts/main.ts --setup 并参照首次配置文档创建;随后确认至少有一个提供商可用(环境变量如 OPENAI_API_KEY 已设置,或 EXTEND.md 中的 api_key_env/api_key_source 能解析),并确认 Bun 可用(command -v bun),缺失时回退为 npx -y bun scripts/main.ts ...。
提供商选择顺序:用户显式传入的 --provider,其次是 EXTEND.md 中的 default_provider,再其次按 openai → google → replicate → stability → fal → ark → bailian → siliconflow 顺序自动探测已有 API key 的提供商。
主要参数:--prompt 文本提示(始终加双引号)、--ar 宽高比(1:1 / 16:9 / 9:16 / 3:4 / 4:3)、--quality(draft 最快最省、hd 默认、ultra 4K 级较慢)、--ref 参考图路径(可重复,并非所有提供商支持)、--model 覆盖默认模型、--image 输出文件路径(必填)。
运行示例:bun scripts/main.ts --prompt "..." --image ./out.png --provider openai --ar 1:1 --quality hd。成功后 CLI 输出解析后的绝对路径与字节数;--json 模式返回 success、provider、model、image、size_bytes、format 等字段。
错误处理:无提供商或密钥时提示回到预检;401 通常是密钥无效或过期,需用户刷新;400 content_policy_violation 表示提示被拦截,应原样展示原始错误而不改写;超时或网络错误可重试一次,仍失败则原样反馈提供商与消息。各提供商的必需环境变量、默认模型、优势、宽高比解释及错误表等细节需查阅随附参考文档;资料未提供的收费与价格信息暂未提供。