用途
Image-Gen 是一个生产级 AI 图像生成技能,集成 DALL-E 3/2,用于根据文本提示词生成图像。适合需要程序化生成图片、批量产出变体、为演示或设计制作视觉内容的场景。
主要能力
- 模型支持:DALL-E 3(质量优秀,$0.04/张起)与 DALL-E 2(速度更快,$0.02/张起)。
- 尺寸选项:DALL-E 3 支持 1024x1024、1024x1792、1792x1024;DALL-E 2 支持 256x256、512x512、1024x1024。
- 质量设置:standard(默认,较快)与 hd(较慢,细节更好)。
- 视觉风格:vivid(默认,更戏剧化)与 natural(更写实)。
- 自定义风格预设:photographic、digital_art、oil_painting、watercolor、isometric、pixel_art、cinematic、neon、sketch,每个预设包含前缀与后缀模板。
- 批量生成:通过 --n 参数生成多张变体(最多 10 张),并自动生成 HTML 画廊(缩略图网格、点击预览、元数据、深色主题)。
- 速率限制:默认每分钟 5 次请求,每秒最少 1 次,请求间自动延迟。
- 成本追踪:自动计算并报告总成本、图片数量与会话时长。
- 错误处理:提供错误码表(0-10、99),涵盖无效提示词、API 密钥缺失、API 错误、速率限制、网络错误、超时、内容政策、需付费、无效尺寸/模型等。
- 提示词校验:长度需在 5-4000 字符之间,空提示词报错。
使用方式
前置条件:
- 获取 OpenAI API Key(https://platform.openai.com/api-keys)。
- 设置环境变量:export OPENAI_API_KEY="sk-your-api-key-here"。
- 验证 Node:node --version。
基本命令示例:
- 默认生成:{baseDir}/image-gen.js "A serene mountain landscape at sunset"
- 指定模型:{baseDir}/image-gen.js "Cyberpunk city" --model dall-e-3
- 生成多张:{baseDir}/image-gen.js "Abstract art" --n 4
- 指定输出目录:{baseDir}/image-gen.js "Ocean waves" --output-dir ./my-images
- 指定尺寸:{baseDir}/image-gen.js "Portrait of a person" --size 1024x1792
- 指定质量:{baseDir}/image-gen.js "A photo of a flower" --quality hd --size 1024x1792
- 指定风格:{baseDir}/image-gen.js "Fireworks display" --style vivid
- 自定义风格:{baseDir}/image-gen.js "Lion portrait" --custom-style photographic
批量处理脚本示例(读取 prompts.txt 逐行生成):
#!/bin/bash
while IFS= read -r prompt; do
[ -z "$prompt" ] && continue
[ "${prompt:0:1}" == "#" ] && continue
echo "Generating: $prompt"
{baseDir}/image-gen.js "$prompt" --output-dir ./batch-output --n 2
sleep 2
done < prompts.txt
适用场景
- 产品摄影:产品图、多角度展示。
- 概念艺术:角色设计、环境、情绪板。
- 营销素材:社交媒体图、应用图标、主视觉图。
- 创意项目:书籍封面、专辑封面、海报。
- 建筑可视化:外观与室内设计图。
- 批量生成用于测试。
限制
- 不适用于:编辑现有图片、创建矢量图、截图、生成动画、获取库存照片。
- 所有图片保存为 PNG(无损),文件名基于提示词 slug 与时间戳生成。
- 默认保存至 /tmp,可能被清理。
- OpenAI 可能为安全或质量修订提示词。
- 成本追踪基于 OpenAI 定价估算,可能变动。
- 超时上限 5 分钟,受速率限制为顺序处理。
- 相同提示词可能产生不同结果。
- 需拥有 DALL-E 模型访问权限,使用量受 OpenAI 层级与预算限制,严格遵循 OpenAI 使用政策。