qq_26624753 2026-04-23 18:02 采纳率: 66.7%
浏览 14

newapi如何配置接入Qwen-image的模型,因为Qwen-image不是标准的openai格式,有没有其他办法

请教问题,newapi如何配置接入Qwen-image的模型,因为Qwen-image不是标准的openai格式,有没有其他办法,感谢

  • 写回答

3条回答 默认 最新

  • 檀越@新空间 2026-04-23 18:03
    关注

    晚上好🌙🌙🌙
    本答案参考通义千问

    要将 Qwen-image 模型接入到 NewAPI 中,由于 Qwen-image 不是标准的 OpenAI API 格式,因此需要通过自定义适配的方式进行集成。以下是详细的配置方法和解决方案:


    一、问题分析

    1. Qwen-image 的特点

    • Qwen-image 是阿里巴巴通义实验室推出的图像生成模型。
    • 它不遵循 OpenAI 的 API 协议(如 /v1/images/generations)。
    • 因此不能直接使用 NewAPI 的 OpenAI 兼容接口。

    2. NewAPI 的功能

    • NewAPI 支持多种 AI 模型的接入方式,包括:
      • OpenAI 标准接口
      • 自定义 API 接口
      • 本地模型部署

    二、解决方案:自定义 API 接入 Qwen-image

    ✅ 方法一:使用 NewAPI 的自定义 API 配置

    步骤 1:获取 Qwen-image 的 API 地址和密钥

    你需要从阿里云或相关平台获取 Qwen-image 的访问地址和认证信息(如 Access Key 和 Secret Key)。

    示例:

    API URL: https://dashscope.aliyuncs.com/api/v1/services/aigc/text2image/generation
    Access Key: your-access-key
    Secret Key: your-secret-key
    

    步骤 2:在 NewAPI 中添加自定义 API 配置

    1. 登录 NewAPI 控制台。

    2. 进入 “模型管理” > “新增模型” 页面。

    3. 填写以下信息:

      • 模型名称:Qwen-image
      • 模型类型:Custom API
      • API 地址:填写 Qwen-image 的 API 地址
      • 请求方法:POST
      • 请求头:设置 Authorization 或其他认证字段
      • 请求体格式:JSON
      • 请求参数映射
        • promptinput.text
        • sizeinput.size
        • ninput.n
    4. 保存配置。

    步骤 3:测试调用

    在 NewAPI 的 “测试接口” 页面中,输入一个 prompt(如 "A cat in a hat"),然后点击发送,查看是否能成功返回图片链接。


    ✅ 方法二:使用 NewAPI 的代理功能(推荐)

    如果你无法直接对接 Qwen-image 的 API,可以先搭建一个中间服务,将 OpenAI 格式的请求转换为 Qwen-image 的请求格式,再由 NewAPI 调用该中间服务。

    步骤 1:创建中间服务(Python 示例)

    from flask import Flask, request, jsonify
    import requests
    
    app = Flask(__name__)
    
    QWEN_IMAGE_API_URL = "https://dashscope.aliyuncs.com/api/v1/services/aigc/text2image/generation"
    ACCESS_TOKEN = "your-access-token"
    
    @app.route('/generate', methods=['POST'])
    def generate_image():
        data = request.json
        prompt = data.get('prompt', '')
        size = data.get('size', '1024x1024')
        n = data.get('n', 1)
    
        payload = {
            "input": {
                "text": prompt,
                "size": size,
                "n": n
            },
            "parameters": {
                "model": "qwen-image"
            }
        }
    
        headers = {
            "Authorization": f"Bearer {ACCESS_TOKEN}",
            "Content-Type": "application/json"
        }
    
        response = requests.post(QWEN_IMAGE_API_URL, json=payload, headers=headers)
        return jsonify(response.json())
    
    if __name__ == '__main__':
        app.run(port=5000)
    

    步骤 2:在 NewAPI 中配置代理服务

    1. 在 NewAPI 的模型管理中添加一个新的模型。
    2. 设置模型类型为 Custom API
    3. 填写 API 地址为你的中间服务地址(如 http://localhost:5000/generate)。
    4. 请求方法设为 POST。
    5. 请求头可留空,或者根据实际需求设置。
    6. 请求体格式为 JSON。

    步骤 3:测试调用

    使用 NewAPI 的测试接口发送类似如下请求:

    {
      "prompt": "A cat in a hat",
      "size": "1024x1024",
      "n": 1
    }
    

    三、重点总结

    ✅ 关键点如下:

    1. Qwen-image 不支持 OpenAI 标准接口,必须使用自定义 API 方式接入。
    2. NewAPI 支持自定义 API 配置,可通过中间服务实现兼容性转换。
    3. 建议使用中间服务方式,便于后续扩展和维护。

    四、代码示例(中间服务)

    # 请根据实际需求修改 Access Token 和 API 地址
    from flask import Flask, request, jsonify
    import requests
    
    app = Flask(__name__)
    
    QWEN_IMAGE_API_URL = "https://dashscope.aliyuncs.com/api/v1/services/aigc/text2image/generation"
    ACCESS_TOKEN = "your-access-token"
    
    @app.route('/generate', methods=['POST'])
    def generate_image():
        data = request.json
        prompt = data.get('prompt', '')
        size = data.get('size', '1024x1024')
        n = data.get('n', 1)
    
        payload = {
            "input": {
                "text": prompt,
                "size": size,
                "n": n
            },
            "parameters": {
                "model": "qwen-image"
            }
        }
    
        headers = {
            "Authorization": f"Bearer {ACCESS_TOKEN}",
            "Content-Type": "application/json"
        }
    
        response = requests.post(QWEN_IMAGE_API_URL, json=payload, headers=headers)
        return jsonify(response.json())
    
    if __name__ == '__main__':
        app.run(port=5000)
    

    如有更多问题,欢迎继续提问!

    评论

报告相同问题?

问题事件

  • 创建了问题 4月23日