如何使用 Seedgream 4.5 API
Source: Dev.to
什么是 Seedream 4.5?
Seedream 4.5 是 Seedream 系列的最新迭代——一种多模态图像生成与编辑模型,旨在实现高保真文本到图像的创作以及上下文感知的图像编辑(图像到图像、多参考编辑、修补/扩展、排版和密集文本处理)。相较于早期的 Seedream 版本,4.5 侧重于:
- 在多图像工作流中提升主体一致性
- 更严格地保留参考细节
- 更高的排版保真度(图像中的文字)
- 在 “高质量” 设置下,输出质量可达 4K/超高清
这些改进源于更大规模的架构以及更新的提示调优 / 引擎端启发式策略。
重要性说明: 4.5 为专业创意任务而生——批量产品变体、品牌一致的多图像编辑以及高分辨率打印资产——同时通过参考图像和专门的编辑操作提供更细致的控制。
核心能力
- 文本到图像生成(单张或批量):每次 API 调用可生成 1–15 张图像,可选择质量模式(Basic 与 High),在速度与分辨率之间进行权衡。
- 图像编辑(i2i / 修补 / 扩展): 使用一个或多个参考图像;在多个参考之间保持细节和空间关系。
- 多参考混合与元素复制: 单个任务最多可使用约 10 张参考图像,以在保持光照/视角一致的前提下迁移元素。
- 高排版/密集文本渲染: 更好地处理包含文字或标识的图像(适用于模型图、产品标签、UI 截图)。
- 流式 / 渐进输出: 部分部署端点支持流式返回结果,客户端可以在生成过程中收到部分结果。
如何通过 CometAPI 使用 Seedream 4.5 API?
下面提供一个可直接复制粘贴的实操指南,演示如何通过 CometAPI(一个将 Seedream 4.5 模型作为模型参数公开的聚合平台)生成图像。使用 CometAPI 可以用一把 API Key 访问数十甚至数百个模型,并获得稳定、易于集成的 REST 接口。CometAPI 文档中展示了 doubao‑seedream‑4‑5‑251128 模型别名以及标准的图像生成端点。
高层步骤
- 注册 CometAPI 并获取 API Key。
- 调用图像生成端点(
POST https://api.cometapi.com/v1/images/generations),将模型参数设为 Seedream 4.5 标识(如doubao‑seedream‑4‑5‑251128)。 - 在请求体中填写提示词、可选的参考图像(URL 或 multipart 上传,取决于聚合平台),以及输出尺寸/质量等其他参数。
- 接收包含生成图像 URL(或 base64)和元数据的 JSON 响应。
请求类型与模式
Seedream 4.5 常见支持:
- 文本 → 图像 – 文本提示生成全新图像
- 图像 → 图像 – 参考图像 + 提示进行风格化转换
- 图像编辑 / 修补 – 掩码 + 编辑指令实现精准修改
托管的 API 往往提供异步任务模式(提交任务 → 使用 taskId 轮询),适用于耗时较长的渲染和批量工作流。生成的链接通常有时效限制(例如 24 小时有效),请提前规划存储或导出方案。
curl 示例(文本到图像,单一提示)
curl -X POST "https://api.cometapi.com/v1/images/generations" \
-H "Authorization: Bearer COMETAPI_KEY_GOES_HERE" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedream-4-5-251128",
"prompt": "A cinematic portrait of a cyberpunk fox in neon rain, 4k, detailed lighting, film grain",
"n": 3,
"width": 2048,
"height": 2048,
"quality": "high", # or "basic"
"seed": 12345,
"style": "photorealistic"
}'
注意事项
- 将
COMETAPI_KEY_GOES_HERE替换为你的 CometAPI Key。 n参数可在一次调用中生成多种变体,降低请求开销。quality: "high"通常对应更高分辨率 / 更高计算成本(可达 4K)。
Python requests 示例(文本到图像 + 保存结果)
import requests, base64, os
API_URL = "https://api.cometapi.com/v1/images/generations"
API_KEY = os.environ.get("COMETAPI_KEY") # set env var for safety
payload = {
"model": "doubao-seedream-4-5-251128",
"prompt": "Studio shot of a ceramic mug on a wooden table, warm natural light, ultra-detailed, 2k",
"n": 2,
"width": 1024,
"height": 1024,
"quality": "basic"
}
resp = requests.post(
API_URL,
json=payload,
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
)
resp.raise_for_status()
data = resp.json()
# Each item may contain 'b64_json' or 'url' depending on provider
for i, item in enumerate(data.get("data", [])):
img_b64 = item.get("b64_json")
if img_b64:
img_bytes = base64.b64decode(img_b64)
with open(f"seedream_result_{i}.png", "wb") as f:
f.write(img_bytes)
else:
print("Image URL:", item.get("url"))
为何采用此模式? 聚合平台通常返回 base64 数据或托管 URL,代码兼容两种情况。端点通常会返回 task_id,需要 GET /tasks/{task_id} 轮询至状态为 succeeded,再下载结果。许多供应商提供带有此工作流的 SDK。
如何优化图像质量并保持文字清晰?
- 使用参考图像 以确保上下文和配色的一致性。
- 在提示中明确指出排版需求(字体、粗细、对齐方式),必要时在二次步骤中叠加精确文字以保证可读性。
- 采用两步流程:
- 生成基础构图。
- 在第二轮渲染或编辑时针对局部放大或标签区域使用更高分辨率进行重绘。
如何编写 Seedream 4.5 的提示词?
提示工程原则
- 明确具体: 列出主体、动作、风格、镜头/相机、时间、期望的色彩方案。
- 使用身份锚点: 若需在多张图像中保持相同人物/道具,加入持久描述(例如 “同一位短卷发、绿夹克、左眉有疤痕的女性”)并提供 1–3 张参考图像。Seedream 4.5 的多参考融合已提升,但锚点仍有帮助。
- 负向提示: 明确写出需要避免的内容(如 “no text”、 “no watermarks”、 “no extra limbs”)。
- 短 + 长混合: 先给出简短的核心指令,再补充几行细节和约束。
示例提示模板
-
产品主图(写实):
"A clean product hero shot of a matte black wireless speaker placed on a white tabletop, softbox lighting, 50mm, shallow depth of field, studio background, photoreal, no text" -
奇幻插画(风格化):
"Epic fantasy landscape, towering glass castle on a cliff, golden hour, volumetric fog, painterly, highly detailed, concept art" -
图像编辑(移除物体):
"Remove the person on the left and extend the background to fill the space, keep lighting consistent, no artifacts" -
文字密集的模型图:
"Mobile app landing screen mockup on an iPhone 14, with bold sans‑serif heading 'Welcome', centered, high‑contrast colors, realistic device rendering"