Qwen: Qwen Image 3
Qwen-Image-3.0 associe génération et retouche d’images pour des mises en page riches en informations, des scènes détaillées et une typographie multilingue. L’édition standard équilibre qualité et vitesse, avec une description textuelle ou jusqu’à trois images accompagnées d’une consigne de retouche.
À propos du modèle
Cette description présente les capacités du modèle. Les entrées, sorties et options disponibles dans Ailoot pour la méthode sélectionnée figurent ci-dessous.
Qwen-Image-3.0 est le modèle d’image de troisième génération de Qwen, qui réunit création d’images à partir de texte et retouche à partir de références dans un même modèle. L’édition standard équilibre qualité d’image et rapidité de réponse, tandis que Qwen-Image-3.0 Pro est la version phare axée sur la qualité. Une requête produit une image : une affiche, une explication illustrée, une scène de produit, un scénarimage ou une photographie retouchée, plutôt qu’un document modifiable ou une interface fonctionnelle.
Ses capacités de contenu riche conviennent à une composition comprenant plusieurs sections liées ou une mise en page visuelle imbriquée. Préparez les titres, le texte exact, la hiérarchie et les relations entre les panneaux avant d’ajouter des détails de style. Pour une comparaison de produits, une description utile précise la vue principale du produit, les attributs à légender et l’ordre de lecture des panneaux complémentaires. Pour un scénarimage, décrivez séparément le sujet, l’action et la légende de chaque panneau. La longueur maximale recommandée de l’invite est de 4 500 jetons; consacrez cet espace au contenu et à la mise en page dont l’image a réellement besoin.
Le modèle prend en charge des textures détaillées, une typographie dont la finesse a été démontrée avec du texte de 10 pixels, et un rendu natif dans 12 langues avec plusieurs polices et styles artistiques. Ces capacités peuvent associer un objet réaliste à un visuel riche en informations, sans imposer de choisir entre une photographie et une mise en page très textuelle. Fournissez les mots et les nombres exacts à afficher, leur langue et leur emplacement. Considérez une interface générée comme une maquette visuelle : les boutons, graphiques et libellés de l’image ne réalisent pas les fonctions d’une application.
La retouche permet de modifier du texte, d’ajouter ou de supprimer des objets, de déplacer des éléments, d’ajuster l’action d’un sujet, de transférer un style ou d’améliorer les détails d’une image abîmée. Fournissez une à trois images et une seule consigne de retouche claire. La numérotation des images suit l’ordre d’envoi : précisez donc laquelle fournit le sujet, laquelle fournit un vêtement ou un objet et laquelle fournit le décor. Pour une scène de produit, demandez de placer l’objet de l’image 1 dans l’environnement de l’image 2 tout en conservant les caractéristiques qui distinguent le produit. Précisez explicitement les changements et les éléments à préserver.
Le processus d’entrée d’images concerné accepte JPG, JPEG, PNG, BMP, TIFF, WebP et GIF; seule la première image d’un GIF animé est traitée. Chaque image peut atteindre 10 MB. L’API actuelle accepte des dimensions de 1 à 8 000 pixels, avec un rapport entre le côté long et le côté court ne dépassant pas 10:1, et recommande 384–2 048 pixels pour de bons résultats. Choisissez une entrée montrant clairement les détails à transférer ou à modifier. Une référence très recadrée peut masquer la structure environnante nécessaire pour placer un objet naturellement.
La sortie est au format PNG, avec une à six images par requête et une image par défaut. La surface en pixels va de 512 × 512 à 2 048 × 2 048, avec des rapports d’aspect compris entre 1:8 et 8:1; il s’agit de limites de surface, et non d’une règle imposant que chaque côté mesure au plus 2 048 pixels. Si aucune taille n’est fournie, le modèle recommande une résolution à partir de l’invite. Choisissez une composition paysage, carrée ou portrait selon l’usage prévu, puis examinez l’image renvoyée à sa taille réelle afin d’évaluer les petites légendes et les détails fins là où ils apparaîtront.
La réécriture de l’invite est activée par défaut dans le processus du fabricant. L’amélioration directe fonctionne pour la génération comme pour la retouche; l’amélioration par agent est un mode de réécriture plus élaboré, réservé à la génération d’images à partir de texte, qui est refusé pour la retouche d’image à image. Le raisonnement est activé par défaut, nécessite la réécriture de l’invite et augmente le temps de génération. Les invites négatives peuvent décrire les éléments indésirables, tandis qu’une graine fixe aide à comparer des variantes. Indiquez clairement les exclusions et les exigences précises de conservation, plutôt que d’attendre d’une graine qu’elle produise une image identique lorsque la description change.
Pour obtenir un résultat final utile, vérifiez les mots rendus, les unités, l’ordre des panneaux et les détails qui identifient le sujet, puis modifiez la partie précise qui ne respecte pas la description. Une réponse comportant plusieurs images offre des alternatives à comparer; conservez le lien entre chaque image renvoyée, l’invite et les références qui l’ont produite. Les adresses d’images du fabricant expirent après 24 heures : conservez donc le fichier image réel lorsque le résultat entre dans un projet. L’édition standard 3.0 reste distincte de Pro et des modèles Qwen 2.1, dont le nombre de références et les fonctions de transparence diffèrent.
Ailoot Ultra · Génération d’images POST /v1/images/generations qwen/qwen-image-3
qwen/qwen-image-3Pour commencer
Qwen-Image-3.0 associe génération et retouche d’images pour des mises en page riches en informations, des scènes détaillées et une typographie multilingue. L’édition standard équilibre qualité et vitesse, avec une description textuelle ou jusqu’à trois images accompagnées d’une consigne de retouche.
- Entrées acceptées
- Texte · Images
- Résultats
- Images
Disponible dans Ailoot · entrées et méthodes
Ailoot Ultra · Génération d’images POST /v1/images/generations
- Entrée
text,image- Sortie
image
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites qwen/qwen-image-3 | Par défaut— |
Champprompt | Typestring | ExigenceObligatoire | Valeurs et limites Longueur minimale: 1 | Par défaut— |
Champresolution | Typestring | ExigenceFacultatif | Valeurs et limites 1K, 2K | Par défaut— |
Champaspect_ratio | Typestring | ExigenceFacultatif | Valeurs et limites 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 | Par défaut— |
Champn | Typeinteger | ExigenceFacultatif | Valeurs et limites Minimum: 1 Maximum: 6 | Par défaut— |
Champinput_references | Typearray | ExigenceFacultatif | Valeurs et limites Nombre minimal d’éléments: 0 Nombre maximal d’éléments: 4 | Par défaut— |
Champprovider | Typeobject | ExigenceFacultatif | Valeurs et limites | Par défaut— |
Paramètres et cycle de vie de la méthode
| Paramètre | Contrat |
|---|---|
Paramètrecontent_type | Contratapplication/json |
Paramètrerequired | Contratmodel, prompt |
Paramètrematerial_types | Contrattext, image |
Cycle de vie : synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · task_id effectivement renvoyé ou enregistrement de la bibliothèque multimédia
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Tarifs
Calcul du coût final
Les tarifs affichés servent à estimer le coût avant la génération. Le montant final est calculé à partir du coût enregistré pour la génération d’origine. La durée mesurée du résultat et les quantités prévisionnelles ne constituent pas la quantité finale facturable.
Les tarifs n’ajoutent pas d’options de requête. Les paramètres pris en charge figurent dans la méthode sélectionnée.
- Mode rapide
- Non précisé Lorsque le mode rapide est sélectionné
- Mode Flex
- Non précisé Lorsque le mode flex est sélectionné
- Effort de raisonnement maximal
- Non précisé Lorsque l’effort de raisonnement maximal utilise l’ajustement par défaut (default)
Tarifs estimés à des fins de comparaison
Prix par configuration
Associez chaque coût aux conditions indiquées. Utilisez un seul tarif pour chaque ensemble de configurations alternatives.
| Configuration | Barème tarifaire | Quantité prévisionnelle | Unité de facturation | Coût |
|---|---|---|---|---|
| ConfigurationTarifs de base des jetons | Barème tarifaireTarif de base | Quantité prévisionnelle— | Unité de facturation— | Coût Entrée · Jetons en entrée · Estimation à des fins de comparaison uniquement — / 1K jetons Sortie · Jetons en sortie · Estimation à des fins de comparaison uniquement — / 1K jetons Entrée · Lecture du cache · Estimation à des fins de comparaison uniquement — / 1K jetons Entrée · Écriture dans le cache · Estimation à des fins de comparaison uniquement — / 1K jetons Entrée · Écriture dans le cache, 1 h · Estimation à des fins de comparaison uniquement — / 1K jetons |
| Configurationimage d’entrée | Barème tarifaire— | Quantité prévisionnelle— | Unité de facturationpar image en entrée | Coût Entrée · image d’entrée · Estimation à des fins de comparaison uniquement $0.006 par image en entrée |
| ConfigurationCoût de génération estimé | Barème tarifaire— | Quantité prévisionnelleestimation pour une génération | Unité de facturation— | Coût Sortie · Coût estimé de génération · Estimation à des fins de comparaison uniquement $0.06 estimation avant génération Cette estimation ne constitue ni des frais supplémentaires ni un tarif fixe pour la génération terminée. |
Ailoot réserve un montant estimé avant une requête. Après le résultat, le montant final est débité selon l’utilisation mesurée. Pour le streaming, le montant final à débiter est calculé à partir du relevé final d’utilisation. Fonctionnement de la réservation et du débit →
Exemples de requêtes
Ailoot Ultra · Génération d’images
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
Recevoir et enregistrer les résultats
Ailoot Ultra · Génération d’images
Téléchargez chaque image renvoyée ou enregistrez son contenu Base64
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Autres lectures de contenu
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.
Conserver tous les résultats terminés
Enregistrez chaque image terminée ; récupérez chaque URL renvoyée ou décodez son contenu Base64.
Conservez la réponse complète et les en-têtes, chaque sortie effective, les identifiants initialement renvoyés et tous les champs d’utilisation. Récupérez l’opération d’origine sans soumettre à nouveau sa création.
Si la réponse d’origine doit être vérifiée
Conservez le X-Client-Request-ID renvoyé pour le rapprochement. Consultez uniquement les valeurs task_id/asset_id effectivement renvoyées ou votre bibliothèque multimédia ; ne construisez jamais une URL de tâche à partir de l’identifiant de l’opération et ne soumettez jamais à nouveau la création.
Champs de la réponse
| Champ | Type |
|---|---|
Champcreated | Type |
Champdata[].url | Type |
Champdata[].b64_json | Type |
Champusage | Type |
Alias
Alias du modèle
Ailoot Ultra qwen/qwen-image-3
Alias des chemins de méthode
/v1/images
ID d’appel associés
FAQ · Qwen: Qwen Image 3
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/images/generations·qwen/qwen-image-3:text,image→image- Quels champs la requête utilise-t-elle ?
POST /v1/images/generations·qwen/qwen-image-3:model,prompt,resolution,aspect_ratio,n,input_references,provider- Quelles limites s’appliquent ?
POST /v1/images/generations·qwen/qwen-image-3:n.minimum:1;n.maximum:6