1.前言
即梦4.0是字节跳动旗下即梦AI推出的多模态大模型,其正式名称为"seedream4.0"。该模型于2025年9月5日正式上线,并已逐步向用户开放,9月8日全面对用户开放。

上周给大家介绍了即梦3.0文生图、文生视频、图生视频dify工作流。很快4.0文生图和图生图模型就推出了。我在原来的代码基础上修改了增加4.0的文生图和图生图的接口。结合之前的工作流又做了一般基于4.0 的dify工作流。那么这个工作流是什么样子的呢?

目前即梦4.0比较强大的地方在于能够生成一组一致性画面多个图。通过很简单的提示词就可以生成一组一致性的组图。这个确实比较强的。

此外我们还可以上传多个图,实现多图的组合类似nana-banana 多个图合成一个图的效果。
下面这个图我在即梦上体验的

dify 上实现的 图生图2个图片合成效果
原图:

合成后的

即梦中合成后的图片

那么这样的工作流是如何制作的呢?下面给大家一起做一个这样的dfiy工作流。
2.工作流制作
开始
开始节点这地方设置比较简单,就是接受用户的提示词-prompt

提示词 文本输入,这里主要是接受用户输入的提示词文本信息。

目前dify 文本输入地方最大长度是256,这里小伙伴要注意了,如果提示词过长会截断的。
考虑到这个工作流支持文生图、文生视频,所以开始节点配置参数要比其他工作流多。主要是多了一下模型选择,type类型等。

这个picture接受用户输入的图片,主要是为后面图生图使用。(这块设置可选选)这里需要注意我们选择文件列表,这样可以上传多张图片

pmodel 主要是让用户选择文生图模型使用,本次我们在上个工作流基础上增加了jimeng-4.0 选项

以上我们就完成了开始节点的设置。
条件分支
这个条件分支主要是目的根据用户选择(文生图、图生图等流程判断)

HTTP请求
这个HTTP请求是调用一个后端一个接口服务,这个接口服务可以实现即梦AI文生图、文生视频、图生视频的逆向。本次重点新增加了即梦4.0文生图和图生图功能。大家可以使用即梦每天送的积分来使用。服务端部署这里就不做详细展开。

使用这个接口是需要获取你即梦AI 平台sessionid,这个sessionid如何获取呢?

http请求配置
请求地址 jimeng.duckcloud.fun/v1/images/g... 这个是nas部署 使用cloudfare 映射的一个带域名公网api接口地址
请求方式 post 请求

heards部署 主要是接口请求的鉴权的配置。其实你也可以理解就是调用openai接口输入的api key 这个API 其实就是你登录即梦web网站产生的sessionid,我这里使用到环境变量的方式来实现的。


http 请求body部分如下:
json
{
"model":"{{#1756864683426.pmodel#}}",
"prompt":"{{#1756864683426.prompt#}}"
"negativePrompt":"",
"width":1536 ,
"height":864,
"sample_strength":0.5
}
文生图的接口请求地址jimeng.duckcloud.fun/v1/images/g...

文生图代码执行
代码执行的目的就是对HTTP请求返回的信息做一下处理,大体功能 是一样。
文生图代码
python
def main(arg1: str) -> str:
import json
# 解析输入的 JSON 数据
try:
data = json.loads(arg1)
except json.JSONDecodeError:
return "输入的字符串不是有效的 JSON 格式,请检查输入数据。"
# 确保解析后的数据包含 'data' 键
if not isinstance(data, dict) or 'data' not in data:
return "输入的数据格式不正确,请确保输入是一个包含 'data' 键的 JSON 对象。"
# 获取 'data' 键对应的数组数据
image_data = data.get('data', [])
# 确保 'data' 键的值是一个列表
if not isinstance(image_data, list):
return "输入的数据中 'data' 键的值不是一个数组,请确保其值是一个 JSON 数组对象。"
# 初始化结果字符串
markdown_result = ""
# 遍历每条图片数据
for index, item in enumerate(image_data, start=1):
# 检查每条数据是否是字典,并且包含 'url' 字段
if not isinstance(item, dict) or 'url' not in item:
markdown_result += f"图片第{index}条内容:无法提取 URL(缺少 'url' 字段)\n"
continue
# 提取 URL 并生成 Markdown 格式的图片链接
url = item['url']
markdown_result += f"\n"
# 返回最终的 Markdown 字符串
return {"result": markdown_result}
考虑到即梦4.0 执行比较慢,这里我们把dify http请求的超时时间改成300秒,重试次数变成1

这个配置和相关代码和上期文章《dify案例分享-零代码用 Dify 使用梦 AI 3.0 多模态模型,免费生成影视级视频》非常类似。大家可以把2个文章结合来看。
直接回复
这个也比较简单,主要的目的就是文生图、图生图返回信息给客户展示。

另外一个配置和上面一样这里就不做展开。
我们 在if条件分支判断了解,工作流还有另外一个分支,这个地方就是图生图,接口地址和处理方式有一点不一样我们这里就用代码调用方式。

代码执行
这个地方主要目的就是处理图生图接口调用以及数据返回。有的小伙伴可能会问,dify自带HTTP请求不是更简单,干嘛要自己写代码搞的这么复杂。这里解释一下,因为这个业务场景中会出现多个图上传功能。而http请求的body部分 不支持文件列表,没办法在http请求满足这个业务场景。

dify 里面http 请求

这个代码处理的输入参数这里是一个5个参数分别如下
1.pictures 文件列表List[str]
2.apikey 字符串
3.model 字符串
4.prompt 字符串
5.url 字符串
这里图生图的接口我们使用环境变量赋值。


代码处理
python
import requests
import json
from typing import List
def main(pictures: List[str], apikey: str, model: str, prompt: str, url: str) -> dict:
# 设置请求的URL和Headers (使用bb.py的API端点)
surl = url
headers = {
"Authorization": f"Bearer {apikey}",
"Content-Type": "application/json"
}
# 定义请求的payload数据 (基于bb.py的逻辑)
payload = {
"model": model,
"prompt": prompt,
"images": pictures, # 使用传入的pictures数组
"width": 1536,
"height": 864,
"sample_strength": 0.5
}
# 打印payload用于调试
print("Payload:", json.dumps(payload, indent=2))
# 发送POST请求
response = requests.post(surl, headers=headers, data=json.dumps(payload))
# 提取结果并返回
if response.status_code == 200:
response_data = response.json()
# 集成cc.py的处理逻辑
def process_image_urls(data):
# 确保解析后的数据包含 'data' 键
if not isinstance(data, dict) or 'data' not in data:
return "输入的数据格式不正确,请确保输入是一个包含 'data' 键的 JSON 对象。"
# 获取 'data' 键对应的数组数据
image_data = data.get('data', [])
# 确保 'data' 键的值是一个列表
if not isinstance(image_data, list):
return "输入的数据中 'data' 键的值不是一个数组,请确保其值是一个 JSON 数组对象。"
# 初始化结果字符串
markdown_result = ""
# 遍历每条图片数据
for index, item in enumerate(image_data, start=1):
# 检查每条数据是否是字典,并且包含 'url' 字段
if not isinstance(item, dict) or 'url' not in item:
markdown_result += f"图片第{index}条内容:无法提取 URL(缺少 'url' 字段)\n"
continue
# 提取 URL 并生成 Markdown 格式的图片链接
url = item['url']
markdown_result += f"\n"
# 返回最终的 Markdown 字符串
return markdown_result
# 处理响应数据并生成Markdown结果
markdown_result = process_image_urls(response_data)
return {"result": markdown_result}
else:
return {"error": f"Error: {response.status_code}, {response.text}"}
输出result 字符串类型

以上我们就完成了工作流的搭建,总体来说还是比较简单的。对比上期《dify案例分享-零代码用 Dify 使用梦 AI 3.0 多模态模型,免费生成影视级视频》要简单的多。
3.使用
点工作流会有预览功能 提示词单个文生图、多个文生图、图生图提示词

大家根据自己的需要选择就可以了,图片上传可以支持多个。我们以多个文生图为案例介绍


即梦里面的

dify工作流体验地址
工作流地址:dify.duckcloud.fun/chat/cFVRKh...
由于我账号不是会员号,每天送80积分,文生图每张图消耗1积分。大家省着点用。
4.常见问题
dify env 环境变量配置

默认的情况下dify沙箱运行环境代码执行超时时间设置15秒

由于这个即梦4.0 执行时间比较长,我们在沙箱环境运行接口调用会导致超时,这里我们需要修改.env文件配置设置600秒

http请求超时设置
考虑到即梦4.0 执行比较慢,这里我们把dify http请求的超时时间改成300秒,重试次数变成1

5.总结
今天主要带大家了解并实现了基于 Dify 工作流构建即梦 AI 4.0 多模态生成系统的完整流程,该系统以即梦 AI 最新的 4.0 文生图、图生图模型为核心,结合 Dify 平台灵活的工作流节点配置(如条件分支、HTTP 请求、代码执行等),形成了一套覆盖单图生成、多图一致性组图及多图合成的全场景图像生成方案。
通过这套实践方案,用户能够低成本体验即梦 4.0 的进阶生成能力 ------ 借助平台每日赠送的免费积分,无需复杂的后端开发,就能快速生成具备一致性的组图和多图合成效果,极大降低了 AI 图像创作的技术门槛和使用成本。在实际验证中,该工作流能够稳定响应不同类型的生成需求,无论是通过简单提示词生成一组风格统一的图像,还是上传多张图片实现创意合成,都能产出符合预期的高质量内容,有效解决了普通用户调用即梦 4.0 模型时流程繁琐、多图处理场景难以实现的问题。同时,工作流具备良好的扩展性 ------ 小伙伴们可以基于此框架扩展更多实用功能,如电商平台的商品多场景图生成、社交媒体的创意素材批量制作、设计行业的多方案快速迭代等,进一步丰富 Dify 平台的图像创作应用场景。
感兴趣的小伙伴可以按照这份指南尝试搭建自己的即梦 4.0 生成工作流,甚至结合其他 AI 工具拓展更多创意玩法。今天的分享就到这里结束了,我们下一篇文章见。