원클릭으로
image-api
Use when user asks to generate, edit, reference, mask, verify, or deliver raster images through the image_api Hermes skill/CLI.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use when user asks to generate, edit, reference, mask, verify, or deliver raster images through the image_api Hermes skill/CLI.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | image_api |
| description | Use when user asks to generate, edit, reference, mask, verify, or deliver raster images through the image_api Hermes skill/CLI. |
| version | 4.2.1 |
| author | Hermes Agent |
| license | MIT |
| metadata | {"hermes":{"tags":["image-generation","image-editing","openai-compatible","responses-api","hermes-skill"],"related_skills":["hermes-agent-skill-authoring","skill-creator","writing-skills"]}} |
image_api 是一个 Hermes runtime skill + Python CLI,用来通过 OpenAI-compatible 图片接口生成图片、编辑图片、多参考图编辑和 mask 编辑。
本 SKILL.md 是 agent runtime 行为契约。它只保留执行时必须知道的路径、决策和安全边界;详细字段、provider 兼容性、故障排查和用户文档按需打开 references/ 或 README。这是按 Skill Creator 的 progressive disclosure 原则整理后的结构。
公共表面必须保持 provider-agnostic:不要写真实 provider、私有模型路由、真实 key、私有 chat id 或本地专用路径。canonical identity 始终是 image_api;保留 underscore,不把 /skill image_api、runtime 路径或示例改成 hyphen 形式。
使用本 skill:
不要使用本 skill:
/fast、priority processing、模型路由或 agent 配置;那不是图片快速基线。优先级:当前用户请求 > 当前附件/文件事实 > 本 SKILL.md > references/ > README/CHANGELOG。
核心规则:
--edit --image;不要先 vision 描述图片,除非用户要求识别/描述。--json。 解析 JSON,不只看退出码或 stdout 文本。ok=true、paths 非空、文件存在且 magic header 是 PNG/JPEG/WebP。选择任务类型
--mask,必要时 --validate-mask 或 --fix-mask-alpha。选择图片参数
--quality low --size 1024x1024 --format png --moderation low。--quality high。--size 1024x1024;竖版:1024x1536;横版:1536x1024。--background transparent;若 provider/model 不支持,报告限制,不改 prompt。--n N;Responses 模式通常只支持单张,需要时循环请求。执行并验证
workdir 中执行 CLI。运行前加载 Hermes env:
ENV_FILE="$(hermes config env-path 2>/dev/null || printf '%s\n' ~/.hermes/.env)"
set -a
[ -f "$ENV_FILE" ] && source "$ENV_FILE"
set +a
文生图:
python3 ~/.hermes/skills/image_api/scripts/image_api.py \
--json \
"<prompt>" \
--size 1024x1024 \
--quality low \
--format png \
--moderation low
单图编辑/参考图生成:
python3 ~/.hermes/skills/image_api/scripts/image_api.py \
--json \
--edit \
--image "<image-path-or-url>" \
"<prompt>" \
--size 1024x1024 \
--quality low \
--format png \
--moderation low
多参考图编辑:
python3 ~/.hermes/skills/image_api/scripts/image_api.py \
--json \
--edit \
--image "<primary-subject>" \
--ref "<reference-1>" \
--ref "<reference-2>" \
"<prompt>" \
--size 1024x1024 \
--quality low \
--format png \
--moderation low
mask 编辑:
python3 ~/.hermes/skills/image_api/scripts/image_api.py \
--json \
--edit \
--image "<source-image>" \
--mask "<mask-image>" \
--validate-mask \
"<prompt>" \
--size 1024x1024 \
--quality low \
--format png
如果 provider 要求某次调用使用特定模型,只在该次调用加 --model <provider-specific-image-model>;不要为了修复一次 model/route 错误永久改全局 IMAGE_MODEL。
公开示例只能使用占位符:
IMAGE_API_BASE=https://api.example.com/v1
IMAGE_API_KEY=YOUR_PROVIDER_API_KEY
IMAGE_MODEL=your-image-capable-model
IMAGE_API_MODE=auto
IMAGE_OUT_DIR=/tmp/image_api
配置规则:
IMAGE_API_BASE:provider base URL,推荐通用 /v1 base;Responses-only provider 可使用 /v1/responses 形态。IMAGE_API_KEY:provider API key,只放本地 env/secret store。IMAGE_MODEL:provider-specific image-capable model;未配置时必须单次传 --model <provider-specific-image-model>。IMAGE_API_MODE:auto、images、responses;默认 auto。IMAGE_OUT_DIR:输出目录,默认 /tmp/image_api。模式:
images:generation 走 /images/generations,edit 走 /images/edits。responses:走 /responses + image_generation tool。auto:推荐默认;普通 /v1 base 先尝试 Images API;明确配置 responses 时使用 Responses API。只在这两类情况从 images 自动 fallback 到 responses:
/images/* 明确不存在,例如 404。不要在以下情况 fallback:鉴权错误、额度/限流、参数 schema、内容安全、超时、断流、5xx 或通用 upstream failure。base URL 已指向 /responses 时,不要强制 --api-mode images。
详细 payload 与 provider 行为按需打开 references/providers/responses-api-compatibility.md、references/providers/responses-only-provider.md 或 references/providers/generic-images-api-quirks.md。
验证成功必须满足:
ok 为 true。paths 至少包含一个本地文件路径。used_params.api_mode 与预期一致;若 auto fallback 生效,只说明“已自动切到兼容模式”,不泄露 provider 私有细节。交付规则:
MEDIA:<path>,让 gateway 原生发送图片。MEDIA:<path> 与 [[as_document]] 是 Hermes/gateway 内部投递指令;不要把真实本地路径放进解释文本或代码块。核心执行:
scripts/image_api.py — 唯一 CLI 执行入口;agent 调用时使用 --json。scripts/validate_skill_docs.py — 离线结构/隐私/runtime surface 验证。tests/test_responses_mode.py — API mode、Responses payload、fallback、CLI surface 回归测试。按需参考:
references/api/fields.md — 字段、自然语言到参数映射、交互规则。references/api/resolution-guide.md — 分辨率约束和边界案例。references/providers/provider-quirks.md — provider 非标准行为通用模板。references/providers/generic-images-api-quirks.md — Images API provider 兼容性。references/providers/responses-api-compatibility.md — Responses API payload 与测试策略。references/providers/responses-only-provider.md — Responses-only provider 配置模板。references/troubleshooting/image-delivery-debugging.md — 用户说“图片没收到”时的诊断流程。references/troubleshooting/gateway-image-debug.md — 交互式 gateway 图片路由排查。references/provider-timeout-debugging.md — HTML/非 JSON/超时响应的脱敏排查。references/fast-mode-verification.md — image_api 快速基线验证。references/fast-term-disambiguation.md — 区分 Hermes /fast 与 image_api 快速基线。references/hermes-chat-original-delivery.md — 预览图 + 原始文件附件投递模式。用户/维护者文档:
README.md / README.zh-CN.md — 安装、配置、CLI 参数、项目结构和用户-facing 文档。CHANGELOG.md / CHANGELOG.zh-CN.md — 可读变更记录。.env.example — provider-agnostic 本地配置模板。LICENSE — 许可证。没有 assets/ 是刻意选择:当前 skill 不需要可复用图片模板、字体或二进制资产;不要为空目录增加噪声。
paths、本地文件、magic header、gateway 投递结果;按 references/troubleshooting/image-delivery-debugging.md。references/provider-timeout-debugging.md。/fast 与图片 fast 混淆:按 references/fast-term-disambiguation.md。workdir。--model;持久 env 改动要用户同意。MEDIA:<path> 用作实际投递指令。image_api 是 canonical runtime identity。SKILL.md 从 byte 0 开始就是 ---,frontmatter 有 name、description、version、author、license、metadata.hermes.tags。name: image_api、路径和示例均保留下划线身份。YOUR_PROVIDER_API_KEY,示例模型使用 your-image-capable-model。PYTHONDONTWRITEBYTECODE=1 python3 -B scripts/validate_skill_docs.py 通过。python3 -B + py_compile.compile(..., cfile=/tmp/...) 验证 Python 文件且不在 skill tree 留 .pyc。PYTHONDONTWRITEBYTECODE=1 python3 -B -m pytest -p no:cacheprovider tests/test_responses_mode.py -q 通过。~/.hermes/skills/image_api,并在新会话重新 /skill image_api。