← ClaudeAtlas

llm-image-generationlisted

当需要通过 OpenAI-compatible LLM 网关生成图片时使用,尤其是使用 LLM_API_KEY 和 LLM_BASE_URL 调用 gpt-image-2、gpt-image-1、dall-e-3 等图像模型;覆盖环境变量检查、缺失配置提示、模型选择、/images/generations 请求、长等待时间处理、base64/URL 返回保存和排错。
black-yt/skills · ★ 2 · AI & Automation · score 63
Install: claude install-skill black-yt/skills
# LLM Image Generation ## 使用原则 - 优先从环境变量读取 `LLM_API_KEY` 和 `LLM_BASE_URL`,不要把 key 写进代码、日志、README 或命令输出。 - 如果环境变量缺失,先要求用户配置环境变量,不要猜测 key 或 base URL。 - 图像生成比普通 chat completion 慢很多。请求发出后 60-180 秒没有输出是常见情况;默认等待至少 180 秒,推荐超时设置为 300 秒。不要因为 30-60 秒无输出就判断失败。 - 输出图片保存到用户指定路径或当前项目的明确输出目录。仅测试时可以临时写入 `/tmp`,但验证后必须删除。 - 只在用户明确要求真实生成图片时调用接口;普通写作、提示词设计或代码生成不需要真的发图像请求。 ## 环境变量 必需: ```bash export LLM_API_KEY="sk-..." export LLM_BASE_URL="http://host:port/v1" ``` 可选: ```bash export LLM_IMAGE_MODEL="gpt-image-2" ``` 检查当前环境: ```bash python3 - <<'PY' import os print("LLM_API_KEY:", "<set>" if os.environ.get("LLM_API_KEY") else "<unset>") print("LLM_BASE_URL:", os.environ.get("LLM_BASE_URL", "<unset>")) print("LLM_IMAGE_MODEL:", os.environ.get("LLM_IMAGE_MODEL", "<unset>")) PY ``` 如果 `LLM_API_KEY` 或 `LLM_BASE_URL` 是 `<unset>`,回复用户: ```text 当前环境缺少 LLM_API_KEY 或 LLM_BASE_URL。请先在 shell 中配置: export LLM_API_KEY="sk-..." export LLM_BASE_URL="http://host:port/v1" 如果有指定图像模型,也可以配置: export LLM_IMAGE_MODEL="gpt-image-2" ``` ## 模型选择 先查询模型列表,再选择模型: ```bash python3 - <<'PY' import os, json, urllib.request base = os.environ["LLM_BASE_URL"].rstrip("/") key = os.environ["LLM_API_KEY"] req = urllib.request.Request( base + "/models", headers={"Authorization": f"Bearer {key}"}, ) with urllib.request.urlopen(req, timeout=60) as r: data = json.load(r) models = [m.get("id", "") for m in data.get("data", [])] for m in models: ml = m.lower() if "image" in ml or "dall" in ml: