Cover Image

基于结构化参数生成文章封面图,支持多风格与批量输出。

已扫描
适合谁
内容创作者、新媒体运营人员
不适合谁
需要复杂多页图文的用户、追求纯产品展示或白底图的用户
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @632657122/cover-image

Skill 说明

命令、参数、文件名以原文为准

封面图像生成 (cover-image)

参考图像(重要)

若使用参考图像(图像到图像 / 系列参考 / 一致性参考):

  • 参考图像必须为公开的 URL。
  • 强烈建议使用 HTTPS。
  • http:// 可能可用,但不安全,可能被某些网络屏蔽。
  • 本地文件路径和 data: URL 不被 WeryAI 网关支持。

此技能将模糊的“生成一张封面图”请求转化为一组稳定的结构化决策,而非每次都从零开始。

脚本:

  • scripts/scaffold.ts
  • scripts/build-batch.ts

安全与范围

  • 网络:此技能通过 HTTPS 调用 WeryAI 网关(https://api.weryai.com)。
  • 认证:使用 IMAGE_GEN_API_KEY。该密钥不会被打印。仅在您显式运行 npm run setup -- --persist-api-key 时才会持久化。
  • 参考图像:必须为公开 URL(推荐使用 https://)。http:// 可能可用但不安全。本地文件路径和 data: URL 会被拒绝。
  • 无任意 shell 执行:生成运行时不会执行任意 shell 命令。
  • 写入文件:输出图像及可选的本地配置,保存于 .image-skills/cover-image/(项目目录)和/或 ~/.image-skills/cover-image/(用户主目录)。

使用场景

  • 文章封面图
  • 博客标题或英雄图
  • 通讯稿封面
  • 海报风格的核心视觉
  • 任何需要呈现为封面而非信息图或漫画的单张视觉内容

核心维度

选择以下六个维度,然后组合成提示词:

  1. type
  2. palette
  3. rendering
  4. text
  5. mood
  6. aspect

参见 [references/dimensions.md](references/dimensions.md)。

命令

脚本用途
scripts/scaffold.ts初始化 brief.mdprompts/cover.md
scripts/build-batch.ts从多个提示变体生成 batch.json
npm run generate生成封面图像
./scripts/vendor/compression-runtime/scripts/main.ts压缩输出以供交付

工作流程

第一步:初始化工作文件

创建工作目录:

${BUN_X} {baseDir}/scripts/scaffold.ts \
  --output-dir cover-image/topic-slug \
  --topic "为什么习惯会持续" \
  --concept "一个循环不断重复,逐渐形成可见的推动力" \
  --type conceptual \
  --palette elegant \
  --rendering editorial \
  --text title-only \
  --mood balanced \
  --aspect 16:9 \
  --lang en

此操作将创建:

  • brief.md
  • prompts/cover.md

第二步:理解内容

提取以下信息:

  • 主题
  • 目标读者
  • 关键词
  • 内容适合人物、场景还是抽象隐喻
  • 是否需要在图像中显示标题文字
  • 当画面上文字的语言重要时,明确目标语言

第三步:选择维度

默认优先级:

  • typeconceptual
  • paletteelegant
  • renderingeditorialposter
  • texttitle-only
  • moodbalanced
  • aspect16:9

如果用户明确指定了风格、情绪或宽高比,请遵循其偏好。

语言规则:

  • 默认使用源内容的语言
  • 若封面包含标题或副标题,应在提示中明确说明目标语言

第四步:优化 brief.mdprompts/cover.md

使用 brief.md 锁定受众、核心概念和参考内容,再打磨最终提示。

确保 prompts/cover.md 明确包含:

  • 文章或视频的主题
  • 主要视觉概念或隐喻
  • 选定的 type / palette / rendering / text / mood / aspect
  • 画面上文字的目标语言

第五步:构建 batch.json 用于多方案探索

若希望尝试多种封面方向,可在 prompts/ 目录下放置多个提示文件,例如:

  • 01-editorial.md
  • 02-poster.md
  • 03-cinematic.md

然后生成批次文件:

${BUN_X} {baseDir}/scripts/build-batch.ts \
  --prompts cover-image/topic-slug/prompts \
  --output cover-image/topic-slug/batch.json \
  --images-dir cover-image/topic-slug \
  --model "$M" \
  --jobs 3

该脚本会尽可能从每个提示文件中读取 Rendering style:Aspect ratio:,并将其映射为生成任务字段。

第六步:映射到打包的运行时

当前打包的图像运行时仅暴露一个结构化样式参数 --style,因此:

  • rendering 映射为 --style
  • palettetypetextmood 写入提示正文
  • 当用户提供参考时,继续使用 --ref

推荐映射关系:

封面风格运行时 --style
editorialeditorial
posterposter
cinematiccinematic
watercolorwatercolor
flat-vectorflat-illustration
ink-brushink-brush
chalkchalk
mangamanga
animeanime
photorealphotoreal
3d-render3d-render
infographicinfographic

第七步:构建提示词

使用 [references/prompt-template.md](references/prompt-template.md)。务必注意:

  • 将主题和主体放在第一段
  • 在第二段描述封面构图和视觉焦点
  • 在第三段描述配色、情绪和文字处理方式
  • 明确请求预留标题空间,不要依赖模型自动排版
  • 若封面需画面上文字,应明确说明标题语言

第八步:执行生成

通过 npm run generate 启动生成。

首次在新项目中使用时,需在本技能目录下运行:

npm run ensure-ready -- --project <your-project> --workflow cover

此命令会读取诊断报告,并在本地脚本依赖缺失时自动运行 bootstrap。若报告提示缺少 IMAGE_GEN_API_KEY 且用户确认,可运行:

npm run setup -- --project <your-project> --workflow cover --persist-api-key

当密钥已在环境变量中时,系统将自动将其持久化至 .image-skills/cover-image/.env,然后继续流程,无需离开当前工作流。

技能:封面图像

版本:1.0.7

分块:2/2

首次连接时,请告知用户默认生成模型为 Nano Banana 2GEMINI_3_1_FLASH_IMAGE)。同时说明,后续可根据任务需求随时切换至其他更适合的模型。

示例:

${BUN_X} {baseDir}/npm run generate \
  --promptfiles prompts/cover.md \
  --style editorial \
  --image cover-image/topic-slug/cover.png \
  --ar 16:9 \
  -m "$M"

批量处理示例:

${BUN_X} {baseDir}/npm run generate \
  --batchfile cover-image/topic-slug/batch.json \
  --jobs 3

若用户尚未选择模型,应优先遵循本技能的模型选择规则。

输出规范

建议输出目录:

cover-image/<topic-slug>/

建议最小文件集:

  • brief.md
  • prompts/cover.md
  • batch.json
  • cover.png

若内容直接来自对话而非文件,建议将摘要或标题保存至 source.md,以保证可复现性。

迭代流程

当用户查看生成的封面后提出修改要求时:

  • 风格不符(“风格不对”、“太杂乱”)→ 调整 rendering / --style,重新生成。保持其他维度不变。
  • 色彩问题(“太暗”、“颜色不对”)→ 在提示词正文内调整 palette,重新生成。
  • 构图问题(“布局不好”、“标题位置偏移”)→ 修改 prompts/cover.md 中的构图与文字空间描述,重新生成。
  • 希望探索更多方案 → 在 prompts/ 目录中创建多个提示变体,使用 build-batch.ts 一次性生成多组选项。
  • 需微调并参考原图 → 若模型支持 --ref,可将当前输出作为参考,结合调整后的提示词进行优化生成。

仅重新生成需要修改的特定图像。除非用户希望彻底改变方向,否则不要从头重新运行整个流程。

完成标准

  • 输出目录中存在 brief.mdprompts/cover.md
  • 生成的封面图像符合所选的 type / palette / rendering / text / mood / aspect
  • 图像直接展示给用户,并附上使用的参数摘要。
  • 生成压缩后的 webp 版本用于交付。

不适用场景

请选用其他更高层级的技能处理以下情况:

  • 多页知识漫画
  • 多卡片 RedNote 图像系列
  • 密集型信息图表
  • 纯产品抠图或纯白底产品照片

交付流程

封面图像生成完成后:

  1. 直接展示图像 —— 不要仅输出文件路径。
  2. 简要说明生成内容:风格、宽高比、所用模型。
  3. 询问用户是否需要修改或是否满意。
  4. 自动压缩:用户确认后,运行内置压缩运行时,生成适用于网页/社交平台的 webp 版本。同时交付原始文件与压缩文件。
${BUN_X} {baseDir}/./scripts/vendor/compression-runtime/scripts/main.ts cover-image/topic-slug/cover.png -f webp -q 80

内部检查清单(供代理使用,不向用户展示):已选定的 type / palette / rendering / text / mood / aspect,所用模型,是否使用了 --style--ref,是否已完成压缩。

6
@632657122

已收录 3 个 Skill

相关推荐