Tous les produits
Search
Centre de documentation

Alibaba Cloud Model Studio:Wan text-to-image V2 API reference

Dernière mise à jour :Oct 23, 2026

Le modèle Wan text-to-image génère des images à partir de requêtes textuelles et prend en charge les styles artistiques ainsi que les effets photographiques réalistes.

Liens rapides : Essayer en ligne (Singapore | Virginia | Beijing) | Site officiel de Wan

RemarqueLes fonctionnalités du site web Wan peuvent différer des capacités de l'API. Ce document couvre l'API et est mis à jour au fil des évolutions.

Prérequis

Avant d'effectuer un appel, obtenez une clé API et exportez la clé API en tant que variable d'environnement. Pour effectuer des appels à l'aide du SDK, installez le SDK DashScope.

ImportantLes régions Singapour, États-Unis (Virginia) et Chine (Beijing) disposent de clés API et d'endpoints de requête distincts. Elles ne sont pas interchangeables. Les appels interrégionaux entraînent des échecs d'authentification ou des erreurs de service. Pour plus d'informations, consultez Sélectionner une région et un périmètre de déploiement de service.

Appel synchrone HTTP (wan2.6)

ImportantL'API décrite dans cette section utilise le nouveau protocole et prend uniquement en charge le modèle wan2.6.

Récupérez le résultat en une seule requête. Cette méthode est recommandée pour la plupart des cas d'usage.

Singapore

POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

Lors de l'appel, remplacez {WorkspaceId} par votre véritable ID d'espace de travail.

US (Virginia)

POST https://dashscope-us.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

China (Beijing)

POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

Lors de l'appel, remplacez {WorkspaceId} par votre véritable ID d'espace de travail.

Le périmètre de déploiement mondial (région de Francfort) prend uniquement en charge les appels asynchrones .

Paramètres de la requête

Text-to-image

curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
        --header 'Content-Type: application/json' \
        --header "Authorization: Bearer $DASHSCOPE_API_KEY" \
        --data '{
            "model": "wan2.6-t2i",
            "input": {
                "messages": [
                    {
                        "role": "user",
                        "content": [
                            {
                                "text": "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display"
                            }
                        ]
                    }
                ]
            },
            "parameters": {
                "prompt_extend": true,
                "watermark": false,
                "n": 1,
                "negative_prompt": "",
                "size": "1280*1280"
            }
        }'
En-têtes de la requête

Content-Type string (Obligatoire)

Type de contenu de la requête. Doit être défini à application/json.

Authorization string (Obligatoire)

Authentifie la requête avec une clé API Model Studio. Exemple : Bearer sk-xxxx.

Corps de la requête

model string (Obligatoire)

Nom du modèle. Exemple : wan2.6-t2i.

RemarquePour les modèles wan2.5 et antérieurs, consultez la section Appel asynchrone HTTP pour les appels HTTP.

input object (Obligatoire)

Objet d'entrée.

Propriétés

messages array (Obligatoire)

Messages de la requête. Actuellement, seules les conversations à tour unique sont prises en charge : transmettez un ensemble de paramètres role et content.

Propriétés

role string (Obligatoire)

Rôle du message. Doit être défini à user.

content array (Obligatoire)

Tableau du contenu du message.

Propriétés

text string(Obligatoire)

Requête positive décrivant le contenu, le style et la composition souhaités pour l'image générée.

Prend en charge le chinois et l'anglais, avec une longueur maximale de 2 100 caractères. Chaque caractère chinois, lettre, chiffre ou symbole compte pour un caractère. Les caractères excédentaires sont automatiquement tronqués.

Exemple : Un chat orange assis, heureux, vif et mignon, réaliste et précis.

Remarque : Une seule entrée de texte est prise en charge. Une erreur survient si vous ne fournissez aucune entrée de texte ou si vous en fournissez plusieurs.

parameters object (Facultatif)

Paramètres de génération d'image.

Propriétés

negative_prompt string (facultatif)

Requête négative décrivant ce que vous ne souhaitez pas voir apparaître dans l'image.

Prend en charge le chinois et l'anglais. La longueur maximale est de 500 caractères. Les caractères excédentaires sont tronqués automatiquement.

Exemple : Faible résolution, basse qualité, membres déformés, doigts malformés, couleurs sursaturées, aspect cireux, absence de détails faciaux, surfaces trop lisses, apparence générée par IA. Composition chaotique. Texte flou ou déformé.

size string (Facultatif)

Résolution de l'image de sortie, au format width*height.

  • La valeur par défaut est 1280*1280.
  • Le nombre total de pixels doit être compris entre 1280×1280 et 1440×1440, avec un rapport d'aspect situé entre 1:4 et 4:1. Par exemple, 768×2700 est une résolution valide.

Exemple : 1280*1280.

Résolutions recommandées pour les rapports d'aspect courants

  • 1:1 : 1280×1280
  • 3:4 : 1104×1472
  • 4:3 : 1472×1104
  • 9:16 : 960×1696
  • 16:9 : 1696×960

n integer (Facultatif)

ImportantLa valeur de n influence directement le coût. Coût = Prix unitaire × Nombre d'images. Avant d'appeler l'API, vérifiez la tarification du modèle.

Nombre d'images à générer. La valeur doit être un entier compris entre 1 et 4. La valeur par défaut est 4.

La facturation est basée sur le nombre d'images générées. Définissez cette valeur à 1 pour les tests.

prompt_extend bool (Facultatif)

Active la réécriture de la requête. Un LLM optimise la requête positive pour améliorer les résultats, ce qui est particulièrement utile pour les requêtes courtes. Ajoute 3 à 4 secondes au temps de traitement.

  • true (par défaut)
  • false

watermark bool (Facultatif)

Ajoute un filigrane « AI Generated » dans le coin inférieur droit de l'image.

  • false (par défaut)
  • true

seed integer (facultatif)

Graine de nombre aléatoire. Plage valide : [0,2147483647].

L'utilisation de la même seed produit des sorties similaires. En cas d'omission, l'algorithme utilise une graine aléatoire.

Remarque : La génération d'image est probabiliste. Même avec la même seed, les résultats peuvent varier.

Paramètres de la réponse

Exécution réussie de la tâche

Les données de la tâche (statut de la tâche et URL des images) ne sont conservées que pendant 24 heures, puis automatiquement purgées. Enregistrez rapidement les images générées.

{
    "output": {
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "content": [
                        {
                            "image": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxxx.png?Expires=xxx",
                            "type": "image"
                        }
                    ],
                    "role": "assistant"
                }
            }
        ],
        "finished": true
    },
    "usage": {
        "image_count": 1,
        "input_tokens": 0,
        "output_tokens": 0,
        "size": "1280*1280",
        "total_tokens": 0
    },
    "request_id": "815505c6-7c3d-49d7-b197-xxxxx"
}

Échec de l'exécution de la tâche

Si la tâche échoue, l'API renvoie des informations d'erreur. Identifiez la cause à partir des champs code et message. Consultez la section Codes d'erreur.

{
    "request_id": "a4d78a5f-655f-9639-8437-xxxxxx",
    "code": "InvalidParameter",
    "message": "num_images_per_prompt must be 1"
}

output object

Objet de sortie.

Propriétés

choices array

Contenu de sortie généré par le modèle.

Propriétés

finish_reason string

Raison de l'arrêt de la tâche. stop indique une fin normale.

message object

Message renvoyé par le modèle.

Propriétés

role string

Rôle du message, fixé à assistant.

content array

Propriétés

image string

URL de l'image générée au format PNG. Valide pendant 24 heures. Téléchargez et enregistrez l'image rapidement.

type string

Type de sortie, fixé à image.

finished boolean

Indique si la tâche est terminée.

  • true
  • false

usage object

Statistiques d'utilisation pour la requête. Seuls les résultats réussis sont comptabilisés.

Propriétés

image_count integer

Nombre d'images générées.

size string

Résolution de l'image générée. Exemple : 1280*1280.

input_tokens integer

Nombre de tokens d'entrée. Pour le text-to-image, la facturation est basée sur le nombre d'images ; cette valeur est donc fixée à 0.

output_tokens integer

Nombre de tokens de sortie. Pour le text-to-image, la facturation est basée sur le nombre d'images ; cette valeur est donc fixée à 0.

total_tokens integer

Nombre total de tokens. Pour le text-to-image, la facturation est basée sur le nombre d'images ; cette valeur est donc fixée à 0.

request_id string

Identifiant unique de la requête pour le suivi et le dépannage.

code string

Code d'erreur. Renvoyé uniquement pour les requêtes ayant échoué. Consultez la section Codes d'erreur.

message string

Message d'erreur détaillé. Renvoyé uniquement pour les requêtes ayant échoué. Consultez la section Codes d'erreur.

HTTP asynchrone (wan2.6)

ImportantL'API décrite dans cette section utilise le nouveau protocole et prend uniquement en charge le modèle wan2.6.

Le flux de tâche comprend deux étapes principales : Créer la tâche -> Interroger le résultat. Le processus est le suivant :

Étape 1 : Créer une tâche et obtenir l'ID de tâche

Singapore

POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/image-generation/generation

Lors de l'appel, remplacez {WorkspaceId} par votre véritable ID d'espace de travail.

US (Virginia)

POST https://dashscope-us.aliyuncs.com/api/v1/services/aigc/image-generation/generation

China (Beijing)

POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/image-generation/generation

Lors de l'appel, remplacez {WorkspaceId} par votre véritable ID d'espace de travail.

Germany (Frankfurt)

POST https://<u>{WorkspaceId}.eu-central-1.maas.aliyuncs.com</u>/api/v1/services/aigc/image-generation/generation

Lors de l'appel, remplacez {WorkspaceId} par votre ID d'espace de travail.

Remarque

  • Une fois la tâche créée, utilisez le task_id retourné pour interroger le résultat. Ce task_id reste valide pendant 24 heures. Ne créez pas de tâches en double. Utilisez plutôt l'interrogation pour récupérer le résultat.
  • Pour un guide destiné aux débutants, consultez la rubrique Appeler des API avec Postman ou cURL.

Paramètres de requête

Text-to-image

curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/image-generation/generation' \
        --header 'Content-Type: application/json' \
        --header "Authorization: Bearer $DASHSCOPE_API_KEY" \
        --header 'X-DashScope-Async: enable' \
        --data '{
            "model": "wan2.6-t2i",
            "input": {
                "messages": [
                    {
                        "role": "user",
                        "content": [
                            {
                                "text": "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display"
                            }
                        ]
                    }
                ]
            },
            "parameters": {
                "prompt_extend": true,
                "watermark": false,
                "n": 1,
                "negative_prompt": "",
                "size": "1280*1280"
            }
        }'
En-têtes de requête

Content-Type string (Obligatoire)

Type de contenu de la requête. Doit être défini à application/json.

Authorization string (Obligatoire)

Authentifie la requête à l'aide d'une clé API Model Studio. Exemple : Bearer sk-xxxx.

X-DashScope-Async string (Obligatoire)

Active le traitement asynchrone. Les requêtes HTTP ne prennent en charge que les appels asynchrones. La valeur doit être enable.

ImportantSi cet en-tête de requête est absent, l'erreur « current user api does not support synchronous calls » est retournée.

Corps de la requête

model string (Obligatoire)

Nom du modèle. Exemple : wan2.6-t2i.

RemarquePour les modèles wan2.5 et antérieurs, consultez la rubrique Appel HTTP asynchrone.

input object (Obligatoire)

Objet d'entrée.

Propriétés

messages array (Obligatoire)

Messages de la requête. Actuellement, seules les conversations à tour unique sont prises en charge : transmettez un seul ensemble de paramètres role et content.

Propriétés

role string (Obligatoire)

Rôle du message. Doit être défini à user.

content array (Obligatoire)

Tableau du contenu du message.

Propriétés

text string(Obligatoire)

Prompt positif décrivant le contenu, le style et la composition souhaités pour l'image générée.

Prend en charge le chinois et l'anglais, avec une longueur maximale de 2 100 caractères. Chaque caractère chinois, lettre, chiffre ou symbole compte pour un caractère. Les caractères excédentaires sont automatiquement tronqués.

Exemple : A flower shop with exquisite windows, a beautiful wooden door, and flowers on display.

Remarque : Une seule entrée texte est prise en charge. Une erreur survient si vous ne fournissez aucune entrée texte ou si vous en fournissez plusieurs.

parameters object (Facultatif)

Paramètres de génération d'image.

Propriétés

negative_prompt string (facultatif)

Prompt négatif décrivant les éléments à exclure de l'image.

Prend en charge le chinois et l'anglais. Longueur maximale de 500 caractères. Les caractères excédentaires sont tronqués automatiquement.

Exemple : Low resolution, low quality, distorted limbs, malformed fingers, oversaturated colors, wax-like appearance, no facial details, overly smooth surfaces, AI-generated look. Chaotic composition. Blurry or distorted text.

size string (Facultatif)

Résolution de l'image de sortie, au format width*height.

  • La valeur par défaut est 1280*1280.
  • Le nombre total de pixels doit se situer entre 1280×1280 et 1440×1440, avec un rapport d'aspect compris entre 1:4 et 4:1. Par exemple, 768×2700 constitue une résolution valide.

Exemple : 1280*1280.

Résolutions recommandées pour les rapports d'aspect courants

  • 1:1 : 1280×1280
  • 3:4 : 1104×1472
  • 4:3 : 1472×1104
  • 9:16 : 960×1696
  • 16:9 : 1696×960

n integer (Facultatif)

ImportantLa valeur de n influence directement le coût. Coût = Prix unitaire × Nombre d'images. Avant d'appeler l'API, vérifiez la tarification du modèle.

Nombre d'images à générer. La valeur doit être un entier compris entre 1 et 4. La valeur par défaut est 4.

La facturation dépend du nombre d'images générées. Définissez cette valeur à 1 pour les tests.

prompt_extend bool (Facultatif)

Active la réécriture du prompt. Un LLM optimise le prompt positif afin d'améliorer les résultats, ce qui s'avère particulièrement utile pour les prompts courts. Ajoute 3 à 4 secondes au temps de traitement.

  • true (par défaut)
  • false

watermark bool (Facultatif)

Ajoute un filigrane « AI Generated » dans le coin inférieur droit de l'image.

  • false (par défaut)
  • true

seed integer (facultatif)

Graine de nombre aléatoire. Plage valide : [0,2147483647].

L'utilisation de la même seed produit des sorties similaires. En cas d'omission, l'algorithme utilise une graine aléatoire.

Remarque : La génération d'image est probabiliste. Même avec la même seed, les résultats peuvent varier.

Paramètres de réponse

Réponse réussie

Conservez le task_id pour interroger l'état et le résultat de la tâche.

{
        "output": {
            "task_status": "PENDING",
            "task_id": "0385dc79-5ff8-4d82-bcb6-xxxxxx"
        },
        "request_id": "4909100c-7b5a-9f92-bfe5-xxxxxx"
    }

Réponse d'erreur

Échec de la création de la tâche. Consultez la rubrique Codes d'erreur.

{
        "code": "InvalidApiKey",
        "message": "No API-key provided.",
        "request_id": "7438d53d-6eb8-4596-8835-xxxxxx"
    }

output object

Objet de sortie.

Propriétés

task_id string

ID de la tâche. Valide pour les requêtes pendant 24 heures.

task_status string

État de la tâche.

Valeurs d'énumération

  • PENDING
  • RUNNING
  • SUCCEEDED
  • FAILED
  • CANCELED
  • UNKNOWN : La tâche n'existe pas ou son état est inconnu.

request_id string

Identifiant unique de la requête pour le suivi et le dépannage.

code string

Code d'erreur. Retourné uniquement en cas d'échec de la requête. Consultez la rubrique Codes d'erreur.

message string

Message d'erreur détaillé. Retourné uniquement en cas d'échec de la requête. Consultez la rubrique Codes d'erreur.

Étape 2 : Interroger le résultat par ID de tâche

Singapore

GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}

Lors de l'appel, remplacez {WorkspaceId} par votre véritable ID d'espace de travail.

US (Virginia)

GET https://dashscope-us.aliyuncs.com/api/v1/tasks/{task_id}

China (Beijing)

GET https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/tasks/{task_id}

Lors de l'appel, remplacez {WorkspaceId} par votre véritable ID d'espace de travail.

Germany (Frankfurt)

GET https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/api/v1/tasks/{task_id}

Lors de l'appel, remplacez {WorkspaceId} par votre véritable ID d'espace de travail.

Remarque

  • Recommandation d'interrogation : La génération d'image prend du temps. Mettez en place un mécanisme d'interrogation avec un intervalle raisonnable, par exemple 10 secondes.
  • Transition d'état de la tâche : PENDING → RUNNING → SUCCEEDED ou FAILED.
  • Lien du résultat : Après le succès d'une tâche, une URL d'image valide pendant 24 heures est retournée. Téléchargez et enregistrez l'image dans un stockage permanent, tel que OSS.

Paramètres de requête

Interroger le résultat de la tâche

Remplacez {task_id} par la valeur task_id retournée par l'appel API précédent. Le task_id reste valide pour les requêtes pendant 24 heures. Remplacez {WorkspaceId} par votre véritable ID d'espace de travail.

curl -X GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id} \
    --header "Authorization: Bearer $DASHSCOPE_API_KEY"
En-têtes de requête

Authorization string (Obligatoire)

Authentifie la requête à l'aide d'une clé API Model Studio. Exemple : Bearer sk-xxxx.

Paramètres de chemin URL

task_id string (Obligatoire)

ID de la tâche.

Paramètres de réponse

Exécution de tâche réussie

Les données de la tâche (état et URL des images) ne sont conservées que pendant 24 heures avant d'être automatiquement purgées. Enregistrez rapidement les images générées.

{
    "request_id": "2ddf53fa-699a-4267-9446-xxxxxx",
    "output": {
        "task_id": "3cd3fa4e-53ee-4136-9cab-xxxxxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2025-12-18 20:03:01.802",
        "scheduled_time": "2025-12-18 20:03:01.834",
        "end_time": "2025-12-18 20:03:29.260",
        "finished": true,
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "role": "assistant",
                    "content": [
                        {
                            "image": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxx.png?Expires=xxx",
                            "type": "image"
                        }
                    ]
                }
            }
        ]
    },
    "usage": {
        "size": "1280*1280",
        "total_tokens": 0,
        "image_count": 1,
        "output_tokens": 0,
        "input_tokens": 0
    }
}

Échec de l'exécution de la tâche

Si la tâche échoue, l'API retourne des informations d'erreur. Identifiez la cause à partir des champs code et message. Consultez la rubrique Codes d'erreur.

{
    "code": "InvalidApiKey",
    "message": "No API-key provided.",
    "request_id": "7438d53d-6eb8-4596-8835-xxxxxx"
}

output object

Informations de sortie de la tâche.

Propriétés

task_id string

ID de la tâche. Valide pour les requêtes pendant 24 heures.

task_status string

État de la tâche.

Valeurs d'énumération

  • PENDING
  • RUNNING
  • SUCCEEDED
  • FAILED
  • CANCELED
  • UNKNOWN : La tâche n'existe pas ou son état est inconnu.
Transitions d'état lors de l'interrogation :
  • PENDING → RUNNING → SUCCEEDED ou FAILED.
  • L'état initial de la requête est généralement PENDING ou RUNNING.
  • Lorsque l'état passe à SUCCEEDED, la réponse contient l'URL de l'image générée.
  • Si l'état est FAILED, vérifiez le message d'erreur et relancez la tâche.

submit_time string

Heure de soumission de la tâche. L'heure est au format UTC+8 et le format est AAAA-MM-JJ HH:mm:ss.SSS.

scheduled_time string

Heure d'exécution de la tâche. L'heure est au format UTC+8 et le format est AAAA-MM-JJ HH:mm:ss.SSS.

end_time string

Heure de fin de la tâche. L'heure est au format UTC+8 et le format est AAAA-MM-JJ HH:mm:ss.SSS.

finished boolean

Indique si la tâche est terminée.

  • true
  • false

choices array

Contenu de sortie généré par le modèle.

Propriétés

finish_reason string

Raison de l'arrêt de la tâche. stop indique une fin normale.

message object

Message retourné par le modèle.

Propriétés

role string

Rôle du message, fixé à assistant.

content array

Propriétés

image string

URL de l'image générée au format PNG.

Le lien est valide pendant 24 heures. Vous devez télécharger et enregistrer l'image rapidement.

type string

Type de sortie, fixé à image.

usage object

Statistiques d'utilisation pour la requête. Seuls les résultats réussis sont comptabilisés.

Propriétés

image_count integer

Nombre d'images générées.

size string

Résolution de l'image générée. Exemple : 1280*1280.

input_tokens integer

Nombre de tokens d'entrée. Cette valeur est actuellement fixée à 0.

output_tokens integer

Nombre de tokens de sortie. Cette valeur est actuellement fixée à 0.

total_tokens integer

Nombre total de tokens. Cette valeur est actuellement fixée à 0.

request_id string

Identifiant unique de la requête pour le suivi et le dépannage.

code string

Code d'erreur. Retourné uniquement en cas d'échec de la requête. Consultez la rubrique Codes d'erreur.

message string

Message d'erreur détaillé. Retourné uniquement en cas d'échec de la requête. Consultez la rubrique Codes d'erreur.

HTTP asynchrone (modèles wan2.5 et antérieurs)

ImportantCette API utilise l'ancien protocole et prend uniquement en charge les modèles wan2.5 et antérieurs.

Les tâches de génération d'image à partir de texte nécessitant un temps de traitement important (généralement 1 à 2 minutes), cette API fonctionne de manière asynchrone. Le flux comprend deux étapes principales : Créer la tâche -> Interroger le résultat. Le processus est le suivant :

La durée de traitement dépend de la file d'attente des tâches et de l'état du service.

Étape 1 : Créer une tâche et obtenir l'ID de tâche

Singapore

POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis

Beijing

POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis

Remarque

  • Une fois la tâche créée, utilisez le task_id retourné pour interroger le résultat. Ce task_id reste valide pendant 24 heures. Ne créez pas de tâches en double. Privilégiez plutôt l'interrogation périodique pour récupérer le résultat.
  • Pour un guide destiné aux débutants, consultez Appeler des API avec Postman ou cURL.

Paramètres de requête

Text-to-image

Les clés API diffèrent selon les régions de Singapour et de Pékin. Obtenir une clé API

L'URL ci-dessous correspond à la région de Singapour. Si vous utilisez un modèle dans la région de Pékin, remplacez l'URL par : https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis

Remplacez {WorkspaceId} par votre véritable ID d'espace de travail.

curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis \
        -H 'X-DashScope-Async: enable' \
        -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
        -H 'Content-Type: application/json' \
        -d '{
        "model": "wan2.5-t2i-preview",
        "input": {
            "prompt": "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display"
        },
        "parameters": {
            "size": "1280*1280",
            "n": 1
        }
    }'

Text-to-image (avec prompt négatif)

Utilisez negative_prompt pour empêcher l'apparition de « personnes » dans l'image générée.

Les clés API diffèrent selon les régions de Singapour et de Pékin. Obtenir une clé API

L'URL ci-dessous correspond à la région de Singapour. Si vous utilisez un modèle dans la région de Pékin, remplacez l'URL par : https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis

Remplacez {WorkspaceId} par votre véritable ID d'espace de travail.

curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis \
        -H 'X-DashScope-Async: enable' \
        -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
        -H 'Content-Type: application/json' \
        -d '{
        "model": "wan2.2-t2i-flash",
        "input": {
            "prompt": "Snowy ground, a small white chapel, aurora borealis, winter scene, soft light.",
            "negative_prompt": "people"
        },
        "parameters": {
            "size": "1024*1024",
            "n": 1
        }
    }'
En-têtes de requête

Content-Type string (Obligatoire)

Type de contenu de la requête. Doit être défini à application/json.

Authorization string (Obligatoire)

Authentifie la requête à l'aide d'une clé API Model Studio. Exemple : Bearer sk-xxxx.

X-DashScope-Async string (Obligatoire)

Active le traitement asynchrone. Les requêtes HTTP ne prennent en charge que les appels asynchrones. La valeur doit être enable.

ImportantSi cet en-tête de requête est absent, l'erreur « current user api does not support synchronous calls » est retournée.

Corps de la requête

model string (Obligatoire)

Nom du modèle. Pour les modèles de génération d'image à partir de texte, consultez la Liste des modèles.

Exemple : wan2.5-t2i-preview.

RemarquePour les appels HTTP vers le modèle wan2.6, reportez-vous à Appel synchrone HTTP et Appel asynchrone HTTP.

input object (Obligatoire)

Objet d'entrée contenant le prompt.

Propriétés

prompt string (Obligatoire)

Prompt positif décrivant le contenu et le style souhaités pour l'image générée.

Ce paramètre accepte le chinois et l'anglais. Chaque caractère chinois, lettre ou signe de ponctuation compte pour un caractère. Les caractères excédentaires sont automatiquement tronqués. La limite de longueur varie selon la version du modèle :

  • wan2.5-t2i-preview : Longueur maximale de 2 000 caractères.
  • Modèles des séries wan2.2 et wan2.1 : Longueur maximale de 500 caractères.
  • wanx2.0-t2i-turbo : Longueur maximale de 800 caractères.

Exemple : Un chat orange assis, heureux, vif et mignon, rendu réaliste et précis.

Pour des conseils sur l'utilisation des prompts, consultez le Guide des prompts Text-to-image.

negative_prompt string (Facultatif)

Prompt négatif spécifiant les éléments à exclure de l'image. Utilisez-le pour contraindre la sortie.

Ce paramètre accepte le chinois et l'anglais, avec une longueur maximale de 500 caractères. Les caractères excédentaires sont automatiquement tronqués.

Exemple : basse résolution, erreur, meilleure qualité, mauvaise qualité, mutilé, doigts supplémentaires, mauvaises proportions, etc.

parameters object (Facultatif)

Paramètres de génération d'image.

Propriétés

size string (Facultatif)

Résolution de l'image de sortie, au format largeur*hauteur. La valeur par défaut et les contraintes varient selon la version du modèle :

  • wan2.5-t2i-preview : La valeur par défaut est 1280*1280. Le nombre total de pixels doit se situer entre 1280×1280 et 1440×1440, avec un rapport d'aspect compris entre 1:4 et 4:1. Par exemple, 768×2700 est une résolution valide.
  • Modèles wan2.2 et antérieurs : La valeur par défaut est 1024*1024. La largeur et la hauteur de l'image doivent être comprises entre 512 et 1440, pour une résolution maximale de 1440×1440. Par exemple, 768×2700 dépasse la limite d'un seul côté et n'est pas pris en charge.

Exemple : 1280*1280.

Résolutions recommandées pour les rapports d'aspect courants

Les résolutions suivantes s'appliquent au modèle wan2.5-t2i-preview :

  • 1:1 : 1280×1280
  • 3:4 : 1104×1472
  • 4:3 (1472 × 1104)
  • 9:16 : 960×1696
  • 16:9 : 1696×960

n integer (Facultatif)

ImportantLa valeur de n influe directement sur le coût. Coût = Prix unitaire × Nombre d'images. Avant d'appeler l'API, vérifiez la tarification du modèle.

Nombre d'images à générer. La valeur doit être un entier compris entre 1 et 4. La valeur par défaut est 4. Définissez-la à 1 pour les tests.

prompt_extend boolean (Facultatif)

Active la réécriture du prompt. Un LLM reformule le prompt d'entrée afin d'améliorer les résultats, ce qui est particulièrement utile pour les prompts courts. Cette option augmente le temps de traitement.

  • true (par défaut)
  • false

watermark boolean (Facultatif)

Ajoute un filigrane « AI Generated » dans le coin inférieur droit de l'image.

  • false (par défaut)
  • true

seed integer (facultatif)

Graine de nombre aléatoire. Plage valide : [0,2147483647].

L'utilisation de la même seed produit des sorties similaires. En cas d'omission, l'algorithme utilise une graine aléatoire.

Remarque : La génération d'image est probabiliste. Même avec la même seed, les résultats peuvent varier.

Paramètres de réponse

Réponse réussie

Conservez le task_id pour interroger l'état et le résultat de la tâche.

{
        "output": {
            "task_status": "PENDING",
            "task_id": "0385dc79-5ff8-4d82-bcb6-xxxxxx"
        },
        "request_id": "4909100c-7b5a-9f92-bfe5-xxxxxx"
    }

Réponse d'erreur

Échec de la création de la tâche. Consultez les Codes d'erreur.

{
        "code": "InvalidApiKey",
        "message": "No API-key provided.",
        "request_id": "7438d53d-6eb8-4596-8835-xxxxxx"
    }

output object

Informations de sortie de la tâche.

Propriétés

task_id string

ID de la tâche. Valide pour les requêtes pendant 24 heures.

task_status string

État de la tâche.

Valeurs d'énumération

  • PENDING
  • RUNNING
  • SUCCEEDED
  • FAILED
  • CANCELED
  • UNKNOWN : La tâche n'existe pas ou son état est inconnu.

request_id string

Identifiant unique de la requête pour le suivi et le dépannage.

code string

Code d'erreur. Retourné uniquement en cas d'échec de la requête. Consultez les Codes d'erreur.

message string

Message d'erreur détaillé. Retourné uniquement en cas d'échec de la requête. Consultez les Codes d'erreur.

Étape 2 : Interroger le résultat par ID de tâche

China (Beijing)

GET https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/tasks/{task_id}

Lors de l'appel, remplacez {WorkspaceId} par votre véritable ID d'espace de travail.

Singapore

GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}

Lors de l'appel, remplacez {WorkspaceId} par votre véritable ID d'espace de travail.

Singapore

GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}

Lors de l'appel, remplacez {WorkspaceId} par votre véritable ID d'espace de travail.

China (Beijing)

GET https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/tasks/{task_id}

Lors de l'appel, remplacez {WorkspaceId} par votre véritable ID d'espace de travail.

Remarque

  • Recommandation d'interrogation : La génération d'image prend du temps. Mettez en place un mécanisme d'interrogation avec un intervalle raisonnable, par exemple 10 secondes.
  • Transition d'état de la tâche : PENDING → RUNNING → SUCCEEDED ou FAILED.
  • Lien du résultat : Une fois la tâche réussie, une URL d'image valide pendant 24 heures est retournée. Téléchargez et enregistrez l'image dans un stockage permanent, tel qu'OSS.

Paramètres de requête

Interroger le résultat de la tâche

Remplacez 86ecf553-d340-4e21-xxxxxxxxx par votre véritable task_id.

Les clés API diffèrent selon les régions. Pour plus d'informations, consultez Obtenir une clé API.

Si vous utilisez un modèle dans la région China (Beijing), remplacez base_url par https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/tasks/86ecf553-d340-4e21-xxxxxxxxx, où {WorkspaceId} est votre véritable ID d'espace de travail.

curl -X GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/86ecf553-d340-4e21-xxxxxxxxx \
    --header "Authorization: Bearer $DASHSCOPE_API_KEY"
En-têtes de requête

Authorization string (Obligatoire)

Authentifie la requête à l'aide d'une clé API Model Studio. Exemple : Bearer sk-xxxx.

Paramètres de chemin d'URL

task_id string (Obligatoire)

ID de la tâche.

Paramètres de réponse

Exécution réussie de la tâche

Les URL des images ne sont valides que pendant 24 heures, puis elles sont automatiquement purgées. Enregistrez les images générées sans tarder.

{
    "request_id": "f767d108-7d50-908b-a6d9-xxxxxx",
    "output": {
        "task_id": "d492bffd-10b5-4169-b639-xxxxxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2025-01-08 16:03:59.840",
        "scheduled_time": "2025-01-08 16:03:59.863",
        "end_time": "2025-01-08 16:04:10.660",
        "results": [
            {
                "orig_prompt": "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display",
                "actual_prompt": "A flower shop with exquisitely carved windows and a beautiful dark wooden door with a brass handle. Inside, various flowers are displayed, including roses, lilies, and sunflowers, which are colorful and vibrant. The background is a warm indoor scene, with light visible from the street through the window. High-definition realistic photography, medium shot composition.",
                "url": "https://dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com/1.png"
            }
        ],
        "task_metrics": {
            "TOTAL": 1,
            "SUCCEEDED": 1,
            "FAILED": 0
        }
    },
    "usage": {
        "image_count": 1
    }
}

Échec de la tâche

Lorsqu'une tâche échoue, task_status prend la valeur FAILED, accompagnée d'un code et d'un message d'erreur. Consultez la rubrique Codes d'erreur.

{
        "request_id": "e5d70b02-ebd3-98ce-9fe8-759d7d7b107d",
        "output": {
            "task_id": "86ecf553-d340-4e21-af6e-xxxxxx",
            "task_status": "FAILED",
            "code": "InvalidParameter",
            "message": "xxxxxx",
            "task_metrics": {
                "TOTAL": 4,
                "SUCCEEDED": 0,
                "FAILED": 4
            }
        }
    }

Échec partiel de la tâche

Le modèle peut générer plusieurs images par tâche. Si au moins une image est générée avec succès, le statut de la tâche passe à SUCCEEDED et les URL des images réussies sont retournées. Les images ayant échoué incluent un motif d'échec. Les statistiques d'utilisation ne comptabilisent que les résultats réussis. Consultez la rubrique Codes d'erreur.

{
        "request_id": "85eaba38-0185-99d7-8d16-xxxxxx",
        "output": {
            "task_id": "86ecf553-d340-4e21-af6e-xxxxxx",
            "task_status": "SUCCEEDED",
            "results": [
                {
                    "url": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/123/a1.png"
                },
                {
                    "code": "InternalError.Timeout",
                    "message": "An internal timeout error has occurred during execution, please try again later or contact service support."
                }
            ],
            "task_metrics": {
                "TOTAL": 2,
                "SUCCEEDED": 1,
                "FAILED": 1
            }
        },
        "usage": {
            "image_count": 1
        }
    }

Expiration de la requête de tâche

Le task_id reste valide pendant 24 heures. Passé ce délai, les requêtes retournent l'erreur suivante.

{
        "request_id": "a4de7c32-7057-9f82-8581-xxxxxx",
        "output": {
            "task_id": "502a00b1-19d9-4839-a82f-xxxxxx",
            "task_status": "UNKNOWN"
        }
    }

output object

Informations de sortie de la tâche.

Propriétés

task_id string

Identifiant de la tâche. Valide pour les requêtes pendant 24 heures.

task_status string

Statut de la tâche.

Valeurs d'énumération

  • PENDING
  • RUNNING
  • SUCCEEDED
  • FAILED
  • CANCELED
  • UNKNOWN : la tâche n'existe pas ou son statut est inconnu.
Transitions d'état lors de l'interrogation :
  • PENDING → RUNNING → SUCCEEDED ou FAILED.
  • Le statut initial de la requête est généralement PENDING ou RUNNING.
  • Lorsque le statut passe à SUCCEEDED, la réponse contient l'URL de l'image générée.
  • Si le statut est FAILED, vérifiez le message d'erreur et réessayez la tâche.

submit_time string

Heure de soumission de la tâche. L'heure est en UTC+8 et le format est YYYY-MM-DD HH:mm:ss.SSS.

scheduled_time string

Heure d'exécution de la tâche. L'heure est en UTC+8 et le format est YYYY-MM-DD HH:mm:ss.SSS.

end_time string

Heure de fin de la tâche. L'heure est en UTC+8 et le format est YYYY-MM-DD HH:mm:ss.SSS.

results array of object

Liste des résultats de la tâche. Elle comprend les URL des images, les prompts et les messages d'erreur pour les tâches ayant partiellement échoué.

Structure des données

{
    "results": [
        {
            "orig_prompt": "",
            "actual_prompt": "",
            "url": ""
        },
        {
            "code": "",
            "message": ""
        }
    ]
}

Propriétés

orig_prompt string

Prompt d'entrée original, correspondant au paramètre de requête prompt.

actual_prompt string

Prompt optimisé utilisé lorsque la réécriture de prompt est activée. Non retourné si cette option est désactivée.

url string

URL de l'image. Retournée uniquement lorsque task_status est SUCCEEDED. Le lien est valide pendant 24 heures et permet de télécharger l'image.

code string

Code d'erreur. Retourné uniquement pour les requêtes ayant échoué. Consultez la rubrique Codes d'erreur.

message string

Message d'erreur détaillé. Retourné uniquement pour les requêtes ayant échoué. Consultez la rubrique Codes d'erreur.

task_metrics object

Statistiques relatives au résultat de la tâche.

Propriétés

TOTAL integer

Nombre total de tâches.

SUCCEEDED integer

Nombre de tâches réussies.

FAILED integer

Nombre de tâches ayant échoué.

code string

Code d'erreur. Retourné uniquement pour les requêtes ayant échoué. Consultez la rubrique Codes d'erreur.

message string

Message d'erreur détaillé. Retourné uniquement pour les requêtes ayant échoué. Consultez la rubrique Codes d'erreur.

usage object

Statistiques d'utilisation de la requête. Seuls les résultats réussis sont comptabilisés.

Propriétés

image_count integer

Nombre d'images générées avec succès. Facturation : Coût = Nombre d'images × Prix unitaire.

request_id string

Identifiant unique de la requête pour le suivi et le dépannage.

SDK Python DashScope

Les noms des paramètres du SDK correspondent à ceux de l'API HTTP, avec des structures adaptées à Python.

Les tâches de génération d'image à partir de texte pouvant prendre un temps significatif, le SDK encapsule le processus d'appel asynchrone HTTP et prend en charge les appels synchrones et asynchrones.

Le temps de traitement dépend de la file d'attente des tâches et de l'état du service.

wan2.6

Important

  • Le code suivant s'applique uniquement au modèle wan2.6.
  • Assurez-vous que votre version du SDK Python DashScope est au moins 1.25.7 avant d'exécuter le code ci-dessous. Pour effectuer la mise à jour, consultez Installer le SDK.

Le base_url et la clé API sont spécifiques à chaque région. L'exemple suivant illustre un appel dans la région Singapour :

Singapore

https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1

Lors de l'appel, remplacez {WorkspaceId} par votre véritable ID d'espace de travail.

US (Virginia)

https://dashscope-us.aliyuncs.com/api/v1

China (Beijing)

https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1

Lors de l'appel, remplacez {WorkspaceId} par votre véritable ID d'espace de travail.

Germany (Frankfurt)

https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/api/v1

Remplacez {WorkspaceId} par votre véritable ID d'espace de travail.

Le périmètre de déploiement mondial (région Francfort) ne prend en charge que les appels asynchrones.

Appel synchrone

Exemple de requête
import os
import dashscope
from dashscope.aigc.image_generation import ImageGeneration
from dashscope.api_entities.dashscope_response import Message

# The following URL is for the Singapore region. When calling, 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'

# If you have not configured an environment variable, replace the following line with your Model Studio API key: api_key="sk-xxx"
# The API key is region-specific. To obtain an API key: https://www.alibabacloud.com/help/en/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")

message = Message(
    role="user",
    content=[
        {
            'text': 'A flower shop with exquisite windows, a beautiful wooden door, and flowers on display'
        }
    ]
)
print("----Sync call, please wait a moment----")
rsp = ImageGeneration.call(
    model="wan2.6-t2i",
    api_key=api_key,
    messages=[message],
    negative_prompt="",
    prompt_extend=True,
    watermark=False,
    n=1,
    size="1280*1280"
)
print(rsp)
Exemple de réponse

L'URL est valide pendant 24 heures. Vous devez télécharger l'image sans tarder.

{
    "status_code": 200,
    "request_id": "820dd0db-eb42-4e05-8d6a-1ddb4axxxxxx",
    "code": "",
    "message": "",
    "output": {
        "text": null,
        "finish_reason": null,
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "role": "assistant",
                    "content": [
                        {
                            "image": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxxxxx.png?Expires=xxxxxx",
                            "type": "image"
                        }
                    ]
                }
            }
        ],
        "audio": null,
        "finished": true
    },
    "usage": {
        "input_tokens": 0,
        "output_tokens": 0,
        "characters": 0,
        "image_count": 1,
        "size": "1280*1280",
        "total_tokens": 0
    }
}

Appel asynchrone

Exemple de requête
import os
import dashscope
from dashscope.aigc.image_generation import ImageGeneration
from dashscope.api_entities.dashscope_response import Role, Message
from http import HTTPStatus

# The following URL is for the Singapore region. When calling, 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'

# If you have not configured an environment variable, replace the following line with your Model Studio API key: api_key="sk-xxx"
# The API key is region-specific. To obtain an API key: https://www.alibabacloud.com/help/en/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")

# Create an asynchronous task
def create_async_task():
    print("Creating async task...")
    message = Message(
        role="user",
        content=[{'text': 'A flower shop with exquisite windows, a beautiful wooden door, and flowers on display'}]
    )
    response = ImageGeneration.async_call(
        model="wan2.6-t2i",
        api_key=api_key,
        messages=[message],
        negative_prompt="",
        prompt_extend=True,
        watermark=False,
        n=1,
        size="1280*1280"
    )

    if response.status_code == 200:
        print("Task created successfully:", response)
        return response
    else:
        raise Exception(f"Failed to create task: {response.code} - {response.message}")

# Wait for the task to complete
def wait_for_completion(task_response):
    print("Waiting for task completion...")
    status = ImageGeneration.wait(task=task_response, api_key=api_key)

    if status.output.task_status == "SUCCEEDED":
        print("Task succeeded!")
        print("Response:", status)
    else:
        raise Exception(f"Task failed with status: {status.output.task_status}")

# Fetch asynchronous task information
def fetch_task_status(task):
    print("Fetching task status...")
    status = ImageGeneration.fetch(task=task, api_key=api_key)

    if status.status_code == HTTPStatus.OK:
        print("Task status:", status.output.task_status)
        print("Response details:", status)
    else:
        print(f"Failed to fetch status: {status.code} - {status.message}")

# Cancel the asynchronous task
def cancel_task(task):
    print("Canceling task...")
    response = ImageGeneration.cancel(task=task, api_key=api_key)

    if response.status_code == HTTPStatus.OK:
        print("Task canceled successfully:", response.output.task_status)
    else:
        print(f"Failed to cancel task: {response.code} - {response.message}")

# Main execution flow
if __name__ == "__main__":
    task = create_async_task()
    wait_for_completion(task)
Exemple de réponse
  1. Exemple de réponse pour la création d'une tâche

    {
        "status_code": 200,
        "request_id": "c4f11410-ea42-4996-957d-9c82f9xxxxxx",
        "code": "",
        "message": "",
        "output": {
            "text": null,
            "finish_reason": null,
            "choices": null,
            "audio": null,
            "task_id": "f470bbfd-d955-4165-935b-d35b8eexxxxxx",
            "task_status": "PENDING"
        },
        "usage": {
            "input_tokens": 0,
            "output_tokens": 0,
            "characters": 0
        }
    }
    
  2. Exemple de réponse pour l'interrogation du résultat d'une tâche

    L'URL est valide pendant 24 heures. Vous devez télécharger l'image sans tarder.

    {
        "status_code": 200,
        "request_id": "7e57e7e8-00b0-4534-9aff-fe31e0xxxxxx",
        "code": null,
        "message": "",
        "output": {
            "text": null,
            "finish_reason": null,
            "choices": [
                {
                    "finish_reason": "stop",
                    "message": {
                        "role": "assistant",
                        "content": [
                            {
                                "image": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxxxxx.png?Expires=xxxxxx",
                                "type": "image"
                            }
                        ]
                    }
                }
            ],
            "audio": null,
            "task_id": "f470bbfd-d955-4165-935b-d35b8exxxxxx",
            "task_status": "SUCCEEDED",
            "submit_time": "2026-01-09 17:18:17.901",
            "scheduled_time": "2026-01-09 17:18:17.941",
            "end_time": "2026-01-09 17:18:45.544",
            "finished": true
        },
        "usage": {
            "input_tokens": 0,
            "output_tokens": 0,
            "characters": 0,
            "size": "1280*1280",
            "total_tokens": 0,
            "image_count": 1
        }
    }
    

Modèles wan2.5 et antérieurs

Important

  • Le code suivant s'applique uniquement aux modèles wan2.5 et antérieurs.

  • Assurez-vous que votre version du SDK Python DashScope est au moins 1.25.2 avant d'exécuter le code ci-dessous.

    Si la version est trop ancienne, des erreurs telles que « url error, please check url! » peuvent survenir. Pour effectuer la mise à jour, consultez Installer le SDK.

Le base_url et la clé API sont spécifiques à chaque région. L'exemple suivant illustre un appel dans la région Singapour :

China (Beijing)

https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1

Lors de l'appel, remplacez {WorkspaceId} par votre véritable ID d'espace de travail.

Singapore

https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1

Lors de l'appel, remplacez {WorkspaceId} par votre véritable ID d'espace de travail.

Singapore

https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1

Lors de l'appel, remplacez {WorkspaceId} par votre véritable ID d'espace de travail.

China (Beijing)

https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1

Lors de l'appel, remplacez {WorkspaceId} par votre véritable ID d'espace de travail.

Appel synchrone

Exemple de requête
from http import HTTPStatus
from urllib.parse import urlparse, unquote
from pathlib import PurePosixPath
import requests
from dashscope import ImageSynthesis
import os
import dashscope

# The following URL is for the Singapore region. When calling, 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'

# If you have not configured an environment variable, replace the following line with your Model Studio API key: api_key="sk-xxx"
# The API keys for the Singapore and Beijing regions are different. To obtain an API key: https://www.alibabacloud.com/help/en/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")

print('----Sync call, please wait a moment----')
rsp = ImageSynthesis.call(api_key=api_key,
                          model="wan2.5-t2i-preview",
                          prompt="A flower shop with exquisite windows, a beautiful wooden door, and flowers on display",
                          negative_prompt="",
                          n=1,
                          size='1280*1280',
                          prompt_extend=True,
                          watermark=False,
                          seed=12345)
print('response: %s' % rsp)
if rsp.status_code == HTTPStatus.OK:
    # Save the image in the current directory
    for result in rsp.output.results:
        file_name = PurePosixPath(unquote(urlparse(result.url).path)).parts[-1]
        with open('./%s' % file_name, 'wb+') as f:
            f.write(requests.get(result.url).content)
else:
    print('sync_call Failed, status_code: %s, code: %s, message: %s' %
          (rsp.status_code, rsp.code, rsp.message))
Exemple de réponse

L'URL est valide pendant 24 heures. Vous devez télécharger l'image sans tarder.

{
    "status_code": 200,
    "request_id": "9d634fda-5fe9-9968-a908-xxxxxx",
    "code": null,
    "message": "",
    "output": {
        "task_id": "d35658e4-483f-453b-b8dc-xxxxxx",
        "task_status": "SUCCEEDED",
        "results": [{
            "url": "https://dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com/1.png",
            "orig_prompt": "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display",
            "actual_prompt": "An exquisite flower shop, with elegant carvings on the windows and a beautiful wooden door with a brass handle. Inside, a variety of colorful flowers such as roses, tulips, and lilies are displayed. The background is a warm indoor scene with soft light, creating a peaceful and comfortable atmosphere. High-definition realistic photography, close-up center composition."
        }],
        "submit_time": "2025-01-08 19:36:01.521",
        "scheduled_time": "2025-01-08 19:36:01.542",
        "end_time": "2025-01-08 19:36:13.270",
        "task_metrics": {
            "TOTAL": 1,
            "SUCCEEDED": 1,
            "FAILED": 0
        }
    },
    "usage": {
        "image_count": 1
    }
}

Appel asynchrone

Exemple de requête
from http import HTTPStatus
from urllib.parse import urlparse, unquote
from pathlib import PurePosixPath
import requests
from dashscope import ImageSynthesis
import os
import dashscope

# The following URL is for the Singapore region. When calling, 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'

# If you have not configured an environment variable, replace the following line with your Model Studio API key: api_key="sk-xxx"
# The API keys for the Singapore and Beijing regions are different. To obtain an API key: https://www.alibabacloud.com/help/en/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")

def async_call():
    print('----Create task----')
    task_info = create_async_task()
    print('----Wait for task to complete, then save image----')
    wait_async_task(task_info)

# Create an asynchronous task
def create_async_task():
    rsp = ImageSynthesis.async_call(api_key=api_key,
                                    model="wan2.5-t2i-preview",
                                    prompt="A flower shop with exquisite windows, a beautiful wooden door, and flowers on display",
                                    negative_prompt="",
                                    n=1,
                                    size='1280*1280',
                                    prompt_extend=True,
                                    watermark=False,
                                    seed=12345)
    print(rsp)
    if rsp.status_code == HTTPStatus.OK:
        print(rsp.output)
    else:
        print('Failed, status_code: %s, code: %s, message: %s' %
              (rsp.status_code, rsp.code, rsp.message))
    return rsp

# Wait for the asynchronous task to finish
def wait_async_task(task):
    rsp = ImageSynthesis.wait(task=task, api_key=api_key)
    print(rsp)
    if rsp.status_code == HTTPStatus.OK:
        print(rsp.output)
        # save file to current directory
        for result in rsp.output.results:
            file_name = PurePosixPath(unquote(urlparse(result.url).path)).parts[-1]
            with open('./%s' % file_name, 'wb+') as f:
                f.write(requests.get(result.url).content)
    else:
        print('Failed, status_code: %s, code: %s, message: %s' %
              (rsp.status_code, rsp.code, rsp.message))

# Fetch asynchronous task information
def fetch_task_status(task):
    status = ImageSynthesis.fetch(task=task, api_key=api_key)
    print(status)
    if status.status_code == HTTPStatus.OK:
        print(status.output.task_status)
    else:
        print('Failed, status_code: %s, code: %s, message: %s' %
              (status.status_code, status.code, status.message))

# Cancel the asynchronous task. Only tasks in the PENDING state can be canceled.
def cancel_task(task):
    rsp = ImageSynthesis.cancel(task=task, api_key=api_key)
    print(rsp)
    if rsp.status_code == HTTPStatus.OK:
        print(rsp.output.task_status)
    else:
        print('Failed, status_code: %s, code: %s, message: %s' %
              (rsp.status_code, rsp.code, rsp.message))

if __name__ == '__main__':
    async_call()
Exemple de réponse
  1. Exemple de réponse lors de la création d'une tâche

    {
        "status_code": 200,
        "request_id": "31b04171-011c-96bd-ac00-f0383b669cc7",
        "code": "",
        "message": "",
        "output": {
            "task_id": "4f90cf14-a34e-4eae-xxxxxxxx",
            "task_status": "PENDING",
            "results": []
        },
        "usage": null
    }
    
  2. Exemple de réponse lors de l'interrogation du résultat d'une tâche

    L'URL reste valide pendant 24 heures. Téléchargez l'image sans tarder.

    {
        "status_code": 200,
        "request_id": "9d634fda-5fe9-9968-a908-xxxxxx",
        "code": null,
        "message": "",
        "output": {
            "task_id": "d35658e4-483f-453b-b8dc-xxxxxx",
            "task_status": "SUCCEEDED",
            "results": [{
                "url": "https://dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com/xxx.png",
                "orig_prompt": "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display",
                "actual_prompt": "An exquisite flower shop, with elegant carvings on the windows and a beautiful wooden door with a brass handle. Inside, a variety of colorful flowers such as roses, tulips, and lilies are displayed. The background is a warm indoor scene with soft light, creating a peaceful and comfortable atmosphere. High-definition realistic photography, close-up center composition."
            }],
            "submit_time": "2025-01-08 19:36:01.521",
            "scheduled_time": "2025-01-08 19:36:01.542",
            "end_time": "2025-01-08 19:36:13.270",
            "task_metrics": {
                "TOTAL": 1,
                "SUCCEEDED": 1,
                "FAILED": 0
            }
        },
        "usage": {
            "image_count": 1
        }
    }
    

DashScope Java SDK

Les noms des paramètres du SDK correspondent à ceux de l'API HTTP, avec des structures adaptées pour Java.

Les tâches de génération d'image à partir de texte peuvent nécessiter un temps de traitement important. Le SDK encapsule le flux d'appel asynchrone HTTP et prend en charge les appels synchrones et asynchrones.

La durée de traitement dépend de la file d'attente des tâches et de l'état du service.

wan2.6

Important

  • Le code suivant s'applique uniquement au modèle wan2.6-t2i.
  • Avant d'exécuter ce code, assurez-vous que votre version du DashScope Java SDK est 2.22.6 ou ultérieure.

L'base_url et la clé API sont spécifiques à chaque région et ne sont pas interchangeables. Les exemples suivants montrent comment effectuer un appel dans la région de Singapour :

Singapore

https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1

Lors de l'appel, remplacez {WorkspaceId} par votre véritable ID d'espace de travail.

US (Virginia)

https://dashscope-us.aliyuncs.com/api/v1

China (Beijing)

https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1

Lors de l'appel, remplacez {WorkspaceId} par votre véritable ID d'espace de travail.

Germany (Frankfurt)

https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/api/v1

Remplacez {WorkspaceId} par votre véritable ID d'espace de travail.

Le périmètre de déploiement mondial (région de Francfort) prend uniquement en charge les appels asynchrones.

Appel synchrone

Exemple de requête
import com.alibaba.dashscope.aigc.imagegeneration.*;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.utils.Constants;
import com.alibaba.dashscope.utils.JsonUtils;
import java.util.Collections;

public class Main {

    static {
        // The following URL is for the Singapore region. When calling, replace {WorkspaceId} with your actual workspace ID. URLs vary by region.
        Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
    }

    // If you have not configured the environment variable, replace the following line with your Model Studio API key: apiKey="sk-xxx"
    // The API key is different for each region. To get an API key: https://www.alibabacloud.com/help/en/model-studio/get-api-key
    static String apiKey = System.getenv("DASHSCOPE_API_KEY");

    public static void basicCall() throws ApiException, NoApiKeyException, UploadFileException {
        ImageGenerationMessage message = ImageGenerationMessage.builder()
                .role("user")
                .content(Collections.singletonList(
                        Collections.singletonMap("text", "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display")
                )).build();

        ImageGenerationParam param = ImageGenerationParam.builder()
                .apiKey(apiKey)
                .model("wan2.6-t2i")
                .n(1)
                .size("1280*1280")
                .negativePrompt("")
                .promptExtend(true)
                .watermark(false)
                .messages(Collections.singletonList(message))
                .build();

        ImageGeneration imageGeneration = new ImageGeneration();
        ImageGenerationResult result = null;
        try {
            System.out.println("---sync call, please wait a moment----");
            result = imageGeneration.call(param);
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            throw new RuntimeException(e.getMessage());
        }
        System.out.println(JsonUtils.toJson(result));
    }

    public static void main(String[] args) {
        try {
            basicCall();
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            System.out.println(e.getMessage());
        }
    }
}
Exemple de réponse

L'URL reste valide pendant 24 heures. Téléchargez l'image sans tarder.

{
    "status_code": 200,
    "request_id": "50b57166-eaaa-4f17-b1e0-35a5ca88672c",
    "code": "",
    "message": "",
    "output": {
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "role": "assistant",
                    "content": [
                        {
                            "image": "https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/xxx.png?Expires=xxx",
                            "type": "image"
                        }
                    ]
                }
            }
        ],
        "finished": true
    },
    "usage": {
        "input_tokens": 0,
        "output_tokens": 0,
        "image_count": 1,
        "size": "1280*1280",
        "total_tokens": 0
    }
}

Appel asynchrone

Exemple de requête
import com.alibaba.dashscope.aigc.imagegeneration.*;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.utils.Constants;
import com.alibaba.dashscope.utils.JsonUtils;
import java.util.Collections;

public class Main {

    static {
        // The following URL is for the Singapore region. When calling, replace {WorkspaceId} with your actual workspace ID. URLs vary by region.
        Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
    }

    // If you have not configured the environment variable, replace the following line with your Model Studio API key: apiKey="sk-xxx"
    // The API key is different for each region. To get an API key: https://www.alibabacloud.com/help/en/model-studio/get-api-key
    static String apiKey = System.getenv("DASHSCOPE_API_KEY");

    public static void asyncCall() throws ApiException, NoApiKeyException, UploadFileException {
        ImageGenerationMessage message = ImageGenerationMessage.builder()
                .role("user")
                .content(Collections.singletonList(
                        Collections.singletonMap("text", "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display")
                )).build();

        ImageGenerationParam param = ImageGenerationParam.builder()
                .apiKey(apiKey)
                .model("wan2.6-t2i")
                .n(1)
                .size("1280*1280")
                .negativePrompt("")
                .promptExtend(true)
                .watermark(false)
                .messages(Collections.singletonList(message))
                .build();

        ImageGeneration imageGeneration = new ImageGeneration();
        ImageGenerationResult result = null;
        try {
            System.out.println("---async call, creating task----");
            result = imageGeneration.asyncCall(param);
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            throw new RuntimeException(e.getMessage());
        }
        System.out.println(JsonUtils.toJson(result));

        String taskId = result.getOutput().getTaskId();
        // Wait for the task to complete
        waitTask(taskId);
    }

    public static void waitTask(String taskId) throws ApiException, NoApiKeyException {
        ImageGeneration imageGeneration = new ImageGeneration();
        ImageGenerationResult result = imageGeneration.wait(taskId, apiKey);
        System.out.println(JsonUtils.toJson(result));
    }

    public static void main(String[] args) {
        try {
            asyncCall();
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            System.out.println(e.getMessage());
        }
    }
}
Exemples de réponses
  1. Exemple de réponse lors de la création d'une tâche

    {
        "status_code": 200,
        "request_id": "9cd85950-2e26-4b2c-b562-1694cf9288e5",
        "code": "",
        "message": "",
        "output": {
            "task_id": "4c861fbe-af89-4a2f-8fc5-4bb15c3139ba",
            "task_status": "PENDING"
        },
        "usage": null
    }
    
  2. Exemple de réponse lors de l'interrogation du résultat de la tâche

    L'URL reste valide pendant 24 heures. Téléchargez l'image sans tarder.

    {
        "status_code": 200,
        "request_id": "cbdf1424-306e-4a52-82f3-8bf5d8a99103",
        "code": "",
        "message": "",
        "output": {
            "choices": [
                {
                    "finish_reason": "stop",
                    "message": {
                        "role": "assistant",
                        "content": [
                            {
                                "image": "https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/xxx.png?Expires=xxx",
                                "type": "image"
                            }
                        ]
                    }
                }
            ],
            "task_id": "4c861fbe-af89-4a2f-8fc5-4bb15c3139ba",
            "task_status": "SUCCEEDED",
            "submit_time": "2026-01-16 16:36:06.556",
            "scheduled_time": "2026-01-16 16:36:06.591",
            "end_time": "2026-01-16 16:36:25.190",
            "finished": true
        },
        "usage": {
            "input_tokens": 0,
            "output_tokens": 0,
            "size": "1280*1280",
            "total_tokens": 0,
            "image_count": 1
        }
    }
    

Modèles wan2.5 et antérieurs

Important

  • Le code ci-dessous concerne exclusivement les modèles wan2.5 et versions précédentes.

  • Vérifiez que votre version du DashScope Java SDK est 2.22.2 ou ultérieure avant d'exécuter ce code.

    Une version trop ancienne peut provoquer des erreurs telles que « url error, please check url! ». Consultez la rubrique Installer le SDK pour procéder à la mise à jour.

L'base_url et la clé API sont propres à chaque région et ne peuvent pas être interchangées. Les exemples suivants illustrent un appel dans la région de Singapour :

China (Beijing)

https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1

Lors de l'appel, remplacez {WorkspaceId} par votre véritable ID d'espace de travail.

Singapore

https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1

Lors de l'appel, remplacez {WorkspaceId} par votre véritable ID d'espace de travail.

Singapore

https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1

Lors de l'appel, remplacez {WorkspaceId} par votre véritable ID d'espace de travail.

China (Beijing)

https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1

Lors de l'appel, remplacez {WorkspaceId} par votre véritable ID d'espace de travail.

Appel synchrone

Exemple de requête
// Copyright (c) Alibaba, Inc. and its affiliates.

import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesis;
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesisListResult;
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesisParam;
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesisResult;
import com.alibaba.dashscope.task.AsyncTaskListParam;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.Constants;
import com.alibaba.dashscope.utils.JsonUtils;

import java.util.HashMap;
import java.util.Map;

public class Main {

  static {
     // The following URL is for the Singapore region. When calling, replace {WorkspaceId} with your actual workspace ID. URLs vary by region.
     Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
  }

  // If you have not configured the environment variable, replace the following line with your Model Studio API key: apiKey="sk-xxx"
  // The API keys for the Singapore and Beijing regions are different. To get an API key: https://www.alibabacloud.com/help/en/model-studio/get-api-key
  static String apiKey = System.getenv("DASHSCOPE_API_KEY");

  public static void basicCall() throws ApiException, NoApiKeyException {
        // Set the parameters
        Map<String, Object> parameters = new HashMap<>();
        parameters.put("prompt_extend", true);
        parameters.put("watermark", false);
        parameters.put("seed", 12345);

        ImageSynthesisParam param =
                ImageSynthesisParam.builder()
                        .apiKey(apiKey)
                        .model("wan2.5-t2i-preview")
                        .prompt("A flower shop with exquisite windows, a beautiful wooden door, and flowers on display")
                        .n(1)
                        .size("1280*1280")
                        .negativePrompt("")
                        .parameters(parameters)
                        .build();

        ImageSynthesis imageSynthesis = new ImageSynthesis();
        ImageSynthesisResult result = null;
        try {
            System.out.println("---sync call, please wait a moment----");
            result = imageSynthesis.call(param);
        } catch (ApiException | NoApiKeyException e){
            throw new RuntimeException(e.getMessage());
        }
        System.out.println(JsonUtils.toJson(result));
    }

    public static void listTask() throws ApiException, NoApiKeyException {
        ImageSynthesis is = new ImageSynthesis();
        AsyncTaskListParam param = AsyncTaskListParam.builder().build();
        param.setApiKey(apiKey);
        ImageSynthesisListResult result = is.list(param);
        System.out.println(result);
    }

    public static void fetchTask(String taskId) throws ApiException, NoApiKeyException {
        ImageSynthesis is = new ImageSynthesis();
        // If the DASHSCOPE_API_KEY environment variable is set, you can set apiKey to null.
        ImageSynthesisResult result = is.fetch(taskId, apiKey);
        System.out.println(result.getOutput());
        System.out.println(result.getUsage());
    }

    public static void main(String[] args){
        try{
            basicCall();
            //listTask();
        }catch(ApiException|NoApiKeyException e){
            System.out.println(e.getMessage());
        }
    }
}
Exemple de réponse

L'URL reste valide pendant 24 heures. Téléchargez l'image sans tarder.

{
    "request_id": "22f9c744-206c-9a78-899a-xxxxxx",
    "output": {
        "task_id": "4a0f8fc6-03fb-4c44-a13a-xxxxxx",
        "task_status": "SUCCEEDED",
        "results": [{
           "orig_prompt": "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display",
            "actual_prompt": "A flower shop with exquisitely carved windows and a beautiful dark wooden door slightly ajar. A variety of fresh flowers, including roses, lilies, and sunflowers, are on display inside, vibrant in color and fragrant. The background is a cozy indoor scene with soft light streaming through the windows onto the flowers. High-definition realistic photography, medium shot composition.",
            "url": "https://dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com/1.png"
        }],
        "task_metrics": {
            "TOTAL": 1,
            "SUCCEEDED": 1,
            "FAILED": 0
        }
    },
    "usage": {
        "image_count": 1
    }
}

Appel asynchrone

Exemple de requête
// Copyright (c) Alibaba, Inc. and its affiliates.

import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesis;
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesisParam;
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesisResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.Constants;
import com.alibaba.dashscope.utils.JsonUtils;

import java.util.HashMap;
import java.util.Map;

public class Main {
    static {
        // The following URL is for the Singapore region. When calling, replace {WorkspaceId} with your actual workspace ID. URLs vary by region.
        Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
    }

    // If you have not configured the environment variable, replace the following line with your Model Studio API key: apiKey="sk-xxx"
    // The API keys for the Singapore and Beijing regions are different. To get an API key: https://www.alibabacloud.com/help/en/model-studio/get-api-key
    static String apiKey = System.getenv("DASHSCOPE_API_KEY");

    public void asyncCall() {
        System.out.println("---create task----");
        String taskId = this.createAsyncTask();
        System.out.println("---wait task done then return image url----");
        this.waitAsyncTask(taskId);
    }

    /**
     * Create an asynchronous task
     * @return taskId
     */
    public String createAsyncTask() {
        // Set the parameters
        Map<String, Object> parameters = new HashMap<>();
        parameters.put("prompt_extend", true);
        parameters.put("watermark", false);
        parameters.put("seed", 12345);

        ImageSynthesisParam param =
                ImageSynthesisParam.builder()
                        .apiKey(apiKey)
                        .model("wan2.5-t2i-preview")
                        .prompt("A flower shop with exquisite windows, a beautiful wooden door, and flowers on display")
                        .n(1)
                        .size("1280*1280)
                        .negativePrompt("")
                        .parameters(parameters)
                        .build();

        ImageSynthesis imageSynthesis = new ImageSynthesis();
        ImageSynthesisResult result = null;
        try {
            result = imageSynthesis.asyncCall(param);
        } catch (Exception e){
            throw new RuntimeException(e.getMessage());
        }
        System.out.println(JsonUtils.toJson(result));
        String taskId = result.getOutput().getTaskId();
        System.out.println("taskId=" + taskId);
        return taskId;
    }

    /**
     * Wait for the asynchronous task to finish
     * @param taskId The task ID
     * */
    public void waitAsyncTask(String taskId) {
        ImageSynthesis imageSynthesis = new ImageSynthesis();
        ImageSynthesisResult result = null;
        try {
            // After configuring the environment variable, you can set apiKey to null here
            result = imageSynthesis.wait(taskId, apiKey);
        } catch (ApiException | NoApiKeyException e){
            throw new RuntimeException(e.getMessage());
        }
        System.out.println(JsonUtils.toJson(result));
        System.out.println(JsonUtils.toJson(result.getOutput()));
    }

    public static void main(String[] args){
        Main main = new Main();
        main.asyncCall();
    }

}
Exemples de réponse
  1. Réponse type lors de la création d'une tâche

    {
        "request_id": "5dbf9dc5-4f4c-9605-85ea-542f97709ba8",
        "output": {
            "task_id": "7277e20e-aa01-4709-xxxxxxxx",
            "task_status": "PENDING"
        }
    }
    
  2. Réponse type lors de l'interrogation du résultat de la tâche

    {
        "request_id": "22f9c744-206c-9a78-899a-xxxxxx",
        "output": {
            "task_id": "4a0f8fc6-03fb-4c44-a13a-xxxxxx",
            "task_status": "SUCCEEDED",
            "results": [{
               "orig_prompt": "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display",
                "actual_prompt": "A flower shop with exquisitely carved windows and a beautiful dark wooden door slightly ajar. A variety of fresh flowers, including roses, lilies, and sunflowers, are on display inside, vibrant in color and fragrant. The background is a cozy indoor scene with soft light streaming through the windows onto the flowers. High-definition realistic photography, medium shot composition.",
                "url": "https://dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com/1.png"
            }],
            "task_metrics": {
                "TOTAL": 1,
                "SUCCEEDED": 1,
                "FAILED": 0
            }
        },
        "usage": {
            "image_count": 1
        }
    }
    

Limites

  • Validité des données : L'identifiant de tâche task_id et l'url de l'image ne sont conservés que pendant 24 heures. Passé ce délai, toute interrogation ou tout téléchargement devient impossible.
  • Modération du contenu : Le prompt d'entrée et l'image générée font tous deux l'objet d'une modération. Tout contenu non conforme déclenche une erreur IPInfringementSuspect ou DataInspectionFailed. Consultez la rubrique Codes d'erreur.

Facturation et limitation du débit

  • Vérifiez les quotas gratuits et les tarifs directement dans la console.
  • Concernant les limites de débit du modèle, reportez-vous à la section Série Wan.
  • La facturation repose sur le nombre d'images générées avec succès. Les appels échoués n'entraînent aucun frais et n'entament pas le quota gratuit pour nouveaux utilisateurs.

Codes d'erreur

Si l'appel au modèle échoue et renvoie un message d'erreur, consultez la rubrique Codes d'erreur pour obtenir la procédure de résolution.

FAQ

Q : Comment consulter les coûts d'inférence et le volume d'appels d'un modèle ?

R : Reportez-vous à la rubrique Consultation des factures et gestion des coûts.