🧪 Skills
image-generator-custom
调用第三方图像生成API生成图片;当用户需要通过自定义服务商API生成图像时使用
v0.0.2
Description
name: image-generator-custom description: 调用第三方图像生成API生成图片;当用户需要通过自定义服务商API生成图像时使用 dependency: python: - Pillow>=10.0.0
图像生成器
任务目标
- 本 Skill 用于:通过调用第三方图像生成 API 生成图片
- 能力包含:支持 OpenAI 兼容格式 API、自定义服务商配置、参数化图像生成
- 触发条件:用户需要使用特定服务商的 API 生成图像
前置准备
-
消费者变量配置: 在使用前,必须配置以下消费者变量(环境变量):
export IMAGE_API_URL="https://your-api-provider.com/v1/images/generations" export IMAGE_API_KEY="your-api-key-here" export IMAGE_MODEL_ID="your-model-id"说明:
IMAGE_API_URL: 图像生成 API 的完整 URL(需遵循 OpenAI 图像生成接口格式)IMAGE_API_KEY: API 认证密钥IMAGE_MODEL_ID: 模型 ID(可选,如果未设置则需要通过 --model 参数提供)
-
依赖说明:
Pillow>=10.0.0 coze_workload_identity # 系统预装,包含 requests 库
操作步骤
-
标准流程:
- 配置消费者变量:设置
IMAGE_API_URL、IMAGE_API_KEY和IMAGE_MODEL_ID - 构建提示词:准备描述图像的提示词
- 调用脚本:执行
python scripts/image_generator.py传递参数 - 查看结果:检查生成的图片文件
- 配置消费者变量:设置
-
调用方式(使用环境变量中的模型ID):
python scripts/image_generator.py \ --prompt "一只可爱的猫咪" \ --size "1024x1024" \ --n 1 -
调用方式(覆盖模型ID):
python scripts/image_generator.py \ --prompt "一只可爱的猫咪" \ --model "override-model-id" \ --size "1024x1024" \ --n 1
资源索引
- 必要脚本:见 scripts/image_generator.py(调用第三方图像生成 API)
参数说明
必需参数
--prompt: 提示词,描述要生成的图像内容
可选参数
--model: 模型名称(默认:使用消费者变量IMAGE_MODEL_ID,如果消费者变量未设置则由 API 服务商决定)--size: 图片尺寸(默认:1024x1024,常见值:256x256, 512x512, 1024x1024, 1792x1024)--n: 生成数量(默认:1,范围:1-10)--quality: 图像质量(默认:standard,可选值:standard, hd)--output: 输出文件名前缀(默认:auto-generated)
API 兼容性说明
本脚本假设第三方 API 遵循 OpenAI 图像生成接口格式:
请求格式
- 方法: POST
- Headers:
- Content-Type: application/json
- Authorization: Bearer {API_KEY}
- 请求体:
{ "model": "model-name", "prompt": "image description", "n": 1, "size": "1024x1024", "quality": "standard" }
响应格式
- 成功响应:
或{ "data": [ { "b64_json": "base64-encoded-image-data" } ] }{ "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:基础用法
python scripts/image_generator.py \
--prompt "一只穿着宇航服的猫在月球上"
示例2:使用消费者变量中的模型ID
python scripts/image_generator.py \
--prompt "赛博朋克风格的未来城市" \
--size "1024x1024"
示例3:覆盖模型ID
python scripts/image_generator.py \
--prompt "赛博朋克风格的未来城市" \
--model "dall-e-3" \
--size "1024x1024"
示例4:生成多张图片
python scripts/image_generator.py \
--prompt "各种风格的山水画" \
--size "1024x1024" \
--n 4
示例5:高质量生成
python scripts/image_generator.py \
--prompt "梦幻森林中的精灵城堡" \
--size "1792x1024" \
--quality "hd" \
--n 1
示例6:自定义输出文件名
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_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_API_URL 和 IMAGE_API_KEY。IMAGE_MODEL_ID 是可选的,如果未设置可以通过 --model 参数提供
Q: 支持非 OpenAI 格式的 API 吗?
A: 目前仅支持 OpenAI 兼容格式的 API。如果需要支持其他格式,需要修改脚本
错误处理
脚本在以下情况会报错:
- 消费者变量 IMAGE_API_URL 未设置
- 消费者变量 IMAGE_API_KEY 未设置
- API 调用失败(网络错误、认证失败等)
- API 返回格式不符合预期
- 无法下载图片(当 API 返回 URL 时)
- 无法保存图片到文件
遇到错误时,请检查:
- 消费者变量是否正确配置
- API_URL 和 API_KEY 是否有效
- API 服务商是否正常运行
- 参数是否符合服务商要求
Reviews (0)
Sign in to write a review.
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!