Community图像github.com

jp-skill-image - 图像生成(Cloudflare Workers AI)

根据文本描述生成图像,使用 Cloudflare Workers AI(flux-1-schnell 模型)。当用户想要创建、生成、制作或绘制图像/图片/徽标/图标/缩略图/壁纸/横幅/封面时,使用此技能。

jp-skill-image - 图像生成(Cloudflare Workers AI) 是什么?

该 AI Agent 技能(适用于 Claude Code、Cursor 等)将用户的自然语言请求转化为由 Cloudflare Workers AI(`@cf/black-forest-labs/flux-1-schnell` 模型)生成的图像。核心价值在于 Claude 负责优化提示词:将用户模糊的描述(如“咖啡店 logo”)扩展为高质量的英文 Prompt(包含主体、风格、构图、光照、色彩、质量术语等),然后调用一个轻量级 Python 脚本,通过标准库(urllib)请求 Cloudflare API,解码返回的 Base64 数据并保存为本地 JPG 文件。技能支持多平台(终端、Claude Code、Cursor 等),无需额外 `pip install`。它还能自动检测 `.env` 中的必要凭证(`CF_ACCOUNT_ID`、`CF_API_TOKEN`),若缺失则给出清晰的配置指导。用户也可以通过 `--steps` 参数控制扩散步数(默认 8 以获得最佳质量,4 为快速模式)。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/josephprada/jp-skill-image/tree/HEAD

Installed? Explore more 图像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

jp-skill-image

将自然语言请求转换为由 Cloudflare Workers AI(@cf/black-forest-labs/flux-1-schnell)生成的图像。完整流程:用户描述所需内容,Claude 进行提示词工程,脚本调用 Cloudflare API,图像以 JPG 格式保存到本地。

适用场景

用户希望根据描述生成图像 —— "生成一个咖啡店的 logo"、"为我的 AI 视频做一个缩略图"、"一张赛博朋克猫的照片"。Claude 负责将模糊的请求转化为质量较高的提示词,然后再生成图像。

不适用场景: 编辑现有图像、矢量艺术/SVG 或视频。

第 0 步 —— 始终先检查 .env

在执行脚本之前,请确认凭据可解析。脚本按以下顺序寻找凭据:实际环境变量 → 当前目录或任何父目录中的 .env → ~/.claude/skills/jp-skill-image/.env(全局回退)。

python3 -c "import sys; sys.path.insert(0, '$HOME/.claude/skills/jp-skill-image'); from generate import load_credentials; print('OK' if all(load_credentials()) else 'MISSING')"

如果缺少任一变量(新用户/新克隆的项目),请勿尝试生成图像 —— 先按照以下三步简短地指导用户获取凭据:

  1. CF_ACCOUNT_ID:Cloudflare Dashboard → 任意域名/项目 → Workers & Pages → Overview(显示在右侧),或者直接访问 https://dash.cloudflare.com/profile/account-id ... 如果页面上未显示,请使用 Dashboard URL 中的 ID 或左侧边栏 Manage Account 部分中的 ID(不是“My Profile”)。
  2. CF_API_TOKEN:https://dash.cloudflare.com/profile/api-tokens → Create Token → Custom Token → 权限 Account.Workers AI Scripts: Edit → Account Resources:你的账户 → Create。
  3. 创建 .env 文件 —— 在项目根目录,或 ~/.claude/skills/jp-skill-image/.env(使其在任何文件夹下生效)—— 内容为:
CF_ACCOUNT_ID=xxxxx
CF_API_TOKEN=xxxxx

如果项目使用企业代理访问互联网(检查 .npmrc 中是否存在 HTTPS_PROXY,或对外部 API 的请求因超时而失败),请额外添加:

HTTPS_PROXY=<企业代理>

确认变量存在后,继续正常流程。

如何执行

从任何目录(图像保存到当前目录的相对路径):

python3 ~/.claude/skills/jp-skill-image/generate.py "<优化后的提示词>" -o <文件名>.jpg --steps <N>
  • "<优化后的提示词>" —— 由你编写的提示词(见下文),而不是用户的原始措辞。
  • -o / --output —— 保存位置(默认为 out.jpg)。使用简短且描述性的文件名,例如 coffee-logo.jpg。
  • --steps —— 扩散步数(默认为 4)。flux-schnell 针对少量步数进行了优化,但要获得最佳质量,请使用 8,除非用户要求速度。切勿使用低于 4 的值。

脚本成功时会打印 Saved <文件名> ...,失败时会打印可读的错误信息(包括已内部处理的 JSON 响应中包含 Base64 图像的情况)。

Claude 的真正工作:编写最高质量的提示词

此技能的价值在于,Claude 在调用脚本之前,将用户的意图扩展为生动、具体且技术正确的提示词。切勿直接传递用户的请求——务必先对其进行处理。

高质量的 Flux 提示词应按以下顺序命名要素:

  1. 主要主体 —— 场景中的内容,具体且无歧义。
  2. 风格/媒介 —— 真实照片、3D 渲染、扁平矢量、水彩、等距、像素艺术等。
  3. 构图与取景 —— 特写、全景、居中、三分法、相机角度。
  4. 光照与氛围 —— 黄金时刻、霓虹灯、柔和影室灯、戏剧性阴影、逆光。
  5. 颜色与细节程度 —— 特定色调、背景、纹理、细节层次(“highly detailed”、“clean minimal”)。
  6. 技术质量(适用于逼真的照片/渲染)—— 诸如“cinematic”、“8k”、“sharp focus”、“professional photography”之类的术语有助于 Flux 接近专业级效果。

转换示例:

  • 用户:“一个咖啡店的 logo”
  • 你传递的提示词:“minimalist logo of a steaming coffee cup, flat vector illustration, warm brown and cream palette, centered on a clean off-white background, simple bold shapes, modern branding, professional design”

硬性规则:

  • 提示词始终使用英文(Flux 对英文响应更好)。
  • 1-2 个句子,信息密度高,无填充内容。
  • 切勿要求图像中包含可读的文本/单词——Flux 无法很好地渲染它们。
  • 如果用户未提供足够细节,请自行填充最合适的创意决策(除非主体确实模糊不清,否则不要提问)。
  • 默认使用 --steps 8 以最大化质量;仅在用户明确要求速度时才降低到 4。

生成后

  1. 确认文件已保存(脚本会打印路径)。
  2. 告知用户文件名和你使用的确切提示词,以便其调整并重新执行。
  3. 如果用户想要变体,请使用修改后的提示词和新的 -o 重新执行。

技术要求

  • 通过上述第 0 步中的三种来源之一解析 CF_ACCOUNT_ID 和 CF_API_TOKEN。
  • Python 3.8+。无外部依赖——脚本仅使用标准库(urllib),因此不需要 pip install 或虚拟环境。
  • 脚本解码 Cloudflare API 返回的 Base64 响应,并将其保存为二进制 JPG 文件——响应本身并非直接为图像。

相关技能