{"skill":{"slug":"img2-generate-only","displayName":"img2-generate-only","summary":"独立单图 IMG2 生图 Skill。必须显式提供接口地址和密钥，调用 OpenAI 兼容图片接口生成单张图片并本地落盘。","description":"---\nname: img2-generate-only\nversion: 3.0.0\ndescription: 独立单图 IMG2 生图 Skill。必须显式提供接口地址和密钥，调用 OpenAI 兼容图片接口生成单张图片并本地落盘。\nmetadata:\n  openclaw:\n    emoji: \"🖼️\"\nrequires:\n  bins:\n    - python3\n---\n\n# IMG2 Generate Only Skill\n\n## 定位\n\n这是一个**纯单图生图 Skill**。\n\n它只做一件事：\n\n```text\nprompt → 调用 IMG2 / gpt-image-2 → 本地落盘 → 返回结构化结果\n```\n\n它**不依赖任何历史本地配置**，也**不包含你们之前环境里的私有 provider 配置**。\n\n使用时必须由用户或工作流**显式提供入参**。\n\n它不负责：\n- 飞书发送\n- 云盘上传\n- 批量并发\n- 文章排版\n- 公众号推送\n\n---\n\n## 执行脚本\n\n```bash\npython3 /home/ye/.openclaw/workspace/scripts/img2_generate_only.py\n```\n\n---\n\n## 绝对必填参数\n\n下面这些参数必须由用户显式提供：\n\n### 1）`prompt`\n最终图片提示词。\n\n### 2）`base_url`\n图片接口基础地址。\n\n例如：\n\n```text\nhttps://your-api.example.com/v1\n```\n\n脚本会自动请求：\n\n```text\n{base_url}/images/generations\n```\n\n### 3）`api_key`\n接口密钥。\n\n例如：\n\n```text\nsk-xxxx\n```\n\n### 4）`model`\n图片模型名称。\n\n当前标准推荐：\n\n```text\ngpt-image-2\n```\n\n### 5）`size`\n图片尺寸。\n\n例如：\n\n```text\n1024x1024\n```\n\n### 6）`task_name`\n任务名，用于输出文件命名。\n\n### 7）`timeout_ms`\n单张图最长等待时间，单位毫秒。\n\n推荐：\n\n```text\n300000\n```\n\n---\n\n## 可选参数\n\n### 8）`output_dir`\n图片输出目录。\n\n默认：\n\n```text\n/tmp/generated-images\n```\n\n### 9）`response_format`\n返回格式。\n\n默认推荐：\n\n```text\nb64_json\n```\n\n### 10）`n`\n生成数量。\n\n当前这个 Skill 只支持单图，必须为：\n\n```text\n1\n```\n\n### 11）`return_base64`\n是否在结果中返回 base64。\n\n默认：\n\n```text\nfalse\n```\n\n一般不建议开启，返回 `image_path` 更稳。\n\n---\n\n## 标准输入 JSON\n\n```json\n{\n  \"prompt\": \"一只毛茸茸的橘猫坐在窗边，真实摄影风格，阳光柔和，无文字，无水印\",\n  \"base_url\": \"https://your-api.example.com/v1\",\n  \"api_key\": \"sk-xxxx\",\n  \"model\": \"gpt-image-2\",\n  \"size\": \"1024x1024\",\n  \"task_name\": \"orange-cat-window\",\n  \"timeout_ms\": 300000,\n  \"output_dir\": \"/tmp/generated-images\",\n  \"response_format\": \"b64_json\",\n  \"n\": 1,\n  \"return_base64\": false\n}\n```\n\n---\n\n## 命令行调用示例\n\n### JSON 方式\n\n```bash\npython3 /home/ye/.openclaw/workspace/scripts/img2_generate_only.py '{\n  \"prompt\": \"一只毛茸茸的橘猫坐在窗边，真实摄影风格，阳光柔和，无文字，无水印\",\n  \"base_url\": \"https://your-api.example.com/v1\",\n  \"api_key\": \"sk-xxxx\",\n  \"model\": \"gpt-image-2\",\n  \"size\": \"1024x1024\",\n  \"task_name\": \"orange-cat-window\",\n  \"timeout_ms\": 300000,\n  \"output_dir\": \"/tmp/generated-images\",\n  \"response_format\": \"b64_json\",\n  \"n\": 1,\n  \"return_base64\": false\n}'\n```\n\n### CLI 参数方式\n\n```bash\npython3 /home/ye/.openclaw/workspace/scripts/img2_generate_only.py \\\n  --prompt \"一只毛茸茸的橘猫坐在窗边，真实摄影风格，阳光柔和，无文字，无水印\" \\\n  --base_url \"https://your-api.example.com/v1\" \\\n  --api_key \"sk-xxxx\" \\\n  --model gpt-image-2 \\\n  --size 1024x1024 \\\n  --task_name orange-cat-window \\\n  --timeout_ms 300000 \\\n  --output_dir /tmp/generated-images\n```\n\n---\n\n## 成功输出\n\n```json\n{\n  \"ok\": true,\n  \"stage\": \"done\",\n  \"image_path\": \"/tmp/generated-images/orange-cat-window-20260508-094000.png\",\n  \"bytes\": 1544093,\n  \"base_url\": \"https://your-api.example.com/v1\",\n  \"model\": \"gpt-image-2\",\n  \"size\": \"1024x1024\"\n}\n```\n\n如果 `return_base64=true`，还会额外返回：\n\n```json\n{\n  \"b64\": \"...\"\n}\n```\n\n---\n\n## 失败输出\n\n失败时返回结构化 JSON：\n\n```json\n{\n  \"ok\": false,\n  \"stage\": \"request\",\n  \"http_status\": 502,\n  \"upstream_error_type\": \"upstream_error\",\n  \"upstream_error_message\": \"Upstream request failed\",\n  \"error\": \"脱敏后的错误信息\",\n  \"diagnosis\": {\n    \"category\": \"upstream_failure\",\n    \"human_reason\": \"图片模型上游服务失败或临时不可用；不是本地脚本问题。\",\n    \"retryable\": true\n  }\n}\n```\n\n---\n\n## 失败诊断字段\n\n工作流建议读取：\n\n- `ok`\n- `stage`\n- `http_status`\n- `upstream_error_type`\n- `upstream_error_message`\n- `diagnosis.category`\n- `diagnosis.human_reason`\n- `diagnosis.retryable`\n\n---\n\n## 这个 Skill 的边界\n\n这个 Skill 只负责**单张图生成**。\n\n如果用户需要：\n- 多张图批量生成\n- 受控并发\n- 队列监控\n- state.json / batch_result.json\n\n那应该使用单独的批量调度器，而不是把这些逻辑塞进这个单图 Skill 里。\n\n---\n\n## 一句话定义\n\n**这是一个纯独立单图 IMG2 生图节点：用户必须显式提供 `prompt + base_url + api_key + model + size + task_name + timeout_ms`，脚本返回本地图片路径和结构化状态。**\n","topics":["密钥","接口"],"tags":{"latest":"0.1.0"},"stats":{"comments":0,"downloads":337,"installsAllTime":12,"installsCurrent":0,"stars":0,"versions":1},"createdAt":1778231923894,"updatedAt":1778492876503},"latestVersion":{"version":"0.1.0","createdAt":1778231923894,"changelog":"- 全新 Skill，专注执行“单张图片生成”任务，需用户显式提供核心参数\n- 不依赖任何历史本地配置，无内建私有 provider 支持\n- 仅负责从 OpenAI 兼容图片接口生成一张图片并本地保存，返回结构化 JSON 结果\n- 不包含消息推送、上传、批量、排版等功能，仅完成图片生成\n- 参数、输出标准化，便于工作流集成与失败诊断","license":"MIT-0"},"metadata":{"setup":[],"os":null,"systems":null},"owner":{"handle":"jerryxn","userId":"s1787btb8bncxwcve2adq75g3583hsbf","displayName":"JerryXn","image":"https://avatars.githubusercontent.com/u/37356803?v=4"},"moderation":{"isSuspicious":false,"isMalwareBlocked":false,"verdict":"clean","reasonCodes":["review.llm_review"],"summary":"Review: review.llm_review","engineVersion":"v2.4.24","updatedAt":1780090761989}}