图像生成器
任务目标
- - 本 Skill 用于:通过调用第三方图像生成 API 生成图片
- 能力包含:支持 OpenAI 兼容格式 API、自定义服务商配置、参数化图像生成
- 触发条件:用户需要使用特定服务商的 API 生成图像
前置准备
在使用前,必须配置以下消费者变量(环境变量):
CODEBLOCK0
说明:
- IMAGE_API_URL: 图像生成 API 的完整 URL(需遵循 OpenAI 图像生成接口格式)
- IMAGE_API_KEY: API 认证密钥
- IMAGE_MODEL_ID: 模型 ID(可选,如果未设置则需要通过 --model 参数提供)
CODEBLOCK1
操作步骤
1.
配置消费者变量:设置
IMAGE_API_URL、
IMAGE_API_KEY 和
IMAGE_MODEL_ID
2.
构建提示词:准备描述图像的提示词
3.
调用脚本:执行
python scripts/image_generator.py 传递参数
4.
查看结果:检查生成的图片文件
CODEBLOCK2
CODEBLOCK3
资源索引
参数说明
必需参数
- -
--prompt: 提示词,描述要生成的图像内容
可选参数
- -
--model: 模型名称(默认:使用消费者变量 IMAGE_MODEL_ID,如果消费者变量未设置则由 API 服务商决定) - INLINECODE10 : 图片尺寸(默认:1024x1024,常见值:256x256, 512x512, 1024x1024, 1792x1024)
- INLINECODE11 : 生成数量(默认:1,范围:1-10)
- INLINECODE12 : 图像质量(默认:standard,可选值:standard, hd)
- INLINECODE13 : 输出文件名前缀(默认:auto-generated)
API 兼容性说明
本脚本假设第三方 API 遵循 OpenAI 图像生成接口格式:
请求格式
- Content-Type: application/json
- Authorization: Bearer {API_KEY}
CODEBLOCK4
响应格式
{
"data": [
{
"b64_json": "base64-encoded-image-data"
}
]
}
或
CODEBLOCK6
支持的服务商示例
- - OpenAI DALL-E: INLINECODE14
- Azure OpenAI: INLINECODE15
- 其他兼容 OpenAI 格式的 API 服务商
注意事项
- - 使用前必须正确配置消费者变量,否则脚本会报错
- 确保 API 服务商支持 OpenAI 图像生成接口格式
- 不同服务商支持的模型和参数可能不同,请参考服务商文档
- 生成的图片默认保存在当前目录下
- 如果 API 返回 URL 格式,脚本会自动下载并保存为 PNG 文件
使用示例
示例1:基础用法
CODEBLOCK7
示例2:使用消费者变量中的模型ID
CODEBLOCK8
示例3:覆盖模型ID
CODEBLOCK9
示例4:生成多张图片
CODEBLOCK10
示例5:高质量生成
CODEBLOCK11
示例6:自定义输出文件名
CODEBLOCK12
常见问题
Q: 如何知道我的 API_URL 是什么?
A: 请咨询你的 API 服务商,确认图像生成接口的完整 URL。OpenAI DALL-E 的 URL 是 INLINECODE16
Q: 支持哪些模型?
A: 模型名称取决于你的 API 服务商。你可以通过消费者变量
IMAGE_MODEL_ID 设置默认模型,或通过
--model 参数指定。常见的有:dall-e-2、dall-e-3、stable-diffusion 等
Q: 如何获取 API_KEY?
A: 请访问你的 API 服务商的控制台,在 API Keys 或类似的页面创建新的密钥
Q: 脚本支持哪些图片尺寸?
A: 支持的尺寸取决于你的 API 服务商。常见的有:256x256、512x512、1024x1024、1792x1024 等
Q: 为什么脚本报错"缺少环境变量"?
A: 请确保已正确配置消费者变量 IMAGE
APIURL 和 IMAGE
APIKEY。IMAGE
MODELID 是可选的,如果未设置可以通过 --model 参数提供
Q: 支持非 OpenAI 格式的 API 吗?
A: 目前仅支持 OpenAI 兼容格式的 API。如果需要支持其他格式,需要修改脚本
错误处理
脚本在以下情况会报错:
- - 消费者变量 IMAGEAPIURL 未设置
- 消费者变量 IMAGEAPIKEY 未设置
- API 调用失败(网络错误、认证失败等)
- API 返回格式不符合预期
- 无法下载图片(当 API 返回 URL 时)
- 无法保存图片到文件
遇到错误时,请检查:
- 1. 消费者变量是否正确配置
- APIURL 和 APIKEY 是否有效
- API 服务商是否正常运行
- 参数是否符合服务商要求
图像生成器
任务目标
- - 本技能用于:通过调用第三方图像生成API生成图片
- 能力包含:支持OpenAI兼容格式API、自定义服务商配置、参数化图像生成
- 触发条件:用户需要使用特定服务商的API生成图像
前置准备
在使用前,必须配置以下消费者变量(环境变量):
bash
export IMAGE
APIURL=https://your-api-provider.com/v1/images/generations
export IMAGE
APIKEY=your-api-key-here
export IMAGE
MODELID=your-model-id
说明:
- IMAGEAPIURL:图像生成API的完整URL(需遵循OpenAI图像生成接口格式)
- IMAGEAPIKEY:API认证密钥
- IMAGEMODELID:模型ID(可选,如果未设置则需要通过--model参数提供)
Pillow>=10.0.0
cozeworkloadidentity # 系统预装,包含requests库
操作步骤
1.
配置消费者变量:设置IMAGE
APIURL、IMAGE
APIKEY和IMAGE
MODELID
2.
构建提示词:准备描述图像的提示词
3.
调用脚本:执行python scripts/image_generator.py传递参数
4.
查看结果:检查生成的图片文件
bash
python scripts/image_generator.py \
--prompt 一只可爱的猫咪 \
--size 1024x1024 \
--n 1
bash
python scripts/image_generator.py \
--prompt 一只可爱的猫咪 \
--model override-model-id \
--size 1024x1024 \
--n 1
资源索引
参数说明
必需参数
- - --prompt:提示词,描述要生成的图像内容
可选参数
- - --model:模型名称(默认:使用消费者变量IMAGEMODELID,如果消费者变量未设置则由API服务商决定)
- --size:图片尺寸(默认:1024x1024,常见值:256x256, 512x512, 1024x1024, 1792x1024)
- --n:生成数量(默认:1,范围:1-10)
- --quality:图像质量(默认:standard,可选值:standard, hd)
- --output:输出文件名前缀(默认:auto-generated)
API兼容性说明
本脚本假设第三方API遵循OpenAI图像生成接口格式:
请求格式
- Content-Type: application/json
- Authorization: Bearer {API_KEY}
json
{
model: model-name,
prompt: image description,
n: 1,
size: 1024x1024,
quality: standard
}
响应格式
json
{
data: [
{
b64_json: base64-encoded-image-data
}
]
}
或
json
{
data: [
{
url: https://example.com/image.png
}
]
}
支持的服务商示例
- - OpenAI DALL-E:https://api.openai.com/v1/images/generations
- Azure OpenAI:https://your-resource.openai.azure.com/openai/deployments/your-deployment/images/generations?api-version=2023-06-01-preview
- 其他兼容OpenAI格式的API服务商
注意事项
- - 使用前必须正确配置消费者变量,否则脚本会报错
- 确保API服务商支持OpenAI图像生成接口格式
- 不同服务商支持的模型和参数可能不同,请参考服务商文档
- 生成的图片默认保存在当前目录下
- 如果API返回URL格式,脚本会自动下载并保存为PNG文件
使用示例
示例1:基础用法
bash
python scripts/image_generator.py \
--prompt 一只穿着宇航服的猫在月球上
示例2:使用消费者变量中的模型ID
bash
python scripts/image_generator.py \
--prompt 赛博朋克风格的未来城市 \
--size 1024x1024
示例3:覆盖模型ID
bash
python scripts/image_generator.py \
--prompt 赛博朋克风格的未来城市 \
--model dall-e-3 \
--size 1024x1024
示例4:生成多张图片
bash
python scripts/image_generator.py \
--prompt 各种风格的山水画 \
--size 1024x1024 \
--n 4
示例5:高质量生成
bash
python scripts/image_generator.py \
--prompt 梦幻森林中的精灵城堡 \
--size 1792x1024 \
--quality hd \
--n 1
示例6:自定义输出文件名
bash
python scripts/image_generator.py \
--prompt 写实风格的人像 \
--output portrait
常见问题
Q:如何知道我的API_URL是什么?
A:请咨询你的API服务商,确认图像生成接口的完整URL。OpenAI DALL-E的URL是https://api.openai.com/v1/images/generations
Q:支持哪些模型?
A:模型名称取决于你的API服务商。你可以通过消费者变量IMAGE
MODELID设置默认模型,或通过--model参数指定。常见的有:dall-e-2、dall-e-3、stable-diffusion等
Q:如何获取API_KEY?
A:请访问你的API服务商的控制台,在API Keys或类似的页面创建新的密钥
Q:脚本支持哪些图片尺寸?
A:支持的尺寸取决于你的API服务商。常见的有:256x256、512x512、1024x1024、1792x1024等
Q:为什么脚本报错缺少环境变量?
A:请确保已正确配置消费者变量IMAGE
APIURL和IMAGE
APIKEY。IMAGE
MODELID是可选的,如果未设置可以通过--model参数提供
Q:支持非OpenAI格式的API吗?
A:目前仅支持OpenAI兼容格式的API。如果需要支持其他格式,需要修改脚本
错误处理
脚本在以下情况会报错:
- - 消费者变量IMAGEAPIURL未设置
- 消费者变量IMAGEAPIKEY未设置
- API调用失败(网络错误、认证失败等)
- API返回格式不符合预期
- 无法下载图片(当API返回URL时)
- 无法保存图片到文件
遇到错误时,请检查:
- 1. 消费者变量是否正确配置
- APIURL和APIKEY是否有效
- API服务商是否正常运行
- 参数是否符合服务商要求