Lamuier

Seedream 图片生成 API 调用

用于调用火山引擎 Seedream 图片生成 API的skill

Lamuier 1 Updated 2mo ago
GitHub

Install

npx skillscat add lamuier/doubao-seedream-skill

Install via the SkillsCat registry.

SKILL.md

Seedream 图片生成 API 调用

此 skill 用于调用火山引擎 Seedream 图片生成 API,支持文生图、图生图、文生组图、图生组图等功能。

使用方式: 用户只需提供图片描述,我直接调用 API 生成图片并返回本地文件。

支持的模型

名称 Model ID 说明
5.0 (最新) doubao-seedream-5-0-260128 默认使用
4.5 doubao-seedream-4-5-251128
4.0 doubao-seedream-4-0-250828
3.0-t2i doubao-seedream-3-0-t2i-250415 仅文生图

直接调用

用户说"生成一张xxx图片"时,直接运行:

python .trae/skills/seedream-api/seedream_api.py "一只可爱的橘猫"

指定模型:

python .trae/skills/seedream-api/seedream_api.py "一只可爱的橘猫" -m 4.5

图片会自动下载到 output 目录。

或导入使用:

from seedream_api import generate_image

result = generate_image("一只可爱的橘猫坐在窗台上")
for path in result["local_paths"]:
    print(path)  # 本地文件路径

API 端点

POST https://ark.cn-beijing.volces.com/api/v3/images/generations

鉴权方式

使用 API Key 进行鉴权,需要在请求头中添加:

Authorization: Bearer <your-api-key>
Content-Type: application/json

请求参数

必选参数

  • model (string): 模型名称

    • doubao-seedream-5.0-lite: Seedream 5.0 lite 模型
    • doubao-seedream-4.5: Seedream 4.5
    • doubao-seedream-4.0: Seedream 4.0
    • doubao-seedream-3.0-t2i: Seedream 3.0 文生图
    • doubao-seededit-3.0-i2i: Seedream 3.0 图生图
  • prompt (string): 文本提示词

    • 建议不超过 300 个汉字或 600 个英文单词
    • 字数过多可能导致模型忽略细节

可选参数

  • image (string/array): 输入图片信息

    • 支持 URL 或 Base64 编码
    • Base64 格式:data:image/<格式>;base64,<编码>
    • 支持格式:jpeg、png、webp、bmp、tiff、gif
    • 图片大小:不超过 10MB
    • 总像素:不超过 6000x6000 = 36000000 px
    • 宽高比范围:[1/16, 16]
    • doubao-seedream-5.0-lite/4.5/4.0 最多支持 14 张参考图
    • doubao-seededit-3.0-i2i 仅支持单图输入
    • doubao-seedream-3.0-t2i 不支持此参数
  • size (string): 生成图像的尺寸

    • 方式 1:指定分辨率(2K、4K)
    • 方式 2:指定宽高像素值(如 "2048x2048")
    • 总像素范围:[3686400, 16777216]
    • 宽高比范围:[1/16, 16]
    • 默认值:2048x2048

    推荐尺寸:

    • 2K 1:1: 2048x2048
    • 2K 16:9: 2848x1600
    • 2K 9:16: 1600x2848
    • 4K 1:1: 4096x4096
    • 4K 16:9: 5504x3040
    • 4K 9:16: 3040x5504
  • sequential_image_generation (string): 是否生成组图

    • auto: 生成组图
    • disabled: 生成单图(默认)
  • num_inference_steps (integer): 推理步数

    • 范围:1-50
    • 默认值:50
  • guidance_scale (number): 引导系数

    • 范围:1-20
    • 默认值:7.5
  • seed (integer): 随机种子

    • 用于生成可复现的图片
  • negative_prompt (string): 负向提示词

    • 描述不希望在图片中出现的内容

使用场景

1. 文生图(生成单张图片)

{
  "model": "doubao-seedream-5.0-lite",
  "prompt": "一只可爱的橘猫坐在窗台上,阳光洒在它的毛发上",
  "size": "2048x2048"
}

2. 文生组图(生成多张关联图片)

{
  "model": "doubao-seedream-5.0-lite",
  "prompt": "一个温馨的咖啡店场景,包含吧台、座位区和装饰细节",
  "sequential_image_generation": "auto",
  "size": "2048x2048"
}

3. 单图生图

{
  "model": "doubao-seedream-5.0-lite",
  "prompt": "将这张图片改为动漫风格",
  "image": "https://example.com/image.jpg",
  "size": "2048x2048"
}

4. 多图生图(图片融合)

{
  "model": "doubao-seedream-5.0-lite",
  "prompt": "融合这两张图片的风格,创作一幅新作品",
  "image": [
    "https://example.com/image1.jpg",
    "https://example.com/image2.jpg"
  ],
  "size": "2048x2048"
}

5. 单图生组图

{
  "model": "doubao-seedream-5.0-lite",
  "prompt": "根据这张图片,生成一系列不同角度的视图",
  "image": "https://example.com/image.jpg",
  "sequential_image_generation": "auto",
  "size": "2048x2048"
}

6. 多图生组图

{
  "model": "doubao-seedream-5.0-lite",
  "prompt": "基于这些参考图片,创作一个连贯的故事场景",
  "image": [
    "https://example.com/image1.jpg",
    "https://example.com/image2.jpg",
    "https://example.com/image3.jpg"
  ],
  "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
  }
}

注意事项

  1. API Key 安全:不要在代码中硬编码 API Key,建议使用环境变量
  2. 图片 URL 可访问性:确保提供的图片 URL 可以被公开访问
  3. 提示词优化:简洁明确的提示词效果更好
  4. 尺寸限制:注意总像素和宽高比的双重限制
  5. 图片数量限制:最多支持 14 张参考图
  6. 格式要求:Base64 编码时注意格式正确,图片格式需小写

Python 调用示例

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-lite",
    "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

当用户需要以下功能时,使用此 skill:

  • 生成图片(文生图)
  • 根据参考图片生成新图片(图生图)
  • 生成多张关联的图片(组图)
  • 融合多张图片
  • 使用 Seedream 5.0 lite 或相关模型进行图片生成

在调用前,确保:

  1. 已获取火山引擎 API Key
  2. 已开通 Seedream 5.0 lite 模型服务
  3. 了解所需的使用场景和参数配置