mcpField
A
alterlab-generate-image

alterlab-generate-image

github.com/alterlab-ieu创意与媒体7868 次安装5 周前更新
代码仓库

关于 alterlab-generate-image

这是一个通过 OpenRouter 图像模型生成新图像和编辑现有图像的命令行技能,适用于插画、概念艺术及演示材料等通用视觉内容,并可按次选择模型和输出路径。

主要功能

  1. 01根据文本提示生成图像
  2. 02通过输入文件编辑图像
  3. 03选择 OpenRouter 模型
  4. 04设置输出文件路径

适用场景

  1. 01为论文制作概念图
  2. 02准备演示文稿或海报图像
  3. 03修改现有肖像或图像

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alterlab-ieu/alterlab-academic-skills --skill alterlab-generate-image

安装后在 Claude Code 中输入/alterlab-generate-image确认已加载。

附带文件evals/evals.jsonscripts/generate_image.py

详细介绍

生成图像

使用 OpenRouter 的图像生成模型生成和编辑高品质图像,包括 FLUX.2 Pro 和 Gemini 3.1 Flash Image(又称 “Nano Banana 2”)。

何时使用此技能

适用于以下场景(使用此技能 alterlab-generate-image):

  • 照片和写实图像
  • 艺术插画和艺术作品
  • 概念艺术和视觉概念
  • 用于演示文稿或文档的视觉素材
  • 图像编辑和修改
  • 任何通用图像生成需求
不适用的场景
场景改用
流程图、CONSORT/PRISMA 或方法学示意图、电路图、生物通路图、系统或神经网络架构图alterlab-scientific-schematics
以设计图形形式呈现统计数据、时间线、对比或流程步骤的信息图alterlab-infographics
基于文件或数组中的数值数据绘制图表(散点图、条形图、折线图、分布图)alterlab-matplotlib / alterlab-seaborn / alterlab-plotly
应保持可编辑、以文本形式纳入版本控制的 README 或 Markdown 文档中的图表alterlab-mermaid

快速开始

使用 scripts/generate_image.py 脚本生成或编辑图像:

# Generate a new image
python scripts/generate_image.py "A beautiful sunset over mountains"

# Edit an existing image
python scripts/generate_image.py "Make the sky purple" --input photo.jpg

这会生成或编辑图像,并将其保存为当前目录中的 generated_image.png。

API 密钥设置

脚本需要 OpenRouter API 密钥;如果找不到密钥,就会报错并停止。脚本会依次检查:--api-key 标志、OPENROUTER_API_KEY 环境变量,然后是当前目录或上级目录中 .env 文件里的 OPENROUTER_API_KEY=<key> 行。如果都未设置,请让用户执行以下操作之一:

  • export OPENROUTER_API_KEY=your-api-key-here,或
  • 在 .env 文件中添加 OPENROUTER_API_KEY=your-api-key-here。

密钥可在 https://openrouter.ai/keys 申请。

数据与隐私

此技能会将你的提示词和任何输入图像发送到第三方 API(OpenRouter)进行处理。请勿发送机密、临床或尚未发表的材料。OpenRouter API 密钥从环境变量(OPENROUTER_API_KEY)中读取。

模型选择

默认模型:google/gemini-3.1-flash-image(“Nano Banana 2”,GA)——品质出色,支持生成和编辑。除非有特殊原因,否则使用此模型。它取代了 google/gemini-3.1-flash-image-preview;Google 已于 2026-06-25 停用该模型。设置 ALTERLAB_IMAGE_MODEL 可更改每次运行的默认模型,或传入 --model 以指定单次运行的模型。

其他模型(均支持在 OpenRouter 上生成和编辑图像):

  • black-forest-labs/flux.2-pro — 前沿的视觉品质,提示词遵循能力强,最高支持 4 MP。
  • black-forest-labs/flux.2-flex — 价格更低;尤其擅长呈现文字、字体排印和精细细节。

模型 ID 可能随版本变化(已于 2026-09-23 对照 OpenRouter 模型列表验证)——如果调用返回 “model not found” 错误,请重新检查 https://openrouter.ai/models。脚本使用 OpenRouter 的 chat-completions 端点和 modalities 参数。OpenRouter 于 2026 年 6 月推出了专用 Image API(/api/v1/images):当时已有的图像模型仍可通过 chat completions 使用(此处列出的模型均支持),但之后新增的模型可能只能通过 Image API 提供——如果较新的模型无法通过此脚本使用,很可能就是这个原因。

常见用法

# Generate (default model) to a chosen path
python scripts/generate_image.py "Abstract art" --output artwork.png

# Generate with a specific model
python scripts/generate_image.py "A cat in space" --model "black-forest-labs/flux.2-pro"

# Edit an existing image (edit mode is triggered by --input)
python scripts/generate_image.py "Add sunglasses to the person" --input portrait.png --output cleaned.png

如需生成多张图像,请为每个提示词分别运行一次脚本,并使用不同的 --output 路径(脚本每次只写入一个文件,并会覆盖默认文件 generated_image.png)。

脚本参数

  • prompt(必填):要生成的图像的文字描述,或编辑说明
  • --input 或 -i:用于编辑的输入图像路径(启用编辑模式)
  • --model 或 -m:OpenRouter 模型 ID(默认值:$ALTERLAB_IMAGE_MODEL,否则为 google/gemini-3.1-flash-image)
  • --output 或 -o:输出文件路径(默认值:generated_image.png)
  • --api-key:OpenRouter API 密钥(优先于 OPENROUTER_API_KEY 和 .env)

使用示例

# Conceptual figure for a paper (illustration, not a data plot)
python scripts/generate_image.py "Microscopic view of cancer cells being attacked by immunotherapy agents, clean scientific illustration style" --output figures/immunotherapy_concept.png

# Slide background / poster hero image
python scripts/generate_image.py "Abstract blue and white background with subtle molecular patterns, professional presentation style" --output slides/background.png
python scripts/generate_image.py "Modern, well-lit laboratory with current equipment, photorealistic" --output poster/hero.png

备注与提示

  • 输出始终为一张 PNG 图片。图片会以 base64 编码(作为数据 URL 或内容部分)返回,并解码后写入 --output;脚本会处理不同 OpenRouter 模型使用的 images 和 content 两种响应格式。
  • 支持用于编辑的输入格式:PNG、JPEG、GIF、WebP。输入会进行 base64 编码,并随编辑提示词一起发送。
  • 使用具体且指明元素的说明,编辑效果最佳——“将天空改成日落色调”比“编辑天空”更有效。
  • 生成通常需要约 5-30 秒,具体取决于模型。价格:https://openrouter.ai/models
  • 如果缺少 API 密钥、缺少 requests、发生网络错误、出现 API 错误(附带状态代码),或响应中没有图片,脚本会以非零状态退出并显示清晰的错误消息;请先阅读并修正问题,再重试。
  • 如果仅支持图像的模型(例如 FLUX.2)以 400/422 错误拒绝请求,脚本会重试一次,并要求仅输出图像。

评论

支持 Markdown