gpt-image-2 生图技能:自动发现 OpenAI 兼容 API,验证模型支持,调用生图接口并保存本地文件。
gpt-image-2 生图技能是一项面向实际任务的技能,主要用于当你需要:;在对话中直接生成图片;
作为任何 AI Agent 的通用生图模块;不在技能文档中保存真实密钥;不提供跳过 SSL 证书验证的示例;优先使用环境变量注入 API Key;如果接口不可用,先检查网络、证书、额度与配置,再重试。
它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
当你需要:
/v1/models 与 /v1/images/generations 时必须使用同一个 base URL 和同一组凭证/v1/models,再查 /v1/images/generations,不要混用不同 endpoint 的配置b64_jsondata[0].b64_json,需要本地解码保存2048x1024,回退到 1024x1024OPENAI_BASE_URL、OPENAI_API_KEY、CLAWTO_BASE_URL、CLAWTO_API_KEYconfig.yaml,也应支持从其配置文件读取同名字段或等价字段,例如:model.base_url、model.api_key、auxiliary.vision.base_url、auxiliary.vision.api_key优先按以下顺序发现配置:
环境变量:
OPENAI_BASE_URLOPENAI_API_KEYCLAWTO_BASE_URLCLAWTO_API_KEY宿主配置文件 config.yaml:
model.base_urlmodel.api_keyauxiliary.vision.base_urlauxiliary.vision.api_key只要能映射成 base_url + api_key,即可用于验证与生成。
示例:
python3 - <<'PY'
import os
candidates = [
('OPENAI_BASE_URL', 'OPENAI_API_KEY'),
('CLAWTO_BASE_URL', 'CLAWTO_API_KEY'),
]
for base_var, key_var in candidates:
base = os.getenv(base_var)
key = os.getenv(key_var)
if base and key:
print(f'{base_var}={base}')
print(f'{key_var}=SET')
break
else:
print('no_api_found')
PY
如果环境变量不可用,则读取宿主 config.yaml,把里面的 base_url 和 api_key 作为 API 发现结果。
对发现的 API 调用 /v1/models:
python3 - <<'PY'
import os, json, urllib.request, ssl
base = os.environ['API_BASE_URL'].rstrip('/')
key = os.environ['API_KEY']
url = f'{base}/models'
req = urllib.request.Request(url, headers={'Authorization': f'Bearer {key}'})
ctx = ssl.create_default_context()
with urllib.request.urlopen(req, context=ctx, timeout=30) as r:
data = json.loads(r.read().decode('utf-8', 'ignore'))
models = [m.get('id') for m in data.get('data', [])]
print('has_gpt_image_2=', 'gpt-image-2' in models)
print(models)
PY
如果列表里包含 gpt-image-2,再继续下一步。
python3 - <<'PY'
import os, json, urllib.request, ssl
base = os.environ['API_BASE_URL'].rstrip('/')
key = os.environ['API_KEY']
api = f'{base}/images/generations'
payload = json.dumps({
'model': 'gpt-image-2',
'prompt': 'a stylish female livestream host in a professional streaming studio, smiling, modern lighting, realistic, safe and tasteful, no suggestive pose',
'size': '1024x1024'
}).encode()
req = urllib.request.Request(api, data=payload, headers={
'Authorization': f'Bearer {key}',
'Content-Type': 'application/json'
})
ctx = ssl.create_default_context()
with urllib.request.urlopen(req, context=ctx, timeout=180) as r:
print(r.status)
print(r.read().decode('utf-8', 'ignore'))
PY
如果网关支持,可以尝试:
size=2048x1024如果返回 400 或尺寸不支持,先回退到 1024x1024。
如果返回里包含 data[0].b64_json,解码保存:
python3 - <<'PY'
import json, base64, pathlib
body = json.loads(open('response.json').read())
out = pathlib.Path('gpt_image_2.png')
out.write_bytes(base64.b64decode(body['data'][0]['b64_json']))
print(out)
PY
/v1/models with the same base URL and same credentials before attempting image generation./v1/images/generations is the only valid entrypoint; some gateways expose gpt-image-2 in /v1/models but use a different generation path or an OpenAI Responses-based flow.references/clawto-api-notes.md — gateway discovery and endpoint behavior observed in this session.优先检查系统证书链、代理和网络环境,不要通过跳过证书校验规避。
gpt-image-2 可能生成较慢,建议把超时提高到 180 秒或更长,并允许重试。
该链路可能返回 b64_json,先检查 JSON 里的 data[0]。
如果出现 insufficient balance,说明不是接口问题,而是账户额度问题。
优先检查环境变量是否真正注入,base URL 和 API Key 是否来自同一套配置。
优先确认 /v1/models 和 /v1/images/generations 使用的是同一 gateway;不要把一个网关的模型列表和另一个网关的生图端点混用。
a stylish female livestream host in a professional streaming studio, smiling, modern lighting, realistic, safe and tasteful, no suggestive pose可按场景替换为:
/v1/models 返回 200gpt-image-2 存在于模型列表中/v1/images/generations 返回 200data[0].b64_json/v1/models with the same base URL and same credentials before attempting image generation./v1/images/generations is the only valid entrypoint; some gateways expose gpt-image-2 in /v1/models but use a different generation path or an OpenAI Responses-based flow.references/clawto-api-notes.md — gateway discovery and endpoint behavior observed in this session.相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134万人学习
共49课时 | 82.5万人学习
最新文章