SuperAPI AI 工具集

generate-images

设计与创作

查看项目

更新于 10-16 09:15

技能介绍

用途

Generate Images(Media Renderer,媒体渲染器)用于为演示类项目生成配图。它会读取 IMAGE_SPEC.md,将每条记录的提示词提交给 AI 图像生成 API,并把生成的 PNG 文件保存到项目的 images/ 文件夹。该技能在 IMAGE_SPEC.md 存在,或用户明确要求渲染演示配图时加载。

主要能力

  • 解析 IMAGE_SPEC.md 中的全部图片条目,检查项目文件夹中已存在哪些同名文件。
  • 调用 AI 图像生成 API 渲染图片,输出为 PNG,保存到 images/ 文件夹。
  • 支持按范围生成:全部条目、仅缺失条目、指定幻灯片编号,或单张幻灯片。
  • 支持覆盖已存在的图片。
  • 支持在请求之间添加暂停(默认 1 秒),以避免触发速率限制。
  • 生成前要求确认生成数量、所用服务与模型;每次渲染都是有成本的付费 API 调用。
  • 生成后报告结果;失败时建议修改 IMAGE_SPEC.md 中的提示词并用 --slide=N 重试。

使用方式

启动前需要确认:解析项目文件夹(查看 DISCOVERY.json 的 paths.imageSpec 字段,若不确定则询问);检查 IMAGE_SPEC.md 是否存在,若不存在则中止并提示需先创建并批准图片规格;检查 node 是否可用(which node),若不可用则中止;解析当前调用的 SKILL.md 所在目录,将运行时包路径设为 <skill-directory>/scripts/generate-images.js 并要求该文件存在,调用时使用绝对路径。

步骤 1:在一次提示中解析范围并确认费用。从 IMAGE_SPEC.md 解析全部条目,检查哪些文件名已存在。提供者与模型按脚本顺序确定:用户给出的 --provider=/--model= 标志、PROJECT.json 中持久化的标志选择、已设置 API Key 的提供者(两者都存在时默认 Gemini)及其默认模型。回答 yes、A、B 或 C 表示批量模式,附带 one at a time 表示交互模式,cancel 或 D 则停止且不调用脚本。

步骤 2:生成。

批量模式:

node "<absolute skill directory>/scripts/generate-images.js"
"<IMAGE_SPEC.md path>" [--force] [--slides=N,M,...] [--provider=<gemini|openai>] [--model=<id>] [--delay=<seconds>]

全部条目或仅缺失 → 不加额外标志(脚本会跳过已存在文件);全部 → 加 --force;选定幻灯片 → 加 --slides=N,M,...,并用 --force 覆盖已存在的。

交互模式(单张):

node "<absolute skill directory>/scripts/generate-images.js"
"<IMAGE_SPEC.md path>" --slide=N --force [--provider=<gemini|openai>] [--model=<id>]

每张生成后提供选项:N 下一个(接受并继续)、R 重做(用相同提示词重新生成)、S 停止(退出并保留已生成的图片)。重做前若想修改提示词,需先编辑 IMAGE_SPEC.md,再选择 R。

步骤 3:报告结果。展示脚本的汇总输出;失败时建议编辑 IMAGE_SPEC.md 中的提示词并用 --slide=N 重试。

参数

  • --force:覆盖已存在的图片。
  • --slide=N:仅生成第 N 张幻灯片。
  • --slides=N,M,...:仅生成这些幻灯片。
  • --provider=<gemini|openai>:覆盖自动检测的提供者。
  • --model=<id>:覆盖已解析提供者的默认模型。
  • --delay=<seconds>:请求之间的暂停(默认 1 秒;可增大以避免速率限制)。

脚本本身从不提示。

提供者

根据已设置的密钥自动检测——GEMINI_API_KEY 或 OPENAI_API_KEY。两者都存在时默认 Gemini。可用 --provider=gemini|openai 覆盖。设置与安全指引见 PROVIDERS.md。

项目状态

从 DISCOVERY.json 读取 paths.imageSpec 和 paths.images,回退到 IMAGE_SPEC.md 和 images/。脚本会把已解析的 provider、providerSource、model 和 modelSource 写入 PROJECT.json 的 phases.images,与生成结果无关。在所有选中条目成功后,将 phases.images.status 设为 "done" 并记录完成时间戳。取消或任一失败条目时,不会把该阶段标记为 done。

输出语气

对范围问题、审查提示词和结果报告应用轻量的人声化处理。在传输提示词和用户提供的 Media Intent 时保持其原样,并保持文件名、路径、命令和状态值精确。在批准任何面向演示的文本前,调用独立的 unslop Skill 作为必需的完整编辑流程,使用 DISCOVERY.json.editorialPreferences;在契约要求精确措辞处保留提示词和机器可读的媒体元数据。

适用场景与限制

适用于已存在经批准的 IMAGE_SPEC.md、需要为演示批量渲染配图的项目。每次渲染均为付费 API 调用,执行前需确认范围与费用。缺少 IMAGE_SPEC.md、node 未安装、运行时脚本文件不存在或配置错误时会中止。脚本本身不进行交互提示,交互选项由调用方呈现。收费与价格相关信息暂未提供具体数值,请参见 PROVIDERS.md。