图像生成
Seedream 系列
字节跳动豆包图像生成 — 文生图 / 图像编辑 / 组图生成
POST
/
v1
/
tasks
Seedream 系列
curl --request POST \
--url https://www.qingbo.dev/v1/tasks \
--header 'Content-Type: application/json' \
--data '
{
"model": "<string>",
"action": "<string>",
"prompt": "<string>",
"n": 123,
"aspect_ratio": "<string>",
"resolution": "<string>",
"image_urls": [
"<string>"
],
"callback_url": "<string>",
"callback_events": [
"<string>"
],
"watermark": true,
"optimize_prompt_options": "<string>",
"sequential_image_generation": "<string>",
"sequential_image_generation_options": {}
}
'import requests
url = "https://www.qingbo.dev/v1/tasks"
payload = {
"model": "<string>",
"action": "<string>",
"prompt": "<string>",
"n": 123,
"aspect_ratio": "<string>",
"resolution": "<string>",
"image_urls": ["<string>"],
"callback_url": "<string>",
"callback_events": ["<string>"],
"watermark": True,
"optimize_prompt_options": "<string>",
"sequential_image_generation": "<string>",
"sequential_image_generation_options": {}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
model: '<string>',
action: '<string>',
prompt: '<string>',
n: 123,
aspect_ratio: '<string>',
resolution: '<string>',
image_urls: ['<string>'],
callback_url: '<string>',
callback_events: ['<string>'],
watermark: true,
optimize_prompt_options: '<string>',
sequential_image_generation: '<string>',
sequential_image_generation_options: {}
})
};
fetch('https://www.qingbo.dev/v1/tasks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://www.qingbo.dev/v1/tasks"
payload := strings.NewReader("{\n \"model\": \"<string>\",\n \"action\": \"<string>\",\n \"prompt\": \"<string>\",\n \"n\": 123,\n \"aspect_ratio\": \"<string>\",\n \"resolution\": \"<string>\",\n \"image_urls\": [\n \"<string>\"\n ],\n \"callback_url\": \"<string>\",\n \"callback_events\": [\n \"<string>\"\n ],\n \"watermark\": true,\n \"optimize_prompt_options\": \"<string>\",\n \"sequential_image_generation\": \"<string>\",\n \"sequential_image_generation_options\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://www.qingbo.dev/v1/tasks")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"<string>\",\n \"action\": \"<string>\",\n \"prompt\": \"<string>\",\n \"n\": 123,\n \"aspect_ratio\": \"<string>\",\n \"resolution\": \"<string>\",\n \"image_urls\": [\n \"<string>\"\n ],\n \"callback_url\": \"<string>\",\n \"callback_events\": [\n \"<string>\"\n ],\n \"watermark\": true,\n \"optimize_prompt_options\": \"<string>\",\n \"sequential_image_generation\": \"<string>\",\n \"sequential_image_generation_options\": {}\n}")
.asString();{
"task_id": "task-wave1775285160b950328499",
"model": "doubao-seedream-5.0-lite",
"action": "generate",
"status": "queued",
"created_at": 1775285160040,
"progress": 0
}
字节跳动 Seed 团队的图像生成模型系列。当前提供
提交后用
doubao-seedream-5.0-lite 版本(4.0 / 4.5 因按 token 计费暂未接入)。
5.0 Lite — 视觉推理(CoT)+ 实时联网搜索,强身份保留(眼/下颌/比例/肤色跨风格不变),支持 1K/2K/4K 输出,性价比线。
按张计费。
定价
| 模型 | 单价(每张) |
|---|---|
doubao-seedream-5.0-lite | $0.0315 |
模式速查
| 模式 | 触发字段 | action |
|---|---|---|
| 文生图 | 仅 prompt | generate |
| 图像编辑(局部重绘 / 光影修改) | + image_urls + action: "edit" | edit |
| 组图生成(主题相关一组) | sequential_image_generation: "auto" | generate |
调用示例
curl -X POST https://www.qingbo.dev/v1/tasks \
-H "Authorization: Bearer $WAVE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedream-5.0-lite",
"prompt": "未来主义城市夜景,霓虹灯映在湿润街面,电影感构图",
"resolution": "2K",
"aspect_ratio": "16:9"
}'
curl -X POST https://www.qingbo.dev/v1/tasks \
-H "Authorization: Bearer $WAVE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedream-5.0-lite",
"action": "edit",
"prompt": "把背景换成黄昏天空,人物保持不变",
"image_urls": ["https://cdn.example.com/portrait.jpg"],
"resolution": "2K"
}'
curl -X POST https://www.qingbo.dev/v1/tasks \
-H "Authorization: Bearer $WAVE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedream-5.0-lite",
"action": "edit",
"prompt": "把第一张图的角色放进第二张图的场景里",
"image_urls": [
"https://cdn.example.com/character.jpg",
"https://cdn.example.com/scene.jpg"
],
"resolution": "4K",
"aspect_ratio": "16:9"
}'
curl -X POST https://www.qingbo.dev/v1/tasks \
-H "Authorization: Bearer $WAVE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedream-5.0-lite",
"prompt": "电商主图四张:正面 / 侧面 / 细节 / 场景应用",
"sequential_image_generation": "auto",
"sequential_image_generation_options": {"max_images": 4},
"resolution": "4K",
"aspect_ratio": "1:1"
}'
{
"task_id": "task-wave1775285160b950328499",
"model": "doubao-seedream-5.0-lite",
"action": "generate",
"status": "queued",
"created_at": 1775285160040,
"progress": 0
}
GET /v1/tasks/{task_id} 轮询状态,详见 任务系统。
可用模型
| 模型 ID | 说明 |
|---|---|
doubao-seedream-5.0-lite | 视觉推理 + 联网搜索,身份保留强,支持 1K/2K/4K,文生 / 编辑 / 组图统一接口 |
通用参数
string
必填
目前为
doubao-seedream-5.0-litestring
默认值:"generate"
操作类型,可选值:
generate— 文生图(默认)edit— 图像编辑 / 多图参考(需配合image_urls)
string
必填
图像描述文本,支持中英文
integer
默认值:"1"
生成数量(单次返回多张)
string
默认值:"1:1"
画面宽高比,共 9 种:
1:1— 正方形4:3/3:4— 横/竖版标准16:9/9:16— 横/竖版宽屏3:2/2:3— 横/竖版相机比21:9/9:21— 超宽屏 / 超长竖图
string
默认值:"2K"
输出分辨率,可选
1K / 2K / 4Kstring[]
参考图片 URL 数组,
action: "edit" 时使用模型特定参数
boolean
默认值:"false"
是否加 AI 生成水印
string
默认值:"standard"
提示词优化模式,可选值:
standard— 标准优化(默认)fast— 快速模式
string
默认值:"disabled"
组图生成模式,可选值:
disabled— 单图(默认)auto— 自动组图(主题相关多张)
object
组图选项,如
{"max_images": 4}资源限制
| 项目 | 限制 |
|---|---|
| 单张图片大小 | ≤ 30MB,支持 JPG/PNG/WEBP |
| 输出分辨率 | 1K / 2K / 4K |
| 输出文件 | 图片链接,24 小时有效 |
相关文档
⌘I
Seedream 系列
curl --request POST \
--url https://www.qingbo.dev/v1/tasks \
--header 'Content-Type: application/json' \
--data '
{
"model": "<string>",
"action": "<string>",
"prompt": "<string>",
"n": 123,
"aspect_ratio": "<string>",
"resolution": "<string>",
"image_urls": [
"<string>"
],
"callback_url": "<string>",
"callback_events": [
"<string>"
],
"watermark": true,
"optimize_prompt_options": "<string>",
"sequential_image_generation": "<string>",
"sequential_image_generation_options": {}
}
'import requests
url = "https://www.qingbo.dev/v1/tasks"
payload = {
"model": "<string>",
"action": "<string>",
"prompt": "<string>",
"n": 123,
"aspect_ratio": "<string>",
"resolution": "<string>",
"image_urls": ["<string>"],
"callback_url": "<string>",
"callback_events": ["<string>"],
"watermark": True,
"optimize_prompt_options": "<string>",
"sequential_image_generation": "<string>",
"sequential_image_generation_options": {}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
model: '<string>',
action: '<string>',
prompt: '<string>',
n: 123,
aspect_ratio: '<string>',
resolution: '<string>',
image_urls: ['<string>'],
callback_url: '<string>',
callback_events: ['<string>'],
watermark: true,
optimize_prompt_options: '<string>',
sequential_image_generation: '<string>',
sequential_image_generation_options: {}
})
};
fetch('https://www.qingbo.dev/v1/tasks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://www.qingbo.dev/v1/tasks"
payload := strings.NewReader("{\n \"model\": \"<string>\",\n \"action\": \"<string>\",\n \"prompt\": \"<string>\",\n \"n\": 123,\n \"aspect_ratio\": \"<string>\",\n \"resolution\": \"<string>\",\n \"image_urls\": [\n \"<string>\"\n ],\n \"callback_url\": \"<string>\",\n \"callback_events\": [\n \"<string>\"\n ],\n \"watermark\": true,\n \"optimize_prompt_options\": \"<string>\",\n \"sequential_image_generation\": \"<string>\",\n \"sequential_image_generation_options\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://www.qingbo.dev/v1/tasks")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"<string>\",\n \"action\": \"<string>\",\n \"prompt\": \"<string>\",\n \"n\": 123,\n \"aspect_ratio\": \"<string>\",\n \"resolution\": \"<string>\",\n \"image_urls\": [\n \"<string>\"\n ],\n \"callback_url\": \"<string>\",\n \"callback_events\": [\n \"<string>\"\n ],\n \"watermark\": true,\n \"optimize_prompt_options\": \"<string>\",\n \"sequential_image_generation\": \"<string>\",\n \"sequential_image_generation_options\": {}\n}")
.asString();{
"task_id": "task-wave1775285160b950328499",
"model": "doubao-seedream-5.0-lite",
"action": "generate",
"status": "queued",
"created_at": 1775285160040,
"progress": 0
}