Install
openclaw skills install doubao-seedream-skill调用火山引擎 Seedream 图片生成 API。当用户需要生成图片时使用此 skill。
openclaw skills install doubao-seedream-skill此 skill 用于调用火山引擎 Seedream 图片生成 API,支持文生图功能。
使用方式: 用户只需提供图片描述,我直接调用 API 生成图片并返回本地文件。
代码中使用简短别名调用,完整 Model ID 如下:
| 名称 | 别名 | Model ID | 说明 |
|---|---|---|---|
| 5.0 | 5.0 | doubao-seedream-5-0-260128 | 默认使用,支持文生图/图生图/联网搜索 |
| 4.5 | 4.5 | doubao-seedream-4-5-251128 | 支持文生图/图生图 |
| 4.0 | 4.0 | doubao-seedream-4-0-250828 | 支持文生图/图生图 |
| 3.0-t2i | 3.0-t2i | doubao-seedream-3-0-t2i-250415 | 仅文生图 |
| 3.0-i2i | 3.0-i2i | doubao-seededit-3-0-i2i-250415 | 仅图生图 |
用户说"生成一张xxx图片"时,直接运行:
python seedream_api.py "一只可爱的橘猫"
指定模型:
python seedream_api.py "一只可爱的橘猫" -m 4.5
图片会自动下载到 output 目录。
| 参数 | 说明 |
|---|---|
prompt | 图片描述(位置参数) |
-m, --model | 模型版本 |
-s, --size | 图片尺寸,默认 2048x2048 |
-o, --output-dir | 输出目录,默认 output |
--steps | 推理步数 1-50,默认 50 |
--guidance | 引导系数 1-20,默认 7.5 |
--seed | 随机种子(可复现结果) |
--negative | 负向提示词 |
-i, --image | 单张参考图片路径或URL(图生图) |
--images | 多张参考图片路径或URL(多图生图/组图) |
--group | 启用组图模式 |
--tools | 工具列表,如 web_search(启用联网搜索) |
或导入使用:
from seedream_api import generate_image
result = generate_image("一只可爱的橘猫坐在窗台上")
for path in result["local_paths"]:
print(path) # 本地文件路径
POST https://ark.cn-beijing.volces.com/api/v3/images/generations
使用 API Key 进行鉴权,需要在请求头中添加:
Authorization: Bearer <your-api-key>
Content-Type: application/json
model (string): 模型名称
5.0、4.5、4.0、3.0-t2iprompt (string): 文本提示词
size (string): 生成图像的尺寸
推荐尺寸:
num_inference_steps (integer): 推理步数
guidance_scale (number): 引导系数
seed (integer): 随机种子
negative_prompt (string): 负向提示词
image (string/array): 参考图片信息
data:image/<格式>;base64,<编码>,格式需小写sequential_image_generation (string): 组图模式
auto:启用组图模式,生成一组内容关联的图片disabled:禁用组图模式,生成单张图片(默认)tools (array): 工具列表
web_search(联网搜索)[{"type": "web_search"}]5.0 模型(doubao-seedream-5-0-260128){
"model": "doubao-seedream-5-0-260128",
"prompt": "一只可爱的橘猫坐在窗台上,阳光洒在它的毛发上",
"size": "2048x2048"
}
{
"model": "doubao-seedream-5-0-260128",
"prompt": "将图片转换成卡通风格",
"image": "data:image/jpeg;base64,/9j/4AAQSkZJRg...",
"size": "2048x2048"
}
{
"model": "doubao-seedream-5-0-260128",
"prompt": "结合这两张图片的风格",
"image": [
"data:image/jpeg;base64,/9j/4AAQSkZJRg...",
"data:image/jpeg;base64,/9j/4AAQSkZJRg..."
],
"size": "2048x2048"
}
{
"model": "doubao-seedream-5-0-260128",
"prompt": "一组不同姿势的橘猫",
"sequential_image_generation": "auto",
"size": "2048x2048"
}
{
"model": "doubao-seedream-5-0-260128",
"prompt": "基于参考图片生成一组相关图片",
"image": [
"data:image/jpeg;base64,/9j/4AAQSkZJRg...",
"data:image/jpeg;base64,/9j/4AAQSkZJRg..."
],
"sequential_image_generation": "auto",
"size": "2048x2048"
}
成功响应:
{
"created": 1710000000,
"data": [
{
"url": "https://example.com/generated_image1.jpg"
},
{
"url": "https://example.com/generated_image2.jpg"
}
]
}
错误响应:
{
"error": {
"message": "错误信息",
"type": "错误类型",
"param": null,
"code": null
}
}
import requests
import os
API_KEY = os.getenv("VOLCENGINE_API_KEY")
API_URL = "https://ark.cn-beijing.volces.com/api/v3/images/generations"
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
data = {
"model": "doubao-seedream-5-0-260128",
"prompt": "一只可爱的橘猫坐在窗台上,阳光洒在它的毛发上",
"size": "2048x2048"
}
response = requests.post(API_URL, headers=headers, json=data)
result = response.json()
if "data" in result:
for image in result["data"]:
print(f"生成的图片 URL: {image['url']}")
else:
print(f"错误: {result.get('error', {}).get('message', '未知错误')}")
当用户需要以下功能时,使用此 skill:
from seedream_api import generate_image
result = generate_image("一只可爱的橘猫坐在窗台上")
for path in result["local_paths"]:
print(path) # 本地文件路径
from seedream_api import generate_image
result = generate_image(
prompt="将图片转换成卡通风格",
image="path/to/input.jpg"
)
for path in result["local_paths"]:
print(path)
from seedream_api import generate_image
result = generate_image(
prompt="将图片转换成卡通风格",
image="https://example.com/image.jpg"
)
from seedream_api import generate_image
result = generate_image(
prompt="结合这两张图片的风格",
image=["path/to/image1.jpg", "path/to/image2.jpg"]
)
from seedream_api import generate_image
result = generate_image(
prompt="一组不同姿势的橘猫",
sequential_image_generation="auto"
)
for path in result["local_paths"]:
print(path)
from seedream_api import generate_image
result = generate_image(
prompt="埃隆·马斯克最新的SpaceX火箭发射场景",
tools=[{"type": "web_search"}]
)
for path in result["local_paths"]:
print(path)
在调用前,确保:
1. 已获取火山引擎 API Key (环境变量: VOLCENGINE_API_KEY)
2. 已开通 Seedream 模型服务
3. 了解所需的使用场景和参数配置