llm-image-generationlisted
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: