关于 happy-image-gen
happy-image-gen 是一项通过单个 CLI 调用 8 个提供商来生成和编辑静态图片的技能,支持文本提示词与参考图,并可设置提供商、模型、宽高比和质量。
主要功能
- 01通过 8 个提供商生成图片
- 02文生图与图生图编辑
- 03选择提供商和模型
- 04设置宽高比与质量
- 05输入参考图片
适用场景
- 01根据文本提示词生成图片
- 02使用参考图改变图片风格
- 03为指定模型选择提供商
- 04将生成图片保存到指定路径
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ iamzhihuix/ happy-claude-skills --skill happy-image-gen安装后在 Claude Code 中输入/happy-image-gen确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
package.jsonassets/EXTEND.template.mdreferences/aspect_ratio_map.mderror_codes.mdproviders.mdreferences/config/extend-schema.mdfirst-time-setup.mdscripts/main.tstypes.tsscripts/providers/ark.tsbailian.tsfal.tsgoogle.tsopenai.tsreplicate.tssiliconflow.tsstability.tsscripts/utils/aspect_ratio.tsoutput.ts详细介绍
happy-image-gen
通过一个 CLI 使用 8 个提供商生成静态图像:bun scripts/main.ts ...。同一个 CLI 可处理文生图和图生图(基于参考图)编辑。
快速使用
bun scripts/main.ts --prompt "A calico cat on green grass, cinematic light" --ar 16:9 --image ./out.png
何时调用此技能
在用户执行以下操作时调用此技能:
- 要求根据文本生成、创建、绘制、渲染、制作插画或合成图像。
- 要求对其提供路径的现有图像进行重新风格化或转换。
- 提及任何图像生成模型(DALL·E、gpt-image、Flux、SDXL、Gemini Image、Imagen、Seedream、Kolors、Wanx、Stable Diffusion),但未指定即梦/Dreamina/Jimeng。
当用户明确提及即梦、Jimeng 或 dreamina CLI 时,改用 happy-dreamina。
步骤 0:预检(阻塞 — 生成前运行)
运行以下检查:
-
定位 EXTEND.md 配置。 按顺序检查:
./.happy-skills/happy-image-gen/EXTEND.md(项目)$XDG_CONFIG_HOME/happy-skills/happy-image-gen/EXTEND.md~/.happy-skills/happy-image-gen/EXTEND.md(用户)
如果都不存在,运行
bun scripts/main.ts --setup,并按照references/config/first-time-setup.md创建配置文件。在用户至少配置一个提供商之前,不要继续生成。 -
验证提供商是否可用。 确认已设置环境变量(例如
OPENAI_API_KEY),或 EXTEND.md 中引用的api_key_env/api_key_source可正常解析。如果都无法解析,返回设置步骤。 -
验证 Bun 是否可用。 运行
command -v bun。如果缺少 Bun,则改用npx -y bun scripts/main.ts ...。
步骤 1:选择提供商
按以下优先级选择:
- 用户明确传入的
--provider <id>。 - EXTEND.md 中的
default_provider。 - 环境中存在 API 密钥的第一个提供商。自动检测时的优先级:
openai→google→replicate→stability→fal→ark→bailian→siliconflow。
各提供商所需的环境变量、默认模型和优势(例如,图中文字优先选用 google,Flux 系列写实图像优先选用 replicate,中文文本准确度优先选用 ark),请参阅 references/providers.md。
步骤 2:填写参数
--prompt:用户的完整请求,去除首尾空白。始终用双引号括起来。--ar:宽高比 —1:1/16:9/9:16/3:4/4:3。各提供商对该参数的解释方式,请参阅references/aspect_ratio_map.md。--quality:draft(最快、最便宜)、hd(默认)或ultra(4K 级,速度较慢)。--ref <path>:多个参考图可重复指定。并非所有提供商都支持此参数 — 请参阅 providers.md。--model:覆盖所选提供商的默认模型。除非用户要求使用特定模型,否则省略。--image <path>:必填 — 输出文件路径。使用描述性名称(例如./out/hero-landscape.png)。
步骤 3:运行
bun scripts/main.ts \
--prompt "..." \
--image ./out.png \
--provider openai \
--ar 1:1 \
--quality hd
成功后,CLI 会输出解析后的绝对路径和字节数。在 --json 模式下,会输出:
{ "success": true, "provider": "openai", "model": "gpt-image-1", "image": "/abs/path.png", "size_bytes": 1416341, "format": "png" }
将路径告知用户。
步骤 4:处理错误
config: No provider selected ...— 环境中没有 API 密钥,且不存在 EXTEND.md。返回步骤 0。[openai] OpenAI images API 401 ...— 密钥无效或已过期。请用户刷新密钥。[openai] ... 400 ... content_policy_violation— 提示词被拦截。向用户展示原始错误,不要转述。- 超时 / 网络错误 — 重试一次。如果仍然失败,显示原始错误消息和
provider,以便用户知道需要检查什么。
各提供商的错误表,请参阅 references/error_codes.md。
参考资料
按需阅读:
references/providers.md— 全部 8 个提供商、所需环境变量、默认模型和优势。references/aspect_ratio_map.md— 各提供商对--ar的解释方式。references/error_codes.md— 各提供商的常见错误和解决方法。references/config/first-time-setup.md—--setup分步指南。references/config/extend-schema.md— EXTEND.md 架构参考。
EXTEND.md 模板:assets/EXTEND.template.md。