# 1. Import the necessary packagesfrom dotenv import load_dotenv
from byteplussdkarkruntime import Ark
import os
# 2. Load the API key
load_dotenv()# 3. Create the client
client = Ark(
base_url="https://ark.ap-southeast.bytepluses.com/api/v3",
api_key=os.getenv("ARK_API_KEY"),)# 4. Send the API request
prompt ="""
Photorealistic anthropomorphic animals hanging out in a coffee shop with no humans.
"""
imagesResponse = client.images.generate(
model="seedream-4-5-251128",
prompt=prompt,
watermark=False,)
image_url = imagesResponse.data[0].url
print(image_url)技术支持
在这个示例中,我们使用的提示词是:
Photorealistic anthropomorphic animals hanging out in a coffee shop with no humans.技术支持
prompt ="""
Portait Instagram image to be used to promote travel to Tokyo, Japan.
"""
imagesResponse = client.images.generate(
model="seedream-4-5-251128",
prompt=prompt,
size="4K",
watermark=False,)技术支持
要生成一批图像,我们需要在 API 请求中提供 sequential_image_generation 和 sequential_image_generation_options 参数。以下是生成 4 张图像的示例:
from byteplussdkarkruntime.types.images.images import SequentialImageGenerationOptions
prompt ="""
Generate a series of four visually coherent and stylistically consistent images illustrating these stages of a human life: Child, Adolescent, Adult, and Elderly. Make sure it's the same person in the four images.
"""
imagesResponse = client.images.generate(
model="seedream-4-5-251128",
prompt=prompt,
size="2K",
sequential_image_generation="auto",
sequential_image_generation_options=SequentialImageGenerationOptions(max_images=4),
response_format="url",
watermark=False)技术支持
使用批量生成功能时,返回的响应格式会不同,包含所有图像。我们可以如下遍历并下载它们:
# Iterate through all image datafor image in imagesResponse.data:
utils.download_image(image.url)技术支持
我使用了以下提示词进行尝试:
Generate a series of four visually coherent and stylistically consistent images illustrating these stages of a human life: Child, Adolescent, Adult, and Elderly. Make sure it's the same person in the four images.技术支持
不过不知为何,第四张图总是打破一致性,生成了一位女性(我试了多次)。
如需生成不同数量的图像,只需在 API 请求中修改 max_images 的数值。该数值可为 1 到 15(含)之间的任意整数。例如,生成 6 张图像:
Generate an image of a math professor standing in front of a blackboard. On the blackboard, there is a written proof that the square root of 2 is irrational.技术支持
prompt ="""
Use the given logo to create a visual design system for an outdoor hiking brand,
including backpack, hat, and shoes.
"""
image = utils.load_image_as_base64("logo.jpeg")
imagesResponse = client.images.generate(
model="seedream-4-5-251128",
prompt=prompt,
size="2K",
image=image,
sequential_image_generation="auto",
sequential_image_generation_options=SequentialImageGenerationOptions(max_images=3),
response_format="url",
watermark=False)技术支持
遮罩(Masking)
有些 AI 图像生成模型支持遮罩,允许用户提供黑白遮罩图以指定希望编辑的区域。然而,Seedream 4.5 并不原生支持遮罩参数。
BytePlus 刚刚发布了其最新图像生成模型 Seedream 4.5。作为字节跳动的企业技术部门,该公司将先进的 AI 能力带给全球企业,延续了如 TikTok 等平台背后的创新。
本文将通过 API 集成,手把手教您如何使用 Python 调用 Seedream 4.5,进行程序化图像生成。
我建议先学习 Generative AI Concepts 课程,作为理解 Seedream 等图像生成模型背后技术的良好入门。如果您也对其他图像生成模型感兴趣,不妨阅读我们关于谷歌 Nano Banana 2 的指南。
什么是 Seedream 4.5
Seedream 4.5 是 BytePlus AI 图像生成模型的最新迭代。
最新版本增强了主体一致性、细小文字细节清晰度,并改进了多图混合。同时具备更强的指令理解、更好的空间推理,以及更先进的逻辑推断能力。
该模型还可以生成高质量的 4K 图像,这是令人欢迎的提升,因为竞品模型往往难以生成高分辨率图像。在成本方面也具备竞争力,每张图仅需 4 美分即可生成。
别忘了查看我们关于字节跳动新视频生成模型 Seedance 2.0 的文章。
Seedream 4.5 API 设置
闲话少说,让我们开始使用 Seedream 4.5 的 API。
创建 API 密钥
要通过其 API 在 Python 中使用 Seedream 4.5,我们首先需要创建一个 API 密钥。
前往 其官方网站,点击右下角的 Get API 按钮并登录。
登录后,右上角有一个 Access API 按钮。点击并创建 API 密钥。创建 API 密钥需要验证手机号并提供账单信息。但这并非订阅,因此不会按月收费,只对我们的 API 请求计费。
在与我们编写 Python 代码相同的文件夹中创建名为
.env的文件,并按以下格式将密钥复制进去:在使用模型之前,请务必在 BytePlus ModelArk 控制台中激活该模型。这一步与创建 API 密钥相互独立。操作步骤如下:
在左侧边栏进入 Model activation。
在中间选择 Media 作为正确的模型分类。
在模型
ByteDance-Seedream-4.5所在行右侧点击 Activate。在弹出的窗口中确认。
Python 依赖安装
要与 Seedream 4.5 API 交互,我们需要安装一些 Python 包:
byteplussdkarkruntime:官方 Python 包,使我们可以向 Seedream 4.5 发起 API 请求,属于 BytePlus Python SDK 的一部分。若干辅助包,用于从
.env文件加载 API 密钥、进行异步 HTTP 请求和配置校验。使用以下命令安装这些包:
使用 Seedream 4.5 生成图像
先从文本提示词生成图像学起。如果您看过我们其他关于 Python AI API 的教程,比如 GPT-Image-1 或 Grok Imagine,您可能已经熟悉典型的工作流:
导入依赖包。
从
.env文件加载 API 密钥。使用官方 API 包创建客户端。
发送 API 请求。
Seedream 4.5 的用法完全相同。以下是一个生成图像的示例脚本。
在这个示例中,我们使用的提示词是:
模型生成的结果如下:
下载生成的图像
上述脚本会在终端输出生成图像的 URL。这并不是最方便的工作流。更好的做法是创建一个函数,将生成的图像下载到本地文件夹。
我建议新建一个名为
utils.py的脚本,将该函数放入其中。然后在生成图像的脚本中,添加以下代码以下载图像:指定图像尺寸
前面的示例除了将
watermark设置为False隐藏水印,其他均使用了 Seedream 4.5 的默认参数。Seedream 4.5 提供了两种方式通过
size参数指定输出图像的尺寸。第一种方式是指定生成图像的分辨率,将 size 设为 "2K" 或 "4K",并在提示词中用自然语言描述所需的纵横比、形状或用途,让模型自动确定宽高。默认值为 "2K"。
示例如下:
或者,我们也可以用类似
"3750x1250"的字符串以像素指定图像尺寸,但需要遵循两条规则:若只满足其中一条规则,则尺寸无效。为避免手动计算,我建议要么使用上面的分辨率方法,要么选用下列任一有效尺寸:
批量生成
Seedream 4.5 包含批量生成模式,可用于生成一组主题相关的图像。例如,这对生成分镜或围绕同一主题的视觉素材很有用。
要生成一批图像,我们需要在 API 请求中提供
sequential_image_generation和sequential_image_generation_options参数。以下是生成4张图像的示例:使用批量生成功能时,返回的响应格式会不同,包含所有图像。我们可以如下遍历并下载它们:
我使用了以下提示词进行尝试:
不过不知为何,第四张图总是打破一致性,生成了一位女性(我试了多次)。
如需生成不同数量的图像,只需在 API 请求中修改
max_images的数值。该数值可为 1 到 15(含)之间的任意整数。例如,生成 6 张图像:文本生成
我们来测试一下 Seedream 4.5 的文本生成能力。测试中,我尝试在未明确指定要渲染的文字内容的情况下,看看它能否生成包含数学证明的图像。这也同时考察模型的上下文理解能力。
我使用的提示词是:
结果如下:
我对这个结果相当满意。证明不仅正确,模型还能很好地处理大量文本。
使用 Seedream 4.5 编辑图像
本节我们学习如何编辑图像。使用 Seedream 4.5 编辑图像的简单方式是通过
image参数提供图像 URL,并在提示词中描述要进行的修改。以下是完整脚本示例:
在这个例子中,我使用了Michael Fischer 在 Pexels 上公开可用的照片,并用 Seedream 4.5 让它变成了雪景。
我得到的结果如下:
请注意,在上述示例中,我们显式指定了输出尺寸
"1664x2496",以匹配输入图像的纵横比。与大多数 AI 图像模型不同,Seedream 4.5 不会自动按输入的相同尺寸生成图像。当我省略 size 参数时,输出是一张方图。编辑本地图像
使用图像 URL 是向 Seedream 4.5 提供图像的最简单方式。但如果图像尚未托管,这会比较麻烦。
Seedream API 也允许我们轻松使用本地图像。为此,需要将其加载为 base64 图像。下面是一个实现该功能的函数:
建议将它添加到包含下载图像函数的
utils.py文件中,以便在主脚本中轻松使用。假设我们在同一文件夹中有一张名为
motard.jpeg的本地图像。下面展示如何加载并编辑该图像:多图输入编辑
Seedream 4.5 支持多张图像作为输入。可用来通过融合这些图像的风格和视觉元素来生成新图像。
在一次 API 请求中提供多张图像非常简单,只需以列表形式提交即可。以下示例将人物图与服装图组合,生成该人物穿着该套服装的图像:
这一示例展示了 Seedream 4.5 在保留人脸方面的出色表现;最终图像中的人物仍与原图非常相似。这是其他模型常常表现欠佳的环节。
多图输出编辑
前文介绍的批处理功能同样适用于图像编辑,其中图像总数(输入 + 输出)不能超过 15。这对于基于某个视觉生成多张变体非常有用。
要实现这一点,只需将 image 参数与上文的批量生成参数结合使用。请求示例如下:
遮罩(Masking)
有些 AI 图像生成模型支持遮罩,允许用户提供黑白遮罩图以指定希望编辑的区域。然而,Seedream 4.5 并不原生支持遮罩参数。
我仍然尝试将遮罩作为输入图像提交,并在提示词中明确需求,看看模型是否能理解并模拟出结果:
在这个例子中确实成功了,但由于这不是模型的内置功能,因此可靠性不高。比如,当我尝试用同样的方法添加一只狗时,就没有成功。
Seedream 4.5 最佳实践
如上所见,Seedream 4.5 具有良好的性能和一些不错的功能。要充分发挥其价值,请牢记以下最佳实践。
核心提示词指南
为了从 Seedream 4.5 获得最佳的图像生成效果,请在简洁的前提下,同时回答您要什么、为什么要、以及风格应如何:
图像编辑指南
编辑图像时,请明确指出需要更改的部分以及必须保持不变的部分。使用以下四个词来指定操作:
如果场景较复杂,使用箭头、方框、涂鸦等视觉标记来指示区域,有助于模型理解。
当您使用参考图来保持身份、风格或产品特征时,请务必同时说明:
批处理指南
使用多张输入图像时,请清晰分配角色:
尽管模型有参数可指定生成的图像数量,但最好也在提示词中明确我们的需求:
结语
Seedream 4.5 作为一款成熟、可用于生产的图像生成器,完全能与 Nano Banana 等顶级模型比肩,在保真度、指令遵循与跨图一致性方面表现相当,同时具备成本优势。
令我印象深刻的是其 API 的易用性:同一个 generate 端点即可处理单次生成、编辑(URL 或 base64)、多图融合与序列批量,只需切换少量命名清晰的参数即可启用各模式。
话虽如此,我并不觉得它带来了特别的创新:这是对如今已相当成熟的图像生成工具箱一次出色且成熟的实现,而非概念上的飞跃。
延伸学习
如果您想在本教程的基础上继续提升,不妨夯实让 Seedream 4.5 在生产中顺畅落地的基础能力。
先从 Introduction to APIs in Python 课程入手,掌握认证请求与错误处理;再结合 Image Processing in Python,在流水线中处理尺寸调整、合成与格式转换。
如果您希望更系统地迈向应用型机器学习与工程工具链,AI Engineer 职业路径将这些内容融会贯通,助您构建可靠、可扩展的 AI 功能工作流。