Qwen-Image es un modelo de generación de imágenes de propósito general que admite múltiples estilos artísticos y destaca en la representación compleja de texto. Maneja diseños de varias líneas, generación de texto a nivel de párrafo y representación de detalles finos.
Acceso rápido: Guía del usuario | Pruébelo en línea (Singapore | Pekín) | Blog técnico (más ejemplos) |
Ejemplos
Prompt | Imagen generada |
|---|---|
Un póster dibujado a mano de estilo reconfortante que presenta a tres cachorros jugando con una pelota sobre un exuberante césped verde, adornado con elementos decorativos como pájaros y estrellas. El título principal «¡A jugar a la pelota!» aparece prominentemente en la parte superior con una fuente de caricatura azul y en negrita. Debajo, el subtítulo «¡Ven [a lucir tus habilidades]!» aparece en fuente verde. Un globo de diálogo añade un encanto lúdico con el texto: «Jeje, ¡mira cómo asombro a mis amiguitos ahora!» En la parte inferior, el texto complementario dice: «¡Podemos volver a jugar a la pelota con nuestros amigos!» La paleta de colores se centra en verdes y azules frescos, con acentos en tonos rosa brillante y amarillo para resaltar una atmósfera alegre e infantil. |
|
Resumen de modelos
Modelo | Descripción | Especificaciones de la imagen de salida |
|---|---|---|
qwen-image-2.0-pro Mismas capacidades que qwen-image-2.0-pro-2026-04-22 | Serie Pro Qwen para generación y edición de imágenes. Ofrece un renderizado de texto más potente, texturas realistas y adherencia semántica. Para la edición de imágenes, consulte Edición de Qwen-Image. | Resolución: Establezca el ancho y el alto libremente. El total de píxeles debe estar entre 512×512 y 2048×2048. La resolución predeterminada es 2048×2048. Formato: PNG Número de imágenes: 1–6 |
qwen-image-2.0-pro-2026-06-22 | ||
qwen-image-2.0-pro-2026-04-22 | ||
qwen-image-2.0-pro-2026-03-03 | ||
qwen-image-2.0 Mismas capacidades que qwen-image-2.0-2026-03-03 | Serie acelerada Qwen para generación y edición de imágenes. Equilibra la calidad y la velocidad de respuesta. Para la edición de imágenes, consulte Edición de Qwen-Image. | |
qwen-image-2.0-2026-03-03 |
NotaAntes de llamar a la API, consulte la lista de modelos compatibles para su región.
Requisitos previos
Antes de realizar una llamada, obtenga una clave de API y exporte la clave de API como variable de entorno. Para realizar llamadas mediante el SDK, instale el SDK de DashScope.
ImportanteLas regiones de China (Pekín) y Singapur tienen claves de API y endpoints de solicitud separados. No pueden utilizarse indistintamente. Las llamadas entre regiones provocan fallos de autenticación o errores de servicio.
API síncrona
HTTP
Las llamadas síncronas devuelven resultados en una única solicitud.
Singapur:POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
Beijing:POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
Reemplace {WorkspaceId} con su ID de espacio de trabajo real.
Parámetros de solicitud | Texto a imagen |
Encabezados de solicitud | |
Content-Type El tipo de contenido de la solicitud. Debe ser | |
Authorization Autentica la solicitud con una clave API de Model Studio. Ejemplo: Bearer sk-xxxx. | |
Cuerpo de la solicitud | |
model Nombre del modelo. Ejemplo: | |
input Información de entrada. | |
parameters Parámetros de procesamiento de imágenes. |
Parámetros de respuesta | Tarea exitosaLas URL de las imágenes son válidas solo durante 24 horas y luego se eliminan automáticamente. Guarde las imágenes generadas con prontitud. Tarea fallidaSi la tarea falla, la respuesta incluye detalles del error en los campos code y message. Consulte Códigos de error. |
output Información de salida de la tarea. | |
usage NotaLas llamadas síncronas del SDK ImageSynthesis no devuelven este campo. Estadísticas de salida. Cuenta solo los resultados exitosos. | |
request_id Identificador único de solicitud para rastreo y solución de problemas. | |
code Código de error. Se devuelve solo para solicitudes fallidas. Consulte Códigos de error. | |
message Mensaje de error detallado. Se devuelve solo para solicitudes fallidas. Consulte Códigos de error. |
Llamada al SDK de DashScope
El SDK de DashScope es compatible con Python y Java.
Los nombres de los parámetros en el SDK coinciden estrechamente con los parámetros HTTP, y las estructuras de los parámetros siguen las convenciones específicas del lenguaje. Para los parámetros de llamadas síncronas, consulte HTTP.
Python
NotaInstale la última versión del SDK de Python de DashScope para evitar errores de ejecución: Instalar SDK.
Ejemplo de solicitud
import json
import os
import dashscope
from dashscope import MultiModalConversation
# Singapore region. Replace {WorkspaceId} with your actual workspace ID. URLs vary by region.
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
messages = [
{
"role": "user",
"content": [
{"text": "Healing-style hand-drawn poster featuring three puppies playing with a ball on lush green grass, adorned with decorative elements such as birds and stars. The main title “Come Play Ball!” is prominently displayed at the top in bold, blue cartoon font. Below it, the subtitle “Come [Show Off Your Skills]!” appears in green font. A speech bubble adds playful charm with the text: “Hehe, watch me amaze my little friends next!” At the bottom, supplementary text reads: “We get to play ball with our friends again!” The color palette centers on fresh greens and blues, accented with bright pink and yellow tones to highlight a cheerful, childlike atmosphere."}
]
}
]
# API keys differ between Beijing and Singapore regions. Get your API key: https://www.alibabacloud.com/help/model-studio/get-api-key
# If you haven't set the environment variable, replace the line below with: api_key="sk-xxx"
api_key = os.getenv("DASHSCOPE_API_KEY")
response = MultiModalConversation.call(
api_key=api_key,
model="qwen-image-2.0-pro",
messages=messages,
result_format='message',
stream=False,
watermark=False,
prompt_extend=True,
negative_prompt="Low resolution, low quality, distorted limbs, malformed fingers, oversaturated colors, wax-figure appearance, lack of facial detail, excessive smoothness, AI-looking artifacts, chaotic composition, blurry or warped text.",
size='2048*2048'
)
if response.status_code == 200:
print(json.dumps(response, ensure_ascii=False))
else:
print(f"HTTP status code: {response.status_code}")
print(f"Error code: {response.code}")
print(f"Error message: {response.message}")
print("See documentation: https://www.alibabacloud.com/help/model-studio/error-code")
Ejemplo de respuesta
Las URL de las imágenes caducan después de 24 horas. Descargue las imágenes con prontitud.
{
"status_code": 200,
"request_id": "d2d1a8c0-325f-9b9d-8b90-xxxxxx",
"code": "",
"message": "",
"output": {
"text": null,
"finish_reason": null,
"choices": [
{
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": [
{
"image": "https://dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com/xxx.png?Expires=xxx"
}
]
}
}
]
}
}
Java
NotaDebe instalar la última versión del SDK de Java de DashScope. De lo contrario, pueden producirse errores de ejecución: Instalar SDK.
Ejemplo de solicitud
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;
public class QwenImage {
static {
// Singapore region. Replace {WorkspaceId} with your actual workspace ID. URLs vary by region.
Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
}
// API keys differ between Beijing and Singapore regions. Get your API key: https://www.alibabacloud.com/help/model-studio/get-api-key
// If you haven't set the environment variable, replace the line below with: static String apiKey="sk-xxx"
static String apiKey = System.getenv("DASHSCOPE_API_KEY");
public static void call() throws ApiException, NoApiKeyException, UploadFileException, IOException {
MultiModalConversation conv = new MultiModalConversation();
MultiModalMessage userMessage = MultiModalMessage.builder().role(Role.USER.getValue())
.content(Arrays.asList(
Collections.singletonMap("text", "Healing-style hand-drawn poster featuring three puppies playing with a ball on lush green grass, adorned with decorative elements such as birds and stars. The main title “Come Play Ball!” is prominently displayed at the top in bold, blue cartoon font. Below it, the subtitle “Come [Show Off Your Skills]!” appears in green font. A speech bubble adds playful charm with the text: “Hehe, watch me amaze my little friends next!” At the bottom, supplementary text reads: “We get to play ball with our friends again!” The color palette centers on fresh greens and blues, accented with bright pink and yellow tones to highlight a cheerful, childlike atmosphere.")
)).build();
Map<String, Object> parameters = new HashMap<>();
parameters.put("watermark", false);
parameters.put("prompt_extend", true);
parameters.put("negative_prompt", "Low resolution, low quality, distorted limbs, malformed fingers, oversaturated colors, wax-figure appearance, lack of facial detail, excessive smoothness, AI-looking artifacts, chaotic composition, blurry or warped text.");
parameters.put("size", "2048*2048");
MultiModalConversationParam param = MultiModalConversationParam.builder()
.apiKey(apiKey)
.model("qwen-image-2.0-pro")
.messages(Collections.singletonList(userMessage))
.parameters(parameters)
.build();
MultiModalConversationResult result = conv.call(param);
System.out.println(JsonUtils.toJson(result));
}
public static void main(String[] args) {
try {
call();
} catch (ApiException | NoApiKeyException | UploadFileException | IOException e) {
System.out.println(e.getMessage());
}
System.exit(0);
}
}
Ejemplo de respuesta
Las URL de las imágenes caducan después de 24 horas. Descargue las imágenes con prontitud.
{
"requestId": "5b6f2d04-b019-40db-a5cc-xxxxxx",
"output": {
"choices": [
{
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": [
{
"image": "https://dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com/xxx.png?Expires=xxx"
}
]
}
}
]
}
}
Uso con el SDK de OpenAI Agents
Los modelos de generación de imágenes como Qwen-Image se invocan a través de la API nativa de DashScope y no admiten el modo compatible con OpenAI (compatible-mode), por lo que no pueden utilizarse directamente como modelo de razonamiento de un Agente en el SDK de Agentes de OpenAI.
En frameworks de agentes como el SDK de Agentes de OpenAI, puede encapsular la generación de imágenes como una herramienta (function tool) y permitir que un modelo de chat de texto que admita el modo compatible con OpenAI (como qwen-plus) actúe como núcleo de razonamiento del Agente para orquestarla. Por ejemplo:
Antes de ejecutar, instale las dependencias: pip install openai-agents dashscope.
import os
import asyncio
import dashscope
from openai import AsyncOpenAI
from dashscope import MultiModalConversation
from agents import Agent, Runner, function_tool, OpenAIChatCompletionsModel
# Read the Model Studio API Key from an environment variable
# (or replace with api_key="sk-xxx")
API_KEY = os.getenv("DASHSCOPE_API_KEY")
# Singapore region. Replace {WorkspaceId} with your actual workspace ID. URLs vary by region.
dashscope.base_http_api_url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1"
# The text chat model (the Agent's reasoning core) is accessed via OpenAI-compatible mode
client = AsyncOpenAI(api_key=API_KEY, base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1")
# Wrap image generation as a function tool for the Agent to call
@function_tool
def generate_image(prompt: str) -> str:
"""Generate an image from a text description and return its URL. prompt: the text description of the image."""
rsp = MultiModalConversation.call(
api_key=API_KEY,
model="qwen-image-2.0-pro",
messages=[{"role": "user", "content": [{"text": prompt}]}],
result_format="message",
)
if rsp.status_code != 200:
return f"Generation failed: {rsp.code} {rsp.message}"
return rsp.output.choices[0].message.content[0]["image"]
agent = Agent(
name="Image Assistant",
instructions="You are an image generation assistant. When the user wants an image, call the generate_image tool and return the image URL to the user.",
model=OpenAIChatCompletionsModel(model="qwen-plus", openai_client=client),
tools=[generate_image],
)
async def main():
result = await Runner.run(agent, "Draw a corgi running on the grass")
print(result.final_output)
if __name__ == "__main__":
asyncio.run(main())
Facturación y limitación de tasa
- Para cuotas gratuitas y precios, consulte Precios de modelos.
- Para límites de velocidad, consulte Qwen-Image.
- Detalles de facturación: Se factura cada imagen generada correctamente. Las llamadas fallidas o los errores de procesamiento no generan cargos ni consumen su cuota gratuita para nuevos usuarios.
Códigos de error
Si la llamada al modelo falla y devuelve un mensaje de error, consulte Códigos de error para su resolución.
FAQ
P: ¿Debo habilitar o deshabilitar el parámetro prompt_extend?
R: Active esta opción (predeterminada) si desea want un contenido de imagen más diverso y que el modelo añada detalles. Desactívela si necesita un control más estricto sobre los detalles de la imagen y optimice sus prompts utilizando la Guía de prompts de texto a imagen.
P: ¿Cuáles son las diferencias entre los modelos de la serie qwen-image-2.0?
R:
-
Modelos combinados de generación y edición de imágenes: Admiten tanto texto a imagen como edición de imágenes.
qwen-image-2.0-proyqwen-image-2.0-pro-2026-03-03: Mismas capacidades. La serie Pro ofrece una representación de texto más profesional, texturas realistas más finas, escenas realistas detalladas y una mayor adherencia semántica. Solo admite llamadas síncronas.qwen-image-2.0yqwen-image-2.0-2026-03-03: Mismas capacidades. La versión acelerada equilibra el rendimiento y la calidad del modelo. Solo admite llamadas síncronas.
P: ¿Cómo obtengo la lista blanca de nombres de dominio para el almacenamiento de imágenes?
R: Las imágenes generadas por los modelos se almacenan en OSS. La API devuelve una URL pública temporal. Para configurar una lista blanca de firewall para esta URL de descarga, tenga en cuenta lo siguiente: El almacenamiento subyacente puede cambiar dinámicamente. Este tema no proporciona una lista blanca fija de dominios de OSS para evitar problemas de acceso causados por información obsoleta. Si tiene requisitos de control de seguridad, póngase en contacto con su gestor de cuenta para obtener la lista más reciente de nombres de dominio de OSS.
