Community图像github.com

zeighy/image-gen

通过自托管 OpenRouter 图像中继,根据文本提示生成图像,或编辑/组合参考图像。当用户要求创建、绘制、渲染、插画或编辑图像时使用。

image-gen 是什么?

该技能通过一个自托管的 OpenRouter 图像中继(relay)来实现文本到图像的生成、编辑和组合。它使用`relay.sh`脚本与中继通信,该脚本可以从技能目录下的`relay.env`文件或环境变量`IMAGE_RELAY_URL`/`IMAGE_RELAY_TOKEN`中读取中继 URL 和令牌。技能支持生成新图像、使用参考图像编辑现有图像、或通过`--ref`参数引用对话中先前生成的图像进行精炼,其中`--ref`也接受网址。它提供了生成、等待结果、错误处理等命令和选项,包括设置宽高比、图像数量、模型和输出目录。该技能设计为使用 Claude Code、Cursor 和 Codex 等 AI 代理平台,能够处理长时间运行的生成任务,并通过`pending`消息和`result`命令管理等待过程。它还提供了详细的错误消息和相应的处理指南,以确保用户能够有效处理各种错误情况。

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

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

在你喜欢的 AI 中提问

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

文档

通过中继进行图像生成

使用该技能文件夹中的 relay.sh 脚本(与这篇 SKILL.md 在同一文件夹中)。它会读取同目录下 relay.env 中的中继 URL 和令牌(如果设置了 IMAGE_RELAY_URL / IMAGE_RELAY_TOKEN 则使用环境变量),调用中继,并将图像保存为文件。使用 bash 并带上完整路径来运行它。

切勿打印、回显或显示令牌或 relay.env 的内容,也切勿将令牌放在命令行中。

生成

bash /path/to/image-gen/relay.sh generate "水彩风格,雪地森林中的狐狸" --aspect 16:9

选项:

  • --aspect R:可选值 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9
  • --n N:图像数量(1-4)
  • --model M:仅当用户要求特定模型时使用;运行 relay.sh models 查看允许的模型列表
  • --out DIR:保存位置(默认:如果存在 /mnt/user-data/outputs 则使用,否则为当前目录)

输出行类似于 saved: /path/abc123.jpg (512345 bytes, relay file: abc123.jpg)。向用户展示或附加保存的文件。保留 relay file 名称以备后续编辑。

等待结果

生成可能需要几分钟,因此中继将其作为后台任务运行。relay.sh generate 会提交任务,并每约 30 秒(中继要求的间隔)检查一次,最多持续 90 秒。如果图像已就绪,您会像往常一样看到 saved: 行。

如果它打印 pending: job <id> ...,表示任务仍在中继上运行,并未丢失。等待指定的秒数(例如 sleep 30),然后运行:

bash /path/to/image-gen/relay.sh result <id>

在等待期间,脚本可能会提示任务“正在被检查”(中继仍在审核请求)或“已接受,正在生成”。重复此过程,直到打印出 saved: 行或出现错误。不要在有任务待处理时重新提交提示:这会产生(并收费)第二张图像。--wait SECONDS 改变一次调用的等待时间(默认 90)。

编辑或使用参考图像

使用 --image 传递用户的图像文件(可重复,最多总共 4 张;支持 PNG、JPEG、WebP 或 GIF,每张最大 10 MB):

bash /path/to/image-gen/relay.sh generate "将天空变为紫色,其余保持不变" --image /path/to/photo.jpg

要精炼对话中先前生成的图像,传递其 relay 文件名作为 --ref(比重新上传更快;relay 文件 24 小时后过期):

bash /path/to/image-gen/relay.sh generate "在右上角添加一个小月亮" --ref abc123.jpg

--ref 也接受 https:// 图像 URL。

提示词编写

编写一个具体的提示词,涵盖主题、风格、构图、光照和颜色。对于编辑任务,说明要更改的内容以及要保留的内容。

错误处理

脚本会打印 error: HTTP <code> <code_name>: <message>:

  • rate_limited:等待指定的秒数,然后重试一次。
  • model_not_allowed、invalid_aspect_ratio、invalid_n:修正选项后重试。
  • invalid_input_images / 413:图像类型不支持或体积过大;请转换或缩小尺寸。
  • upstream_error(例如“未及时响应”):中继已在自身一侧重试。告知用户,然后重新提交一次;如果再次失败,停止并报告。
  • request_rejected:中继未接受请求(不说明原因)。告知用户请求被拒绝;不要猜测原因、重写或伪装提示或图像以绕过,也不要重新提交。
  • prompt_rejected:中继的内容策略阻止了该提示。告知用户;不要修改提示词以绕过过滤器。
  • image_rejected:参考图像被内容策略阻止。告知用户;不要使用相同图像重试或试图伪装它。
  • no_image:未生成图像;请重新表述提示词。
  • job_not_found / job_lost:任务 ID 已过期或服务器中止了它;请重新提交提示。
  • could not reach:无法访问中继域名的网络。告知用户在设置 → 功能(网络出口)中允许该域名。
  • unauthorized:令牌缺失、错误或过期。告知用户;不要试图寻找其他令牌。

相关技能