Alibaba
Qwen Image 2.1
qwen-image-2.1-turbo
Modèle d'image unifié pour la génération texte-image et l'édition d'images, prenant nativement en charge la résolution 2K et la sortie RGBA avec un véritable canal alpha, permettant de désigner plusieurs zones d'édition à l'aide de cercles, d'annotations manuscrites ou de masques
Tarifs
qwen-image-2.1-turbo per image
| Prix unitaire | $0.020 |
|---|
Présentation du positionnement
qwen-image-2.1-turbo est le modèle de génération et d'édition d'images de la série Qwen Image 2.1 destiné aux appels à haute fréquence. Il prend en charge deux types de tâches : la génération texte-vers-image et l'image-vers-image — soit générer une image directement à partir d'un prompt, soit transmettre jusqu'à 10 images de référence et modifier localement une image désignée par son numéro. La sortie est une image statique, produite selon des ratios tels que 1:1 ou 16:9, avec la possibilité de fixer une graine aléatoire pour reproduire les résultats. Il convient aux développeurs qui doivent produire des visuels en série, itérer rapidement sur des prompts et valider des prototypes.
Points clés
- Génération et édition partagent les mêmes paramètres d'appel — pour la génération texte-vers-image, aucune image de référence n'est transmise ; pour l'édition d'image, on transmet 1 à 10 URL d'images, le reste des prompts et la structure des paramètres restant identiques, ce qui réduit le coût d'intégration.
- Les références multiples peuvent être désignées par numéro — plusieurs images d'entrée sont numérotées selon l'ordre du tableau ; dans le prompt, on peut utiliser « image 1 », « image 2 » pour spécifier précisément l'objet à éditer et réduire les ambiguïtés.
- Aléatoire contrôlable — seed couvre 0 à 2147483647 ; une fois fixé, les résultats restent relativement stables, ce qui facilite les tests de régression et la reproductibilité des tâches par lots.
Description des capacités
Appel unifié pour la génération texte-vers-image et image-vers-image : prompt est obligatoire ; sans image_urls, il s'agit d'une génération purement textuelle ; avec 1 à 10 images publiques, la tâche devient une édition — une même interface couvre les deux besoins.
Références multiples et édition par désignation : jusqu'à 10 images de référence peuvent être intégrées en une fois et sont numérotées automatiquement ; le prompt peut appliquer des modifications locales à une image désignée, ce qui convient à l'assemblage de plusieurs éléments ou à l'édition par zones.
Format et dimensions contrôlés : aspect_ratio propose cinq options — 1:1, 16:9, 9:16, 4:3, 3:4 — correspondant à des dimensions fixes en pixels allant de 2048×2048 à 2688×1536 ; si aucun ratio n'est transmis, le modèle le choisit automatiquement selon le prompt et les images de référence.
Option d'extension de prompt : prompt_extend est activé par défaut et optimise automatiquement les prompts courts, au prix de quelques secondes supplémentaires ; il peut être désactivé lorsqu'une mise en page stricte ou le rendu d'un texte spécifié est requis, afin de garantir la contrôlabilité.
Prompts longs et rendu de texte : prompt peut atteindre 4500 caractères, en chinois comme en anglais ; le texte devant apparaître dans l'image peut être écrit caractère par caractère dans le prompt, et un fond transparent peut également être déclaré dans le prompt.
Scénarios d'application
- Production en série de visuels préliminaires par les équipes de design — générer une image finale à partir d'une description textuelle, choisir le format selon les besoins, pour produire rapidement des ébauches destinées aux supports événementiels, aux illustrations pour réseaux sociaux, etc.
- Changement de couleur local sur les images produit en e-commerce — téléverser l'image d'origine du produit en précisant la zone à modifier ; la sortie conserve une composition identique et peut servir directement au remplacement dans les pages de détail et à l'affichage de SKU multicolores.
- Composition multi-éléments et édition à partir de références — transmettre simultanément plusieurs images de référence et les désigner par leur numéro ; la sortie est une image unique fusionnée ou substituée, pour des scènes composites et l'intégration d'éléments.
- Pipelines de traitement par lots reproductibles — en fixant la combinaison seed + prompt et en appelant de manière répétée, on obtient des résultats relativement stables, ce qui facilite l'intégration aux tests automatisés et aux processus de restauration des visuels.
Limites et conseils de choix
Ce modèle produit uniquement des images statiques et ne prend pas en charge la vidéo ni le contenu dynamique. Les images de référence doivent être des URL accessibles publiquement, ne pas dépasser 10 MB chacune, avoir une largeur et une hauteur comprises entre 1 et 8000 pixels et un rapport entre le plus grand et le plus petit côté inférieur ou égal à 10:1 ; hors de ces limites, un prétraitement est nécessaire. Le format ne peut être choisi que parmi cinq options fixes, sans possibilité de spécifier une résolution arbitraire. L'activation de l'extension de prompt entraîne quelques secondes de traitement supplémentaires ; pour les besoins de rendu de texte à mise en page stricte, il est conseillé de la désactiver et de vérifier soi-même le résultat. Ce modèle convient aux tâches de génération et d'édition de taille moyenne privilégiant la vitesse et le coût ; pour une qualité d'image supérieure ou un quota d'appels plus élevé, on peut choisir la version pro de la même série.
Créer une tâche de génération
https://api.hiapi.ai/v1/tasks En-têtes
AuthorizationstringRequisClé API du compte. Requise sur chaque requête. Exemple : Bearer YOUR_HIAPI_API_KEY. Obtenir une clé API
Content-TypestringOptionnelLe corps de la requête est toujours analysé en JSON ; s'il est envoyé, seul application/json (charset facultatif) est accepté — toute autre valeur renvoie 415. Exemple : application/json.
Idempotency-KeystringOptionnelClé d'idempotence, jusqu'à 255 octets. Les reprises avec la même clé du même compte ne créent la tâche qu'une seule fois ; les rejeux renvoient le taskId d'origine.
En cas de timeout réseau ou de relance automatique du client, la même clé ne crée la tâche qu'une seule fois, sans double facturation (portée = le compte de la clé API). Utilisez un identifiant métier unique (ex. "order-42") ; les rejeux renvoient le taskId d'origine et les clés expirent 24 h après la première requête. La matrice complète des scénarios est dans la présentation de l'API asynchrone unifiée.
Corps
modelstringRequisValeur fixe actuelle : qwen-image-2.1-turbo
routestringOptionnelValeur fixe actuelle : default
inputobjectRequis
Objet de paramètres métier pour qwen-image-2.1-turbo et la route default — voir le tableau des paramètres ci-dessous.
seedintegerOptionnelmin 0max 2147483647Graine aléatoire, un entier entre 0 et 2147483647 ; fixer la graine permet de rendre le résultat relativement stable, sinon elle est aléatoire.
promptstringRequisminLength 1maxLength 4500Décrit l'image à générer, ou précise les modifications à apporter aux images de référence ; en chinois ou en anglais. Le texte à afficher doit être écrit mot pour mot dans le prompt ; pour un arrière-plan transparent, indiquez « arrière-plan transparent » dans le prompt.
image_urlsarrayOptionnelminItems 1maxItems 10Tableau d'URL publiques des images de référence ou des images à retoucher, 1 à 10 images ; sans ce paramètre, il s'agit d'une génération texte-vers-image. Les images multiples sont numérotées dans l'ordre du tableau et peuvent être désignées par « image 1 », « image 2 » dans le prompt ; formats pris en charge : JPG, JPEG, PNG, BMP, TIFF, WEBP, GIF, chaque image ne dépassant pas 10 Mo, largeur et hauteur comprises entre 1 et 8000 pixels (384–2048 recommandé), rapport entre le côté long et le côté court ne dépassant pas 10:1.
Array [ string ]
aspect_ratiostringOptionnelFormat de sortie, correspondant à 2048×2048, 2688×1536, 1536×2688, 2368×1728, 1728×2368 ; sans ce paramètre, le modèle choisit automatiquement les dimensions selon le prompt et les images de référence.
1:116:99:164:33:4prompt_extendbooleanOptionnelDéfaut: trueIndique s'il faut optimiser automatiquement le prompt, true par défaut. Activé, il améliore nettement les prompts courts mais ajoute quelques secondes ; désactivez-le pour respecter strictement la mise en page du texte d'origine.
callbackobjectOptionnel
Configuration de notification d'état terminal. Sans elle, aucun callback — interrogez la tâche vous-même.
Fournissez callback.url à la création et HiAPI envoie un POST à votre service à l'état terminal — plus besoin de polling. Le corps du rappel reprend la structure du détail de tâche ; vérification de signature, relances et idempotence sont décrits dans la présentation de l'API asynchrone unifiée.
urlstringRequisObligatoire si callback est présent. Un POST est envoyé vers cette URL à l'état terminal ; doit être une URL http(s) valide.
whenstringOptionnelDéfaut: "final"Seul final est pris en charge pour l'instant — notifié sur success et fail.
finalstoragestringOptionnelDéfaut: "temp"Niveau de stockage des artefacts : temp (par défaut, ~7 jours) ou persistent (long terme, facturé au volume). Solde insuffisant ou dépassement de limite ⇒ rétrogradation silencieuse en temp ; le niveau effectif figure dans la réponse de détail.
temppersistentExemples de requête
# Soumet une tâche asynchrone ; renvoie immédiatement un taskId (n'attend pas la génération)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-image-2.1-turbo",
"input": {
"prompt": "…",
"prompt_extend": true
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "qwen-image-2.1-turbo",
input: {
"prompt": "…",
"prompt_extend": true
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "qwen-image-2.1-turbo",
"input": {
"prompt": "…",
"prompt_extend": True
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Obtenir le détail de la tâche
https://api.hiapi.ai/v1/tasks/:id Champs de réponse
taskIdstringRequisIdentifiant de tâche, toujours préfixé tk-hiapi-.
modelstringRequisNom complet résolu du modèle. Les tâches envoyées avec le paramètre route renvoient base@route (ex. gpt-image-2/text-to-image@ext) ; sinon identique au nom fourni.
routestringOptionnelPrésent uniquement si le paramètre route explicite a été utilisé ; renvoie la valeur soumise.
statusstringRequisStatut de la tâche.
queued En file, pas encore démarrée.
handling En cours de traitement.
archiving Traitement terminé, préparation des artefacts.
success Terminal : terminé, artefacts disponibles (output renvoyé).
fail Terminal : échec (error renvoyé).
Après soumission, suivez status : success et fail sont terminaux, le reste non terminal. Interrogez toutes les 1–3 s jusqu'à l'état terminal. En cas de succès, téléchargez les artefacts via output[].url et transférez-les avant expireAt ; pour une conservation longue durée, indiquez storage: "persistent" à la création.
creatednumberRequisDate de création de la tâche (secondes Unix).
completednumberRequisSecondes Unix de l'état terminal ; 0 tant que non terminal.
outputarrayOptionnel
Présent uniquement si status == success. Liste d'artefacts — toujours un tableau ; une tâche peut renvoyer plusieurs types à la fois (ex. video + first_frame).
Array [ object ]
Éléments du tableau
urlstringRequisURL de l'artefact, téléchargeable directement.
typestringRequisValeurs possibles actuelles : video, image, audio, first_frame, last_frame, thumbnail ; d'autres pourront s'ajouter.
expireAtnumberRequisSecondes Unix de disponibilité de l'artefact ; téléchargez ou transférez avant l'expiration.
errorobjectOptionnel
Présent uniquement si status == fail.
codestringRequisCode d'erreur métier.
messagestringRequisDescription de l'erreur.
Exemples de réponse
Succès
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} En cours (non terminal)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Échec
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Articles
Voir tous les articles →-
Tutoriel
Comment appeler hailuo-2.3/text-to-video via l'API HiAPI : curl, Python et exemples de requêtes exécutables
-
Tutoriel
recraft-v4.1-flash génération d'images texte-à-image en pratique : 5 scénarios métier à forte valeur et points d'intégration clés
À partir d'un coût de 0,01 $ par image, planifier le déploiement de la génération d'images dans de vrais contextes métier
-
Tutoriel
Tutoriel pour kandinsky-6.0-pro/image-to-video sur HiAPI : curl + Python
Lancer une requête image-vers-vidéo exploitable sur HiAPI : de l'envoi de la première image à l'interrogation asynchrone jusqu'au téléchargement final
-
Tutoriel
Comment appeler kling-4.0/image-to-video sur HiAPI : curl, Python et interrogation périodique
-
Tutoriel
Comment appeler hailuo-2.3-fast/image-to-video via l'API HiAPI : curl et Python en pratique
La première requête exploitable du palier image-vers-vidéo rapide et économique — de l'ID du modèle au téléchargement du MP4
-
Comparatif et évaluation
Comparatif horizontal de Recraft v4.1 Flash en génération d'images à partir de texte : guide de sélection et de migration pour les développeurs
Avec un coût de 0,01 $ par image et ses capacités de génération pure à partir de texte, déterminez s'il convient à votre pipeline de génération d'images
-
Comparatif et évaluation
Comparatif transversal de hailuo-2.3-fast/image-to-video : comment choisir un modèle image-to-video et les points clés de migration
-
Tutoriel
Comment utiliser kling-4.0/text-to-video via l'API HiAPI : curl, Python et un exemple de requête fonctionnel
Guide pratique pour les développeurs : prompts cinématographiques, audio synchronisé, interrogation asynchrone et téléchargement des sorties
-
Tutoriel
Utiliser Kandinsky 6.0 Pro texte-vers-vidéo sur HiAPI : tutoriel curl et Python
Démonstration pratique axée sur la requête : construire l'appel du prompt au clip vidéo, soumettre la requête, interroger l'état d'achèvement et télécharger le résultat
Modèles associés
Voir tous les modèles →Même type
-
Recraft Creative Upscale Recraft $0.357 /image -
Ideogram V4.5 Ideogram $0.011 /image -
FASHN Tryon v1.6 FASHN $0.107 /image -
Krea 3 Krea $0.036 /image -
Krea 2 Medium Turbo Krea $0.021 /image -
Grok Imagine Image 2.0 xAI $0.052 /image -
Ideogram V4 Ideogram $0.050 /image -
851 Labs Background Remover 851 Labs $0.002 /image -
Z-Image Alibaba $0.008 /image -
FLUX.1 Schnell Black Forest Labs $0.005 /image -
BRIA Product Shot Bria $0.058 /image -
Nano Banana 2 Google $0.036 /image
Même fournisseur
-
Z-Image Alibaba $0.008 /image -
Qwen Image 2.1 Alibaba $0.020 /image -
Qwen Audio 3.0 TTS Alibaba $0.030 /1 000 caractères -
Qwen Image 3.0 Alibaba $0.036 /image -
Qwen Image 2.0 Alibaba $0.042 /image -
Wan 3.0 Video Alibaba $0.040 /seconde -
HappyHorse 1.1 Alibaba $0.160 /seconde -
Wan 2.7 Image Alibaba $0.035 /image -
Wan 2.6 Flash Alibaba $0.043 /seconde -
HappyHorse 1.0 Alibaba $0.168 /seconde -
Wan 2.7 Video Alibaba $0.100 /seconde