QwenCloudBRASIL
Tradução de apoio para consulta. Código e identificadores técnicos preservados. Consultar referência original ↗

Edição de imagem

Modifique imagens via texto

Primeiros passos

Este exemplo mostra como usar qwen-image-3.0-pro para gerar duas imagens editadas a partir de três imagens de entrada e um prompt.

Prompt de entrada: A garota da Imagem 1 usa o vestido preto da Imagem 2 e senta na pose da Imagem 3.

<table style={{width: "100%", borderCollapse: "separate", borderSpacing: "8px 0", tableLayout: "fixed"}}> <thead> <tr> <th style={{textAlign: "left", width: "20%", paddingBottom: "8px"}}>Imagem de entrada 1</th> <th style={{textAlign: "left", width: "22%", paddingBottom: "8px"}}>Imagem de entrada 2</th> <th style={{textAlign: "left", width: "20%", paddingBottom: "8px"}}>Imagem de entrada 3</th> <th style={{textAlign: "left", width: "20%", paddingBottom: "8px"}}>Imagens de saída (várias imagens)</th>

  <th style={{textAlign: "left", width: "18%", paddingBottom: "8px"}} />
</tr>

</thead>

<tbody> <tr> <td style={{verticalAlign: "top"}}> </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/6844029571/p1011684.webp)
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/5844029571/p1011683.webp)
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/6844029571/p1011681.webp)
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/6903291671/p1022524.webp)
  </td>
</tr>

</tbody> </table>

Antes de fazer uma chamada, obtenha uma chave de API e exporte a chave de API como uma variável de ambiente.

Para chamar a API usando o SDK, instale o DashScope SDK. O SDK está disponível para Python e Java.

O Qwen os modelos de edição de imagens suportam de uma a três imagens de entrada; qwen-image-2.1-pro suporta um a dez. O qwen-image-2.0/qwen-image-3.0 série e qwen-image-2.1-pro pode gerar de uma a seis imagens. Os URLs das imagens geradas são válidos por 24 horas. Baixe as imagens para o seu dispositivo local imediatamente.

Python

```python
import json
import os
import dashscope
from dashscope import MultiModalConversation

dashscope.base_http_api_url = 'https://maas.qwencloudapi.com/api/v1'

# The model supports one to three input images.
messages = [
  {
    "role": "user",
    "content": [
      {"image": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/thtclx/input1.png"},
      {"image": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/iclsnx/input2.png"},
      {"image": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/gborgw/input3.png"},
      {"text": "Make the girl from Image 1 wear the black dress from Image 2 and sit in the pose from Image 3."}
    ]
  }
]

# Replace with your API key if the environment variable is not set: api_key="sk-xxx"
api_key = os.getenv("DASHSCOPE_API_KEY")

# qwen-image-2.0/3.0 series supports outputting 1 to 6 images. This example shows how to output 2 images.
response = MultiModalConversation.call(
  api_key=api_key,
  model="qwen-image-3.0-pro",
  messages=messages,
  stream=False,
  n=2,
  watermark=False,
  negative_prompt=" ",
  prompt_extend=True,
  size="1024*1536",
)

if response.status_code == 200:
  # To view the full response, uncomment the following line.
  # print(json.dumps(response, ensure_ascii=False))
  for i, content in enumerate(response.output.choices[0].message.content):
    print(f"URL of output image {i+1}: {content['image']}")
else:
  print(f"HTTP status code: {response.status_code}")
  print(f"Error code: {response.code}")
  print(f"Error message: {response.message}")
  print("For more information, see the documentation: https://docs.qwencloud.com/api-reference/preparation/error-messages")
```

Exemplo de resposta.

  ```json
  {
    "status_code": 200,
    "request_id": "fa41f9f9-3cb6-434d-a95d-4ae6b9xxxxxx",
    "code": "",
    "message": "",
    "output": {
      "text": null,
      "finish_reason": null,
      "choices": [
        {
          "finish_reason": "stop",
          "message": {
            "role": "assistant",
            "content": [
              {
                "image": "https://dashscope-result-hz.oss-cn-hangzhou.aliyuncs.com/xxx.png?Expires=xxx"
              },
              {
                "image": "https://dashscope-result-hz.oss-cn-hangzhou.aliyuncs.com/xxx.png?Expires=xxx"
              }
            ]
          }
        }
      ],
      "audio": null
    },
    "usage": {
      "output_height": 1536,
      "output_width": 1024,
      "input_image_count": 3,
      "input_image_type": "qima_input_1k",
      "output_image_count": 2,
      "output_image_type": "qima_output_1k"
    }
  }
  ```

Java

```java
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.common.MultiModalMessage;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.utils.JsonUtils;
import com.alibaba.dashscope.utils.Constants;

import java.io.IOException;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.List;

public class QwenImageEdit {

  static {
    Constants.baseHttpApiUrl = "https://maas.qwencloudapi.com/api/v1";
  }

  // If you have not configured the environment variable, replace the following line with your API key: apiKey="sk-xxx"
  static String apiKey = System.getenv("DASHSCOPE_API_KEY");

  public static void call() throws ApiException, NoApiKeyException, UploadFileException, IOException {

    MultiModalConversation conv = new MultiModalConversation();

    // The model supports one to three input images.
    MultiModalMessage userMessage = MultiModalMessage.builder().role(Role.USER.getValue())
        .content(Arrays.asList(
            Collections.singletonMap("image", "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/thtclx/input1.png"),
            Collections.singletonMap("image", "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/iclsnx/input2.png"),
            Collections.singletonMap("image", "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/gborgw/input3.png"),
            Collections.singletonMap("text", "Make the girl from Image 1 wear the black dress from Image 2 and sit in the pose from Image 3.")
        )).build();
    // qwen-image-2.0/3.0 series supports outputting 1 to 6 images. This example shows how to output 2 images.
    Map<String, Object> parameters = new HashMap<>();
    parameters.put("watermark", false);
    parameters.put("negative_prompt", " ");
    parameters.put("n", 2);
    parameters.put("prompt_extend", true);
    parameters.put("size", "1024*1536");

    MultiModalConversationParam param = MultiModalConversationParam.builder()
        .apiKey(apiKey)
        .model("qwen-image-3.0-pro")
        .messages(Collections.singletonList(userMessage))
        .parameters(parameters)
        .build();

    MultiModalConversationResult result = conv.call(param);
    // To view the complete response, uncomment the following line.
    // System.out.println(JsonUtils.toJson(result));
    List<Map<String, Object>> contentList = result.getOutput().getChoices().get(0).getMessage().getContent();
    int imageIndex = 1;
    for (Map<String, Object> content : contentList) {
      if (content.containsKey("image")) {
        System.out.println("URL of output image " + imageIndex + ": " + content.get("image"));
        imageIndex++;
      }
    }
  }

  public static void main(String[] args) {
    try {
      call();
    } catch (ApiException | NoApiKeyException | UploadFileException | IOException e) {
      System.out.println(e.getMessage());
    }
  }
}
```

Resposta da amostra

  ```json
  {
    "requestId": "46281da9-9e02-941c-ac78-be88b8xxxxxx",
    "usage": {
      "output_height": 1536,
      "output_width": 1024,
      "input_image_count": 3,
      "input_image_type": "qima_input_1k",
      "output_image_count": 2,
      "output_image_type": "qima_output_1k"
    },
    "output": {
      "choices": [
        {
          "finish_reason": "stop",
          "message": {
            "role": "assistant",
            "content": [
              {
                "image": "https://dashscope-result-sz.oss-cn-shenzhen.aliyuncs.com/xxx.png?Expires=xxx"
              },
              {
                "image": "https://dashscope-result-sz.oss-cn-shenzhen.aliyuncs.com/xxx.png?Expires=xxx"
              }
            ]
          }
        }
      ]
    }
  }
  ```

curl

```curl
curl --location 'https://maas.qwencloudapi.com/api/v1/services/aigc/multimodal-generation/generation' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--data '{
  "model": "qwen-image-3.0-pro",
  "input": {
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "image": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/thtclx/input1.png"
          },
          {
            "image": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/iclsnx/input2.png"
          },
          {
            "image": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/gborgw/input3.png"
          },
          {
            "text": "Make the girl from Image 1 wear the black dress from Image 2 and sit in the pose from Image 3."
          }
        ]
      }
    ]
  },
  "parameters": {
    "n": 2,
    "negative_prompt": " ",
    "prompt_extend": true,
    "watermark": false,
    "size": "1024*1536"
  }
}'
```

Exemplo de resposta.

  ```json
  {
    "output": {
      "choices": [
        {
          "finish_reason": "stop",
          "message": {
            "role": "assistant",
            "content": [
              {
                "image": "https://dashscope-result-sz.oss-cn-shenzhen.aliyuncs.com/xxx.png?Expires=xxx"
              },
              {
                "image": "https://dashscope-result-sz.oss-cn-shenzhen.aliyuncs.com/xxx.png?Expires=xxx"
              }
            ]
          }
        }
      ]
    },
    "usage": {
      "output_height": 1536,
      "output_width": 1024,
      "input_image_count": 3,
      "input_image_type": "qima_input_1k",
      "output_image_count": 2,
      "output_image_type": "qima_output_1k"
    },
    "request_id": "bf37ca26-0abe-98e4-8065-xxxxxx"
  }
  ```

Baixe as imagens para o seu dispositivo local.

Python

  ```python
  import requests

  def download_image(image_url, save_path='output.png'):
    try:
      response = requests.get(image_url, stream=True, timeout=300)  # Set timeout
      response.raise_for_status()  # Raise an exception if the HTTP status code is not 200
      with open(save_path, 'wb') as f:
        for chunk in response.iter_content(chunk_size=8192):
          f.write(chunk)
      print(f"Image downloaded successfully to: {save_path}")

    except requests.exceptions.RequestException as e:
      print(f"Image download failed: {e}")

  image_url = "https://dashscope-result-sz.oss-cn-shenzhen.aliyuncs.com/xxx.png?Expires=xxx"
  download_image(image_url, save_path='output.png')
  ```

Java

  ```java
  import java.io.FileOutputStream;
  import java.io.InputStream;
  import java.net.HttpURLConnection;
  import java.net.URL;

  public class ImageDownloader {
    public static void downloadImage(String imageUrl, String savePath) {
      try {
        URL url = new URL(imageUrl);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setConnectTimeout(5000);
        connection.setReadTimeout(300000);
        connection.setRequestMethod("GET");
        InputStream inputStream = connection.getInputStream();
        FileOutputStream outputStream = new FileOutputStream(savePath);
        byte[] buffer = new byte[8192];
        int bytesRead;
        while ((bytesRead = inputStream.read(buffer)) != -1) {
          outputStream.write(buffer, 0, bytesRead);
        }
        inputStream.close();
        outputStream.close();

        System.out.println("Image downloaded successfully to: " + savePath);
      } catch (Exception e) {
        System.err.println("Image download failed: " + e.getMessage());
      }
    }

    public static void main(String[] args) {
      String imageUrl = "https://dashscope-result-sz.oss-cn-shenzhen.aliyuncs.com/xxx.png?Expires=xxx";
      String savePath = "output.png";
      downloadImage(imageUrl, savePath);
    }
  }
  ```

Instruções de entrada

Imagens de entrada (mensagens)

O messages parâmetro é uma matriz que deve conter um único objeto. Este objeto deve incluir o role e content propriedades. O role propriedade deve ser definida como user. O content a propriedade deve incluir ambos image (uma a três imagens, ou uma a dez para o qwen-image-2.1 series) e text (uma instrução de edição).

As imagens de entrada devem atender aos seguintes requisitos:

"messages": [
  {
    "role": "user",
    "content": [
      { "image": "Public URL or Base64 data of Image 1" },
      { "image": "Public URL or Base64 data of Image 2" },
      { "image": "Public URL or Base64 data of Image 3" },
      { "text": "Your editing instruction, for example: 'The girl in Image 1 wears the black dress from Image 2 and sits in the pose from Image 3'" }
    ]
  }
]

Ordem de entrada da imagem

<table style={{width: "100%", borderCollapse: "separate", borderSpacing: "8px 0", tableLayout: "fixed"}}> <thead> <tr> <th style={{textAlign: "left", width: "27%", paddingBottom: "8px"}}>Imagem de entrada 1</th> <th style={{textAlign: "left", width: "20%", paddingBottom: "8px"}}>Imagem de entrada 2</th> <th style={{textAlign: "left", width: "27%", paddingBottom: "8px"}}>Imagem de saída</th>

  <th style={{textAlign: "left", width: "27%", paddingBottom: "8px"}} />
</tr>

</thead>

<tbody> <tr> <td style={{verticalAlign: "top"}}>

    Imagem 1
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/3509593671/p1025839.webp)

    Imagem 2
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/3509593671/p1021092.webp)

    Prompt: Mova a Imagem 1 para a Imagem 2
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/3509593671/p1021093.webp)

    Prompt: Mova a Imagem 2 para a Imagem 1
  </td>
</tr>

</tbody> </table>

Métodos de entrada de imagem

URL público

Codificação Base64

Converta o arquivo de imagem em uma string codificada em Base64 e concatene-a no seguinte formato: data:<mime_type>;base64,<base64_data>.

Mais parâmetros

Ajuste os resultados da geração usando os seguintes parâmetros opcionais:

Os seguintes parâmetros opcionais estão disponíveis apenas para o qwen-image-2.0/3.0 série e qwen-image-2.1-pro:

Para obter uma lista completa de parâmetros, consulte Qwen-Image-Edit Referência da API.

Visão geral

Fusão de múltiplas imagens

<table style={{width: "100%", borderCollapse: "separate", borderSpacing: "8px 0", tableLayout: "fixed"}}> <thead> <tr> <th style={{textAlign: "left", width: "25%", paddingBottom: "8px"}}>Imagem de entrada 1</th> <th style={{textAlign: "left", width: "25%", paddingBottom: "8px"}}>Imagem de entrada 2</th> <th style={{textAlign: "left", width: "25%", paddingBottom: "8px"}}>Imagem de entrada 3</th> <th style={{textAlign: "left", width: "25%", paddingBottom: "8px"}}>Imagem de saída</th> </tr> </thead>

<tbody> <tr> <td style={{verticalAlign: "top"}}> </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/6844029571/p1011753.webp)
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/4405461671/p1012002.webp)
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/4405461671/p1012004.webp) A menina da Imagem 1 usa o colar da Imagem 2 e carrega a bolsa da Imagem 3 no ombro esquerdo.
  </td>
</tr>

</tbody> </table>

Consistência do assunto

<table style={{width: "100%", borderCollapse: "separate", borderSpacing: "8px 0", tableLayout: "fixed"}}> <thead> <tr> <th style={{textAlign: "left", width: "33%", paddingBottom: "8px"}}>Imagem de entrada</th> <th style={{textAlign: "left", width: "33%", paddingBottom: "8px"}}>Imagem de saída 1</th> <th style={{textAlign: "left", width: "34%", paddingBottom: "8px"}}>Imagem de saída 2</th> </tr> </thead>

<tbody> <tr> <td style={{verticalAlign: "top"}}> </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/5844029571/p1011790.webp) Mude a imagem para uma foto de identificação com fundo azul. A pessoa veste camisa branca, terno preto e gravata listrada.
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/6844029571/p1011791.webp) A pessoa veste camisa branca, terno cinza e gravata listrada. Uma mão repousa sobre a gravata. O fundo é de cor clara.
  </td>
</tr>

<tr>
  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/5844029571/p1012037.webp)
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/5844029571/p1012038.webp) O ar condicionado é colocado em uma sala ao lado de um sofá.
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/6844029571/p1012039.webp) A névoa é adicionada pela ventilação do ar condicionado, estendendo-se sobre o sofá. Folhas verdes também são adicionadas.
  </td>
</tr>

</tbody> </table>

Criação de esboço

<table style={{width: "100%", borderCollapse: "separate", borderSpacing: "8px 0", tableLayout: "fixed"}}> <thead> <tr> <th style={{textAlign: "left", width: "33%", paddingBottom: "8px"}}>Imagem de entrada</th> <th style={{textAlign: "left", width: "33%", paddingBottom: "8px"}}>Imagem de saída</th>

  <th style={{textAlign: "left", width: "34%", paddingBottom: "8px"}} />
</tr>

</thead>

<tbody> <tr> <td style={{verticalAlign: "top"}}> </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/6844029571/p1011822.webp) Gere uma imagem que corresponda à forma detalhada descrita na Imagem 1 e siga esta descrição: Uma jovem sorri em um dia ensolarado. Ela usa óculos escuros redondos marrons com armação com estampa de leopardo. Seu cabelo está bem preso, ela usa brincos de pérola, um lenço azul escuro com estrelas roxas e uma jaqueta de couro preta.
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/6844029571/p1011824.webp) Gere uma imagem que corresponda ao formato detalhado descrito na Imagem 1 e siga esta descrição: Um homem idoso sorri para a câmera. Seu rosto está enrugado, seu cabelo está bagunçado pelo vento e ele usa óculos de leitura de armação redonda. Ele tem um lenço vermelho surrado com padrões de estrelas em volta do pescoço e está vestindo uma jaqueta acolchoada de algodão.
  </td>
</tr>

</tbody> </table>

Geração criativa de produtos

<table style={{width: "100%", borderCollapse: "separate", borderSpacing: "8px 0", tableLayout: "fixed"}}> <thead> <tr> <th style={{textAlign: "left", width: "25%", paddingBottom: "8px"}}>Imagem de entrada</th> <th style={{textAlign: "left", width: "25%", paddingBottom: "8px"}}>Imagem de saída</th>

  <th style={{textAlign: "left", width: "25%", paddingBottom: "8px"}} />

  <th style={{textAlign: "left", width: "25%", paddingBottom: "8px"}} />
</tr>

</thead>

<tbody> <tr> <td style={{verticalAlign: "top"}}> </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/5844029571/p1011685.webp) Faça este urso sentar sob a lua (representado por um contorno crescente cinza claro em um fundo branco), segurando um violão, com pequenas estrelas e balões de fala com frases como "Be Kind" flutuando.
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/5844029571/p1011686.webp) Imprima este desenho em uma camiseta e uma sacola de papel. Uma modelo feminina está exibindo esses itens. A mulher também está usando um boné de beisebol com a frase “Seja gentil”.
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/5844029571/p1011687.webp) Um modelo de personagem hiper-realista em escala 1/7, projetado como um produto comercial acabado, é colocado sobre uma mesa com um iMac que possui um teclado branco. O modelo assenta sobre uma base acrílica limpa, redonda e transparente, sem etiquetas ou texto. A iluminação profissional do estúdio destaca os detalhes esculpidos. Na tela do iMac em segundo plano, é exibido o processo de modelagem do ZBrush para o mesmo modelo. Ao lado do modelo, coloque uma caixa de embalagem com janela transparente na frente, mostrando apenas o invólucro de plástico transparente em seu interior. A caixa é um pouco mais alta que o modelo e tem um tamanho razoável para segurá-la.
  </td>
</tr>

<tr>
  <td style={{verticalAlign: "top"}} />

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/5844029571/p999632.png) Este urso está vestindo um traje de astronauta e apontando para longe.
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/6844029571/p999633.png) Este urso está usando um lindo vestido de baile, com os braços abertos em uma elegante pose de dança.
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/6844029571/p999630.png) Este urso está vestindo roupas esportivas, segurando uma bola de basquete e com uma perna dobrada.
  </td>
</tr>

</tbody> </table>

Gerar imagem do mapa de profundidade

<table style={{width: "100%", borderCollapse: "separate", borderSpacing: "8px 0", tableLayout: "fixed"}}> <thead> <tr> <th style={{textAlign: "left", width: "33%", paddingBottom: "8px"}}>Imagem de entrada</th> <th style={{textAlign: "left", width: "33%", paddingBottom: "8px"}}>Imagem de saída</th>

  <th style={{textAlign: "left", width: "34%", paddingBottom: "8px"}} />
</tr>

</thead>

<tbody> <tr> <td style={{verticalAlign: "top"}}> </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/5844029571/p1011811.webp) Gere uma imagem que corresponda ao mapa de profundidade descrito na Imagem 1 e siga esta descrição: Uma bicicleta azul está estacionada em um beco lateral, com algumas ervas daninhas crescendo em rachaduras na pedra ao fundo.
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/5844029571/p1011812.webp) Gere uma imagem que corresponda ao mapa de profundidade descrito na Imagem 1 e siga esta descrição: Uma bicicleta vermelha desgastada está estacionada em um caminho lamacento, com uma densa floresta primitiva ao fundo.
  </td>
</tr>

</tbody> </table>

Gere imagem a partir de pontos-chave

<table style={{width: "100%", borderCollapse: "separate", borderSpacing: "8px 0", tableLayout: "fixed"}}> <thead> <tr> <th style={{textAlign: "left", width: "33%", paddingBottom: "8px"}}>Imagem de entrada</th> <th style={{textAlign: "left", width: "33%", paddingBottom: "8px"}}>Imagem de saída</th>

  <th style={{textAlign: "left", width: "34%", paddingBottom: "8px"}} />
</tr>

</thead>

<tbody> <tr> <td style={{verticalAlign: "top"}}> </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/5844029571/p1011818.webp) Gere uma imagem que corresponda à pose humana delineada na Imagem 1 e siga esta descrição: Uma mulher chinesa em um Hanfu segura um guarda-chuva de papel oleado na chuva, com um jardim de Suzhou ao fundo.
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/6844029571/p1011819.webp) Gere uma imagem que corresponda à pose humana delineada na Imagem 1 e siga esta descrição: Um jovem está na plataforma do metrô. Ele usa um boné de beisebol, uma camiseta e jeans. Um trem passa em alta velocidade atrás dele.
  </td>
</tr>

</tbody> </table>

Edição de texto

<table style={{width: "100%", borderCollapse: "separate", borderSpacing: "8px 0", tableLayout: "fixed"}}> <thead> <tr> <th style={{textAlign: "left", width: "35%", paddingBottom: "8px"}}>Imagem de entrada</th> <th style={{textAlign: "left", width: "35%", paddingBottom: "8px"}}>Imagem de saída</th> <th style={{textAlign: "left", width: "15%", paddingBottom: "8px"}}>Imagem de entrada</th> <th style={{textAlign: "left", width: "15%", paddingBottom: "8px"}}>Imagem de saída</th> </tr> </thead>

<tbody> <tr> <td style={{verticalAlign: "top"}}> </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://img.alicdn.com/imgextra/i4/O1CN01tVRmgU1KTA9Kvy6vN_!!6000000001164-49-tps-1248-832.webp) Substitua 'SEGURO DE SAÚDE' nas peças do Scrabble por '**Amanhã será melhor**'.
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/6844029571/p1000039.png)
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/6844029571/p1000062.png) Mude a frase "Respire" na nota para "**Relaxe e recarregue**".
  </td>
</tr>

</tbody> </table>

<table style={{width: "100%", borderCollapse: "separate", borderSpacing: "8px 0", tableLayout: "fixed"}}> <thead> <tr> <th style={{textAlign: "left", width: "25%", paddingBottom: "8px"}}>Imagem de entrada</th> <th style={{textAlign: "left", width: "25%", paddingBottom: "8px"}}>Imagem de saída</th>

  <th style={{textAlign: "left", width: "25%", paddingBottom: "8px"}} />

  <th style={{textAlign: "left", width: "25%", paddingBottom: "8px"}} />
</tr>

</thead>

<tbody> <tr> <td style={{verticalAlign: "top"}}> </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/6844029571/p1011774.webp) Mudar "Qwen-Image" para uma fonte de tinta preta.
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/6844029571/p1011775.webp) Mudar "Qwen-Image" para uma fonte manuscrita em preto.
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/6844029571/p1011776.webp) Mudar "Qwen-Image" para uma fonte de pixel preto.
  </td>
</tr>

<tr>
  <td style={{verticalAlign: "top"}} />

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/5844029571/p1011777.jpeg) Mudar "Qwen-Image"para vermelho.
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/6844029571/p1011779.jpeg) Mudar "Qwen-Image"para um gradiente azul-roxo.
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/5844029571/p1011780.jpeg) Mudar "Qwen-Image"para cores doces.
  </td>
</tr>

<tr>
  <td style={{verticalAlign: "top"}} />

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/6844029571/p1011783.webp) Altere o material de "Qwen-Image"para metal.
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/6844029571/p1011784.webp) Altere o material de "Qwen-Image"para as nuvens.
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/5844029571/p1011786.webp) Altere o material de "Qwen-Image"para o vidro.
  </td>
</tr>

</tbody> </table>

Adicionar, excluir, substituir e modificar

<table style={{width: "100%", borderCollapse: "separate", borderSpacing: "8px 0", tableLayout: "fixed"}}> <thead> <tr> <th style={{textAlign: "left", width: "25%", paddingBottom: "8px"}}>Imagem de entrada</th> <th style={{textAlign: "left", width: "25%", paddingBottom: "8px"}}>Imagem de saída</th> <th style={{textAlign: "left", width: "25%", paddingBottom: "8px"}}>Imagem de entrada</th> <th style={{textAlign: "left", width: "25%", paddingBottom: "8px"}}>Imagem de saída</th> </tr> </thead>

<tbody> <tr> <td style={{verticalAlign: "top"}}> </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/5844029571/p999648.png) Adicione uma pequena placa de madeira na frente do pinguim que diz "Bem-vindo à Praia dos Pinguins".
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/5844029571/p999649.png)
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/6844029571/p999650.png) Remova o cabelo da placa.
  </td>
</tr>

</tbody> </table>

Transformação de ponto de vista

<table style={{width: "100%", borderCollapse: "separate", borderSpacing: "8px 0", tableLayout: "fixed"}}> <thead> <tr> <th style={{textAlign: "left", width: "25%", paddingBottom: "8px"}}>Imagem de entrada</th> <th style={{textAlign: "left", width: "25%", paddingBottom: "8px"}}>Imagem de saída</th> <th style={{textAlign: "left", width: "25%", paddingBottom: "8px"}}>Imagem de entrada</th> <th style={{textAlign: "left", width: "25%", paddingBottom: "8px"}}>Imagem de saída</th> </tr> </thead>

<tbody> <tr> <td style={{verticalAlign: "top"}}> </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/5844029571/p999968.png) Obtenha uma visão frontal.
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/5844029571/p999969.png)
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/6844029571/p999970.png) Rosto para a esquerda.
  </td>
</tr>

<tr>
  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/5844029571/p999974.png)
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/5844029571/p999975.png) Obtenha uma visão traseira.
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/6844029571/p999971.png)
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/5844029571/p999972.png) Vire para a direita.
  </td>
</tr>

</tbody> </table>

Processamento de fotos antigas

<table style={{width: "100%", borderCollapse: "separate", borderSpacing: "8px 0", tableLayout: "fixed"}}> <thead> <tr> <th style={{textAlign: "left", width: "50%", paddingBottom: "8px"}}>Imagem de entrada</th> <th style={{textAlign: "left", width: "50%", paddingBottom: "8px"}}>Imagem de saída</th> </tr> </thead>

<tbody> <tr> <td style={{verticalAlign: "top"}}> </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/6844029571/p999554.png) Restaure a foto antiga, remova arranhões, reduza o ruído, aprimore detalhes, alta resolução, imagem realista, tom de pele natural, características faciais nítidas, sem distorção.
  </td>
</tr>

<tr>
  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/5844029571/p1011757.webp)
  </td>

  <td style={{verticalAlign: "top"}}>
    ![](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/6844029571/p1011759.webp) Colora a imagem de forma inteligente com base em seu conteúdo para torná-la mais vívida.
  </td>
</tr>

</tbody> </table>

Limites de faturamento e taxas

Para cota gratuita e preços, consulte preços.

Para limites de taxas, consulte Limites de taxas.

Detalhes de cobrança:

Referência de API

Para os parâmetros de entrada e saída da API, consulte Qwen - edição de imagem.

Códigos de erro

Se uma chamada falhar, consulte Mensagens de erro.

Perguntas frequentes

P: Quais idiomas o Qwen suporte para modelos de edição de imagem?

Eles oferecem suporte oficial para chinês simplificado e inglês. Outros idiomas podem funcionar, mas os resultados não são garantidos.

P: Como posso visualizar as métricas de invocação de modelo?

Uma hora após a conclusão de uma invocação de modelo, vá para o Analytics para visualizar métricas como contagem de invocações e taxa de sucesso. Para obter mais informações, consulte Faturamento e gerenciamento de custos.

P: Como posso obter a lista de permissões de nomes de domínio para armazenamento de imagens?

As imagens geradas pelos modelos são armazenadas no OSS. A API retorna um URL público temporário. Para configurar uma lista de permissões de firewall para este URL de download, observe o seguinte: O armazenamento subjacente pode mudar dinamicamente. Este tópico não fornece uma lista de permissões fixa de nomes de domínio OSS para evitar problemas de acesso causados por informações desatualizadas. Se você tiver requisitos de controle de segurança, entre em contato com seu gerente de conta para obter a lista mais recente de nomes de domínio OSS.

Para obter mais informações, consulte Perguntas frequentes sobre imagens e vídeos.