# Python / Node Images 示例

本示例核对了官方 SDK 的生成、编辑、保存方式。尚未在 apizt 对本脚本进行付费调用；不同渠道参数需先核对。默认只检查本地输入，不请求 API。

Python 3.10+；2026-10-07 核对版本 openai 3.26.0。

```sh
python3 -m venv .venv
. .venv/bin/activate
python -m pip install openai==3.26.0
python image-task.py --prompt-file prompt.txt
python -m pip show openai
```

Node 22 / 24 LTS；2026-10-07 核对版本 openai 7.30.0。

```sh
npm init -y
npm install --save-exact openai@7.30.0
node image-task.mjs --prompt-file prompt.txt
npm list openai
```

完成 dry-run 后，检查模型广场中当前令牌可用型号、/v1/images 协议、尺寸、output_format 与实际计费规则。将自己的密钥放入本机 tokenba_API_KEY 环境变量，再主动执行：

```sh
python image-task.py --prompt-file prompt.txt --run
node image-task.mjs --prompt-file prompt.txt --run
```

上述各为一次独立生成调用，不要同时执行。编辑时准备自己的原图和编辑提示词，使用一个 SDK：

```sh
python image-task.py --mode edit --image original.png --prompt-file edit-prompt.txt --output edited.png
python image-task.py --mode edit --image original.png --prompt-file edit-prompt.txt --output edited.png --run
```

Node 参数相同。generation 使用 JSON，edit 由 SDK 组装 multipart，不能把图片路径当作 JSON 字符串上传。

脚本在 dry-run 与调用前检查输出父目录已存在且可写，图片和 .json 均无冲突；目录或悬空符号链接也视为冲突。不会自动创建输出目录。输出文件使用新文件名并保持独占创建，避免覆盖。检查与保存之间若目录权限变化、磁盘写满等，仍可能保存失败，应核对原请求，不重新生成。

脚本禁用自动重试，超时不代表未生成或未扣费；查看控制台请求日志后再决定是否发起新的调用。返回 b64_json 才保存 PNG，实际宽高从返回文件读取。返回 URL 时停止，不自动下载或转发 Authorization。旁边的 .json 保存 request ID、usage、实际尺寸、SHA256，费用保持 unverified，需另外核对真实账单。脚本不打印 Key、完整响应或图片 Base64。

尺寸、透明背景、Mask、多参考图和模型可用性不能从 SDK 安装成功推断。本包没有批量执行器或自动失败重试；提示词工具 CSV 是输入清单，不能直接当 API 请求体。

官方来源：
- https://developers.openai.com/api/docs/libraries
- https://developers.openai.com/api/docs/guides/image-generation
- https://github.com/openai/openai-python
- https://github.com/openai/openai-node
