Dify 接入通义万象指南,实现自动化图像生成流程

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

Dify 接入通义万象指南,实现自动化图像生成流程

一、模型信息概述

1、模型介绍

模型名称:wanx-v1

模型特点:

  • 具备中英文双语处理能力,适用于多语言场景。
  • 支持多种图像生成风格,涵盖写实、卡通、素描等。
  • 可接受输入参考图片,进行内容及风格迁移,以增强生成图像的多样性与一致性。

2、计费与使用限制

模型名称免费额度计费标准任务下发 QPS 限制并行任务数
wanx-v1500 张(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、方案一(基础流程)

  1. 发送 HTTP 请求创建任务,并获取 task_id。
  2. 代码提取 task_id。
  3. 采用 sleep 机制等待任务完成。
  4. 发送 HTTP 请求获取任务结果。
  5. 提取 url 并转换为 Markdown 格式。
  6. 结束流程。
Dify 接入通义万象指南,实现自动化图像生成流程

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 接入通义万象指南,实现自动化图像生成流程

四、关键配置与优化

  • 节点超时配置

Dify 需要进行私有化部署,并适当调整超时配置,以满足异步任务的处理需求。建议修改 SANDBOX_WORKER_TIMEOUT 至 60 秒以上。

vim dify/docker/.env

# 调整参数
SANDBOX_WORKER_TIMEOUT=60

docker compose down
docker compose up -d
  • 环境变量配置

在阿里云百炼平台创建api-key, 配置到dify流程中

Dify 接入通义万象指南,实现自动化图像生成流程
Dify 接入通义万象指南,实现自动化图像生成流程
  • DSL文件

https://file.nginx.chat/disk/s/cm4Qoxa6jzv?pwd=570865

本方案可借助 Dify Pipeline 实现通义万象 API 的高效自动化集成,为复杂应用场景提供可扩展的 AI 生成式图像解决方案。

阅读剩余 87%

转载作品,原作者:,文章来源:https://developer.aliyun.com/article/1655981

(0)
打赏 微信赞赏 微信赞赏 支付宝赞赏 支付宝赞赏
上一篇 2025-03-20 14:23
下一篇 2025-03-23 13:56

相关推荐

发表回复

登录后才能评论
扫码了解
扫码了解
反馈建议
分享本页
返回顶部