Qwen: Qwen Image 3
Qwen-Image-3.0 combina generación y edición de imágenes para composiciones con mucha información, escenas detalladas y tipografía multilingüe. La edición estándar equilibra calidad y velocidad, y acepta un encargo textual o hasta tres imágenes con una instrucción de edición.
Sobre el modelo
Esta descripción cubre las capacidades del modelo. Las entradas, salidas y opciones disponibles en Ailoot se indican a continuación para el método seleccionado.
Qwen-Image-3.0 es el modelo de imagen de tercera generación de Qwen, que combina la creación de texto a imagen y la edición basada en referencias en un solo modelo. La edición estándar equilibra la calidad de imagen y la velocidad de respuesta, mientras que Qwen-Image-3.0 Pro es la variante insignia orientada a la calidad. Una solicitud produce una imagen: un cartel, una explicación ilustrada, una escena de producto, un storyboard o una fotografía revisada, en lugar de un documento editable o una interfaz en funcionamiento.
Sus capacidades para contenidos complejos encajan con un lienzo que incluya varias secciones relacionadas o una composición visual anidada. Prepara los encabezados, el texto exacto, la jerarquía y la relación entre paneles antes de añadir detalles de estilo. Para una comparación de productos, un encargo útil especifica la vista principal del producto, los atributos que se deben etiquetar y el orden de lectura de los paneles de apoyo. Para un storyboard, describe por separado el sujeto, la acción y el texto de cada viñeta. El máximo recomendado para el prompt es de 4.500 tokens; utiliza ese espacio para el contenido y la composición que la imagen realmente necesita.
El modelo admite texturas detalladas, tipografía con texto pequeño demostrado a 10 píxeles y representación nativa en 12 idiomas con múltiples fuentes y estilos artísticos. Estas capacidades permiten combinar un objeto realista con un gráfico que contenga mucha información, en lugar de obligar a elegir entre una fotografía y una composición con abundante texto. Proporciona las palabras y los números exactos que deben aparecer, su idioma previsto y su ubicación. Trata una interfaz generada como una maqueta visual: los botones, gráficos y etiquetas de la imagen no implementan el comportamiento de una aplicación.
La edición puede cambiar texto, añadir o eliminar objetos, mover elementos, ajustar la acción de un sujeto, transferir un estilo o mejorar los detalles de una imagen dañada. Proporciona entre una y tres imágenes y una única instrucción de edición clara. La numeración de las imágenes sigue el orden en que se proporcionan, por lo que debes identificar qué imagen aporta el sujeto, cuál proporciona una prenda u objeto y cuál aporta el entorno. Para una escena de producto, pide que se coloque el objeto de la imagen 1 en el entorno de la imagen 2, conservando las características que distinguen al producto. Explicita los cambios y los requisitos de conservación.
El flujo exacto de entrada de imágenes acepta JPG, JPEG, PNG, BMP, TIFF, WebP y GIF; de un GIF animado solo se procesa el primer fotograma. Cada imagen puede ocupar hasta 10 MB. La API actual acepta dimensiones de 1 a 8.000 píxeles, con una relación entre el lado largo y el corto no superior a 10:1, y recomienda 384–2.048 píxeles para obtener buenos resultados. Elige una entrada que muestre con claridad los detalles que se van a transferir o editar. Una referencia demasiado recortada puede ocultar la estructura circundante necesaria para colocar un objeto de forma natural.
La salida es PNG, con entre una y seis imágenes por solicitud y una como valor predeterminado. La superficie de salida en píxeles va de 512 × 512 a 2.048 × 2.048, con relaciones de aspecto entre 1:8 y 8:1; son límites de superficie, no una regla según la cual cada lado deba medir como máximo 2.048 píxeles. Si no se proporciona un tamaño, el modelo recomienda una resolución a partir del prompt. Selecciona una composición horizontal, cuadrada o vertical para el uso previsto y examina después la imagen devuelta a ese tamaño real, de modo que puedas evaluar las etiquetas pequeñas y los detalles finos donde van a aparecer.
La reescritura del prompt está activada por defecto en el flujo del fabricante. La mejora directa funciona tanto para la generación como para la edición; la mejora mediante agente es un modo de reescritura más elaborado, exclusivo de texto a imagen, que se rechaza para la edición de imagen a imagen. El razonamiento está activado por defecto, requiere la reescritura del prompt y aumenta el tiempo de generación. Los prompts negativos pueden describir elementos no deseados, mientras que una semilla fija ayuda a comparar variaciones. Expresa con claridad las exclusiones y los requisitos exactos de conservación, en lugar de esperar que una semilla haga que un encargo cambiante devuelva una imagen idéntica.
Para obtener un resultado final útil, examina las palabras representadas, las unidades, el orden de los paneles y los detalles que identifican al sujeto, y revisa después la parte concreta que no haya cumplido el encargo. Una respuesta con varias imágenes ofrece alternativas para comparar; mantén cada imagen devuelta asociada al prompt y a las referencias que la produjeron. Las direcciones de las imágenes del fabricante caducan a las 24 horas, por lo que debes conservar el archivo de imagen real cuando el resultado pase a formar parte de un proyecto. La edición estándar 3.0 sigue siendo distinta de Pro y de los modelos Qwen 2.1, con sus diferentes cantidades de referencias y funciones de transparencia.
Ailoot Ultra · Imágenes POST /v1/images/generations qwen/qwen-image-3
qwen/qwen-image-3Primeros pasos
Qwen-Image-3.0 combina generación y edición de imágenes para composiciones con mucha información, escenas detalladas y tipografía multilingüe. La edición estándar equilibra calidad y velocidad, y acepta un encargo textual o hasta tres imágenes con una instrucción de edición.
- Entradas aceptadas
- Texto · Imágenes
- Resultados
- Imágenes
Disponible en Ailoot · entradas y métodos
Ailoot Ultra · Imágenes POST /v1/images/generations
- Tipos de entrada
text,image- Tipos de salida
image
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites qwen/qwen-image-3 | Predeterminado— |
Campoprompt | Tipostring | RequisitoObligatorio | Valores y límites Longitud mínima: 1 | Predeterminado— |
Camporesolution | Tipostring | RequisitoOpcional | Valores y límites 1K, 2K | Predeterminado— |
Campoaspect_ratio | Tipostring | RequisitoOpcional | Valores y límites 1:1, 1:2, 1:4, 2:1, 2:3, 3:2, 3:4, 4:1, 4:3, 4:5, 5:4, 9:16, 16:9 | Predeterminado— |
Campon | Tipointeger | RequisitoOpcional | Valores y límites Mínimo: 1 Máximo: 6 | Predeterminado— |
Campoinput_references | Tipoarray | RequisitoOpcional | Valores y límites Número mínimo de elementos: 0 Número máximo de elementos: 4 | Predeterminado— |
Campoprovider | Tipoobject | RequisitoOpcional | Valores y límites | Predeterminado— |
Parámetros del método y ciclo de vida
| Parámetro | Contrato |
|---|---|
Parámetrocontent_type | Contratoapplication/json |
Parámetrorequired | Contratomodel, prompt |
Parámetromaterial_types | Contratotext, image |
Ciclo de vida: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · task_id real devuelto o registro de la biblioteca multimedia
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Planes
Cómo se calcula el cargo definitivo
Las tarifas mostradas estiman el coste antes de la generación. El cargo final se calcula a partir del coste registrado para la generación original. La duración medida del resultado y las cantidades previstas no constituyen la cantidad facturable final.
Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.
- Modo rápido
- Sin especificar Cuando se selecciona el modo rápido
- Modo flex
- Sin especificar Cuando se selecciona el modo flex
- Esfuerzo máximo de razonamiento
- Sin especificar Cuando el esfuerzo máximo de razonamiento utiliza el ajuste predeterminado (default)
Tarifas estimadas para comparar
Precios por configuración
Relaciona cada cargo con las condiciones mostradas. Usa una tarifa para cada conjunto de configuraciones alternativas.
| Configuración | Tabla de tarifas | Cantidad prevista | Unidad de facturación | Cargo |
|---|---|---|---|---|
| ConfiguraciónTarifas base por token | Tabla de tarifasTarifa base | Cantidad prevista— | Unidad de facturación— | Cargo Entrada · Tokens de entrada · Estimación solo para comparar — / 1K tokens Salida · Tokens de salida · Estimación solo para comparar — / 1K tokens Entrada · Lectura de caché · Estimación solo para comparar — / 1K tokens Entrada · Escritura en caché · Estimación solo para comparar — / 1K tokens Entrada · Escritura en caché, 1 hora · Estimación solo para comparar — / 1K tokens |
| Configuraciónimagen de entrada | Tabla de tarifas— | Cantidad prevista— | Unidad de facturaciónpor imagen de entrada | Cargo Entrada · imagen de entrada · Estimación solo para comparar $0.006 por imagen de entrada |
| ConfiguraciónCoste estimado de generación | Tabla de tarifas— | Cantidad previstaestimación para una generación | Unidad de facturación— | Cargo Salida · Coste estimado de generación · Estimación solo para comparar $0.06 estimación previa a la generación Esta estimación no es un cargo adicional ni una tarifa fija para la generación completada. |
Ailoot reserva un importe estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. Cómo funcionan la reserva y la liquidación →
Solicitudes de ejemplo
Ailoot Ultra · Imágenes
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'model': 'qwen/qwen-image-3', 'prompt': 'a red panda astronaut floating in space, studio lighting'}
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin
def save_images(items):
if not items: raise SystemExit("No completed images; retain the full response")
for index, item in enumerate(items):
encoded=item.get("b64_json")
uri=item.get("url", "")
if not encoded and uri.startswith("data:image/"):
header, separator, encoded=uri.partition(",")
if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
if encoded:
raw=base64.b64decode(encoded,validate=True)
elif uri:
uri=urljoin("https://api.ailoot.ai",uri)
parsed=urlsplit(uri)
if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
raise SystemExit("Invalid returned image URL")
owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
args=["curl","--fail-with-body","--silent","--show-error",uri]
if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
temporary=Path(f"image-{index}.bin")
subprocess.run(args+["-o",str(temporary)],check=True)
raw=temporary.read_bytes()
temporary.unlink()
else: raise SystemExit("Image has neither bytes nor URL")
if not raw: raise SystemExit("Empty image result")
ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
Path(f"image-{index}.{ext}").write_bytes(raw)
print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
Recibir y guardar resultados
Ailoot Ultra · Imágenes
Descarga cada imagen recibida o guarda su contenido Base64
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Otras consultas de contenido
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
Conserva todos los resultados completados
Guarda todas las imágenes completadas; descarga cada URL recibida o decodifica su contenido Base64.
Conserva la respuesta completa y las cabeceras, todas las salidas reales, los identificadores originales devueltos y todos los campos de uso. Recupera la operación original sin volver a enviar la solicitud de creación.
Si es necesario revisar la respuesta original
Conserva el X-Client-Request-ID devuelto para la conciliación. Consulta únicamente los valores task_id/asset_id realmente devueltos o la biblioteca multimedia propia; nunca construyas una URL de tarea a partir del ID de la operación ni vuelvas a enviar la solicitud de creación.
Campos de respuesta
| Campo | Tipo |
|---|---|
Campocreated | Tipo |
Campodata[].url | Tipo |
Campodata[].b64_json | Tipo |
Campousage | Tipo |
Alias
Alias del modelo
Ailoot Ultra qwen/qwen-image-3
Alias de rutas de métodos
/v1/images
ID de modelo relacionados
FAQ · Qwen: Qwen Image 3
- ¿Qué entradas y resultados están disponibles?
POST /v1/images/generations·qwen/qwen-image-3:text,image→image- ¿Qué campos utiliza la solicitud?
POST /v1/images/generations·qwen/qwen-image-3:model,prompt,resolution,aspect_ratio,n,input_references,provider- ¿Qué límites se aplican?
POST /v1/images/generations·qwen/qwen-image-3:n.minimum:1;n.maximum:6