更新时间:2026-03-10 GMT+08:00
分享

图片生成

在内容创作场景中,用户需要根据文本描述快速生成符合要求的图像(如电商商品图、社交媒体配图等)。传统方法依赖人工设计,存在创作周期长、风格一致性差等问题。图片生成模型作为生成式人工智能(AIGC)的重要分支,通过深度学习技术学习文本与图像的关联规律,如何实现从文字指令到高质量图像的自动化生成。

通过调用图片生成模型API,用户可输入文本、单图或多图,实现多图融合创作、图像编辑等多样化玩法。API通过接收包含模型名称、文本提示词及参数的请求,调用预训练模型进行图像生成,并返回结果URL及状态信息,有效解决提示词适配和参数优化问题,提升图像生成效率和准确性。

计费说明

按张计费:按照图片生成的张数计费。

详情请见MaaS图片生成模型

前提条件

使用限制

  • 图片传入时支持格式:png、jpeg、jpg、webp、bmp、tiff
  • Qwen-Image-Edit模型的图片限制如下:
    • 20251028版本:上传的图片文件总大小≤20MB。
    • 20250913版本:上传的单个图片文件大小≤15MB。

支持模型

支持图片生成的模型请参见图片生成

文生图(纯文本输入单图输出)-Qwen_Image(20250821版本)

通过给模型提供清晰准确的文字指令,即可快速获得符合描述的高质量单张图片。

以下为文生图示例代码,可通过model参数替换模型,model参数详情请参见图片生成

import requests
import json


if __name__ == '__main__':
    url = "https://api.modelarts-maas.com/v1/images/generations"  # API地址
    api_key = "MAAS_API_KEY"  # 把MAAS_API_KEY替换成已获取的API Key


    # Send request.
    headers = {
        'Content-Type': 'application/json',
        'Authorization': f'Bearer {api_key}'
    }
    data = {
        "model": "qwen-image",  # model参数
        "prompt": "A running cat.",  # 支持中英文
        "size": "1024x1024",
        "response_format": "b64_json",  # 返回格式,可取值为[url, b64_json], 暂仅支持 b64_json,
        "seed": 1  # 取值范围在[0, 2147483648], 随机种子,默认1
    }
    response = requests.post(url, headers=headers, data=json.dumps(data), verify=False)


    # Print result.
    print(response.status_code)
    print(response.text)
curl -X POST "https://api.modelarts-maas.com/v1/images/generations" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $MAAS_API_KEY" \
  -d '{
    "model": "qwen-image",
    "prompt": "A running cat.",
    "size": "1024x1024",
    "response_format": "b64_json",
    "seed": 1
}'

图文生图(单图输入单图输出)- Qwen-Image-Edit(20250913版本)

基于已有图片,结合文字指令进行图像编辑,包括图像元素增删、风格转化、材质替换、色调迁移、改变背景/视角/尺寸等。

以下为图文生图示例代码,可通过model参数替换模型,model参数详情请参见图片生成

import requests
import json
import base64


#  Base64 编码格式
def encode_image(image_path):
    with open(image_path, "rb") as image_file:
        return base64.b64encode(image_file.read()).decode("utf-8")


base64_image = encode_image("test.jpg")

if __name__ == '__main__':
    url = "https://api.modelarts-maas.com/v1/images/generations"  # API地址
    api_key = "MAAS_API_KEY"  # 把MAAS_API_KEY替换成已获取的API Key
    # Send request.
    headers = {
        'Content-Type': 'application/json',
        'Authorization': f'Bearer {api_key}'
    }
    data = {
        "model": "qwen_image_edit",  # model参数
        "prompt": "将湖面颜色修改为蓝色",  # 支持中英文
        "size": "1024x1024",
        # 生成图像尺寸qwen_image_edit要求介于[512x512,2048x2048]。
        # 推荐:2048x2048,1536x1536,1024x1024, 512x512,其中height和width需要被16整除,否则会向下兼容。
        "image": f"data:image/jpg;base64,{base64_image}",
        # 支持图片格式 ["png", "jpeg", "jpg", "webp", "bmp", "tiff"],支持使用Base64形式或公网可访问的URL传递图片。
        "seed": 44  # 取值范围在[0, 2147483648], 随机种子
    }
    response = requests.post(url, headers=headers, data=json.dumps(data), verify=False)
    # Print result.
    print(response.status_code)
    print(response.text)
curl -X POST https://api.modelarts-maas.com/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $MAAS_API_KEY" \
  -d '{
    "model": "qwen_image_edit",
    "prompt": "将湖面颜色修改为蓝色",
    "size": "1024x1024",
    "image": "data:image/jpg;base64,$BASE64_IMAGE",
    "seed": 44
}'

多图融合(多图输入单图输出)- Qwen-Image-Edit(20251028版本)

根据您输入的文本描述和多张参考图片,融合它们的风格、元素等特征来生成新图像。如衣裤鞋帽与模特图融合成穿搭图,人物与风景融合为人物风景图等。

以下为多图输入单图输出的Python示例代码,可通过model参数替换模型,model参数详情请参见图片生成

import requests
import json
import base64


#  Base64 编码格式
def encode_image(image_path):
    with open(image_path, "rb") as image_file:
        return base64.b64encode(image_file.read()).decode("utf-8")


base64_image1 = encode_image("test1.jpg")
base64_image2 = encode_image("test2.jpg")

if __name__ == '__main__':
    url = "https://api.modelarts-maas.com/v1/images/generations"  # API地址
    api_key = "MAAS_API_KEY"  # 把MAAS_API_KEY替换成已获取的API Key
    # Send request.
    headers = {
        'Content-Type': 'application/json',
        'Authorization': f'Bearer {api_key}'
    }
    data = {
        "model": "qwen-image-edit-2509",  # model参数
        "prompt": "将图1中背景颜色修改为图2湖面颜色",  # 支持中英文
        "size": "1024x1024",
        # [非必填]生成图像的宽度和高度范围为[512, 3072]像素,不填会根据传入的image尺寸生成。
        # 推荐尺寸[1024x1024,1536x1536,2048x2048,3072x3072]
        "image": f"data:image/jpg;base64,{base64_image1},data:image/jpg;base64,{base64_image2}",
        # 支持图片格式["png", "jpeg", "jpg", "webp", "bmp", "tiff"],支持使用Base64形式或公网可访问的URL传递图片。
        "seed": 44  # 取值范围在[0, 2147483648], 随机种子
    }
    response = requests.post(url, headers=headers, data=json.dumps(data), verify=False)
    # Print result.
    print(response.status_code)
    print(response.text)

API说明

模型调用的完整参数列表请见图片生成

关键能力

  • 指令遵循(提示词)

    参数:input.prompt(必选)。

    prompt:文本提示词,用于引导模型生成图像,支持中英文。长度支持800 字符以下(每个单词和标点都算一个字符)。如果长度超过800,会自动截断为800字符,超过2000字符则会报错。

  • 设置输出图像分辨率

    参数: parameters.size (string),格式为 "宽*高"

    Qwen-Image模型

    生成图像尺寸,宽度和高度范围为[512x512, 2048x2048]像素,宽度和高度需要被8整除,否则会向下兼容。

    宽高比及宽高像素值推荐如下:

    • 1:1,例如2048x2048、1536x1536、1024x1024、512x512。
    • 4:3,例如2304x1728。
    • 3:4,例如1728x2304。
    • 16:9,例如2560x1440。
    • 9:16,例如1440x2560。
    • 3:2,例如2496x1664。
    • 2:3,例如1664x2496。

    Qwen-Image-Edit模型(20250913版本):

    生成图像的尺寸,宽度和高度范围为[512,2048]像素。

    • 如果用户填写size,系统将按照size生成图片;如果用户不填写size,系统将按照传入图片的尺寸生成图片。
    • 宽高比及宽高像素值推荐如下:
      • 1:1,例如2048x2048、1024x1024、512x512、1328x1328。
      • 4:3,例如2304x1728。
      • 3:4,例如1728x2304。
      • 16:9,例如2560x1440。
      • 9:16,例如1440x2560。
      • 3:2,例如2496x1664。
      • 2:3,例如1664x2496。

    Qwen-Image-Edit模型(20251028版本):

    生成图像的尺寸,宽度和高度范围为[512,3072]像素。宽高比及宽高像素值推荐如下:
    • 1:1,例如1024x1024、1536x1536、2048x2048、3072x3072。
    • 4:3,例如2304x1728。
    • 3:4,例如1728x2304。
    • 16:9,例如2560x1440。
    • 9:16,例如1440x2560。
    • 3:2,例如2496x1664。
    • 2:3,例如1664x2496。
    如果用户填写size,系统将按照size生成图片。size需满足以下条件。
    • 宽高比在1:12或12:1以内,否则会报错。
    • 生成图像支持分辨率:面积=宽度x高度。

      可生成的图片最小面积:512x512;可生成的图片最大面积:3072x3072。

      如果输入超出面积的范围,系统将按size比例缩放输入尺寸,以使总面积接近允许的最小值或最大值。

    如果用户不填写size,系统将按照传入image中第一张图片尺寸和格式生成图片。

  • 图片输出方式

    通过设置response_format参数,可以指定生成图像的返回方式为b64_json:以Base64编码字符串的JSON格式返回图像数据。

    当前仅支持b64_json:

    {
        "response_format": "b64_json"
    }
  • 图片中添加水印

    通过设置watermark参数,来控制是否在生成的图片中添加水印。

    • false:不添加水印。
    • true:在图片右下角添加“AI生成”字样的水印标识。
    {
        "watermark": true
    }

相关文档