Dify Pipeline集成通义万象, 实现自动化图像生成流程,包含基础流程和完整代码实现。

一、模型信息概述
1、模型介绍
模型名称:wanx-v1
模型特点:
- 具备中英文双语处理能力,适用于多语言场景。
- 支持多种图像生成风格,涵盖写实、卡通、素描等。
- 可接受输入参考图片,进行内容及风格迁移,以增强生成图像的多样性与一致性。
2、计费与使用限制
模型名称 | 免费额度 | 计费标准 | 任务下发 QPS 限制 | 并行任务数 |
wanx-v1 | 500 张(180 天有效) | 0.16 元/张 | – | – |
二、 API 交互流程
1、任务创建
curl -X POST <https://dashscope.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis> \\
-H 'X-DashScope-Async: enable' \\
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \\
-H 'Content-Type: application/json' \\
-d '{
"model": "wanx-v1",
"input": {
"prompt": "猫, 简笔画, 黑白色"
},
"parameters": {
"style": "<auto>",
"size": "1024*1024",
"n": 1
}
}'
示例响应
{
"output": {
"task_status": "PENDING",
"task_id": "441d3aa7-86f1-4271-815e-bd077d90fe0b"
},
"request_id": "3c77444d-2413-9a82-96f7-1271c3aa327e"
}
2、任务结果查询
curl -X GET \\
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \\
<https://dashscope.aliyuncs.com/api/v1/tasks/{
task_id}>
示例响应
{
"output": {
"task_status": "SUCCEEDED",
"results": [
{
"url": "<https://example.com/generated_image.png>"}
]
}
}
三、Dify Pipeline 集成方案
1、方案一(基础流程)
- 发送 HTTP 请求创建任务,并获取 task_id。
- 代码提取 task_id。
- 采用 sleep 机制等待任务完成。
- 发送 HTTP 请求获取任务结果。
- 提取 url 并转换为 Markdown 格式。
- 结束流程。

2、方案二(完整代码实现)
import time
import requests
def generate_image(prompt: str, api_key: str) -> dict:
"""
发送文本生成图像请求,并轮询任务状态以获取最终结果。
参数:
prompt: str - 图像描述,如 "猫, 简笔画, 黑白色"
api_key: str - API 认证密钥
返回:
dict - 生成的图片 URL 或错误信息
"""
post_url = "<https://dashscope.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis>"
headers = {
"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
data = {
"model": "wanx-v1", "input": {
"prompt": prompt}, "parameters": {
"style": "<auto>", "size": "1024*1024", "n": 1}}
response = requests.post(post_url, headers=headers, json=data)
task_id = response.json().get("output", {
}).get("task_id")
if not task_id:
return {
"error": "任务创建失败"}
get_url = f"<https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}>"
for _ in range(30):
response = requests.get(get_url, headers=headers)
task_status = response.json().get("output", {
}).get("task_status", "")
if task_status == "SUCCEEDED":
results = response.json().get("output", {
}).get("results", [])
return {
"result": results[0].get("url", "任务成功但无 URL")}
elif task_status == "FAILED":
return {
"error": "任务失败"}
time.sleep(1)
return {
"error": "超时未完成"}

四、关键配置与优化
- 节点超时配置
Dify 需要进行私有化部署,并适当调整超时配置,以满足异步任务的处理需求。建议修改 SANDBOX_WORKER_TIMEOUT 至 60 秒以上。
vim dify/docker/.env
# 调整参数
SANDBOX_WORKER_TIMEOUT=60
docker compose down
docker compose up -d
- 环境变量配置
在阿里云百炼平台创建api-key, 配置到dify流程中


- DSL文件
https://file.nginx.chat/disk/s/cm4Qoxa6jzv?pwd=570865
本方案可借助 Dify Pipeline 实现通义万象 API 的高效自动化集成,为复杂应用场景提供可扩展的 AI 生成式图像解决方案。
转载作品,原作者:,文章来源:https://developer.aliyun.com/article/1655981