Tous les produits
Search
Centre de documentation

Alibaba Cloud Model Studio:Wan image-to-action API reference

Dernière mise à jour :Oct 11, 2026

Animez une image de personnage en transférant les mouvements d'une vidéo de référence.

  • Résumé de la fonctionnalité : Transférez les actions et expressions d'une vidéo de référence vers une image de personnage pour générer une vidéo animée.
  • Cas d'usage : Reproduisez des danses, des mouvements corporels complexes et des expressions faciales issus de performances cinématographiques ou télévisuelles. Cette solution constitue une alternative économique à la capture de mouvement.

Effets du modèle

Le modèle wan2.2-animate-move propose deux modes de service : le mode standard wan-std et le mode professionnel wan-pro, qui se distinguent par leur qualité de sortie et leur tarification. Pour plus d'informations, consultez Wanx-Image-to-Motion.

Image du personnageVidéo de référence

Vidéo générée (mode standardwan-std)

Vidéo générée (mode professionnelwan-pro)

move_input_image

Prérequis

Obtenez une clé API et exportez-la en tant que variable d'environnement.

ImportantLes régions Chine (Pékin) et Singapour disposent de clés API et d'endpoints de requête distincts. Elles ne sont pas interchangeables. Tout appel interrégional entraîne des échecs d'authentification ou des erreurs de service.

ImportantAlibaba Cloud Model Studio a publié des domaines spécifiques aux espaces de travail pour les régions Chine (Pékin) et Singapour. Ces nouveaux domaines dédiés offrent des performances supérieures et une meilleure stabilité pour les requêtes d'inférence. Nous vous recommandons de migrer vers ces nouveaux domaines :

  • Chine (Pékin) : passez de https://dashscope.aliyuncs.com à https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com
  • Singapour : passez de https://dashscope-intl.aliyuncs.com à https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com

{WorkspaceId} correspond à votre ID d'espace de travail, disponible sur la page Workspace Details de la console Alibaba Cloud Model Studio. Le domaine existant reste pleinement fonctionnel.

HTTP

La génération vidéo repose sur des appels asynchrones. Le processus comprend deux étapes : la création d'une tâche, puis l'interrogation des résultats.

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

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

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

Pékin : POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/image2video/video-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. Évitez de créer des 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 la requête

Image to action

Voici l'URL de la région Singapour. Remplacez {WorkspaceId} par votre ID d'espace de travail Bailian. Les URL varient selon la région.

curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/image2video/video-synthesis' \
        --header 'X-DashScope-Async: enable' \
        --header "Authorization: Bearer $DASHSCOPE_API_KEY" \
        --header 'Content-Type: application/json' \
        --data '{
            "model": "wan2.2-animate-move",
            "input": {
                "image_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250919/adsyrp/move_input_image.jpeg",
                "video_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250919/kaakcn/move_input_video.mp4",
                "watermark": true
            },
            "parameters": {
                "mode": "wan-std"
            }
          }'
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. Définissez ce paramètre à wan2.2-animate-move.

input object (Obligatoire)

Paramètres d'entrée. Contient les champs suivants :

Propriétés

image_url string (Obligatoire)

URL HTTP ou HTTPS publiquement accessible de l'image du personnage. Les URL contenant des caractères non ASCII doivent être encodées.

  • Format : JPG, JPEG, PNG, BMP ou WEBP
  • Dimensions : La largeur et la hauteur doivent toutes deux se situer dans l'intervalle [200, 4096] pixels. Le ratio d'aspect doit être compris entre 1:3 et 3:1.
  • Taille du fichier : 5 Mo maximum
  • Exemple : https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250919/adsyrp/move_input_image.jpeg

video_url string (Obligatoire)

URL HTTP ou HTTPS publiquement accessible de la vidéo de référence. Les URL contenant des caractères non ASCII doivent être encodées.

Recommandation : Pour obtenir de meilleurs résultats, utilisez une vidéo de référence offrant une résolution et une fréquence d'images élevées.

  • Format : MP4, AVI ou MOV
  • Durée : De 2 à 30 secondes
  • Dimensions : La largeur et la hauteur doivent toutes deux se situer dans l'intervalle [200, 2048] pixels. Le ratio d'aspect doit être compris entre 1:3 et 3:1.
  • Taille du fichier : 200 Mo maximum
  • Exemple : https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250919/kaakcn/move_input_video.mp4

watermark bool (Facultatif)

Indique s'il faut ajouter un filigrane « Generated by Qwen AI » dans le coin inférieur droit de la vidéo générée.

  • false (par défaut)
  • true

parameters object (Obligatoire)

Propriétés

check_image bool (Facultatif)

Indique s'il faut valider l'image d'entrée avant le traitement.

  • true (par défaut)
  • false

mode string (Obligatoire)

Mode de service. Valeurs valides :

  • wan-std : Mode standard. Génération plus rapide à moindre coût. Idéal pour les aperçus rapides et les animations de base.
  • wan-pro : Mode professionnel. Animation plus fluide et qualité supérieure, avec un temps de traitement et un coût plus élevés.

Pour plus d'informations, consultez Effets du modèle et Facturation et limitations de débit.

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 Codes d'erreur.

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

output object

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.

message string

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

code string

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

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

Chine (Pékin)

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.

Singapour

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.

Singapour

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.

Chine (Pékin)

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 vidéo prend plusieurs minutes. Mettez en place un mécanisme d'interrogation avec un intervalle raisonnable, par exemple 15 secondes.
  • Transition d'état de la tâche : PENDING → RUNNING → SUCCEEDED ou FAILED.
  • Lien de résultat : Une fois la tâche terminée avec succès, une URL vidéo valide pendant 24 heures est retournée. Téléchargez et enregistrez la vidéo dans un stockage permanent, tel que OSS.
  • Validité du task_id : 24 heures. Passé ce délai, les requêtes retournent l'état UNKNOWN pour la tâche.

Paramètres de la requête

Interroger le résultat de la tâche

Remplacez 0385dc79-5ff8-4d82-bcb6-xxxxxx par votre véritable task_id.

Voici l'URL de la région Singapour. Remplacez {WorkspaceId} par votre ID d'espace de travail Bailian. Les URL varient selon la région.

curl -X GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/0385dc79-5ff8-4d82-bcb6-xxxxxx \
        --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

Tâche réussie

Les URL vidéo ne sont valides que pendant 24 heures, puis automatiquement purgées. Enregistrez rapidement les vidéos générées.

{
    "request_id": "a67f8716-18ef-447c-a286-xxxxxx",
    "output": {
        "task_id": "0385dc79-5ff8-4d82-bcb6-xxxxxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2025-09-18 15:32:00.105",
        "scheduled_time": "2025-09-18 15:32:15.066",
        "end_time": "2025-09-18 15:34:41.898",
        "results": {
            "video_url": "http://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxxxx.mp4?Expires=xxxxxx"
        }
    },
    "usage": {
        "video_duration": 5,2,
        "video_ratio": "standard"
    }
}

É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 Codes d'erreur.

{
        "request_id": "daad9007-6acd-9fb3-a6bc-xxxxxx",
        "output": {
            "task_id": "fe8aa114-d9f1-4f76-b598-xxxxxx",
            "task_status": "FAILED",
            "code": "InternalError",
            "message": "xxxxxx"
        }
    }

output object

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.

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.

results object

Propriétés

video_url string

URL de la vidéo générée. Retournée uniquement lorsque task_status vaut SUCCEEDED.

Valide pendant 24 heures. La vidéo est au format MP4 avec un encodage H.264.

code string

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

message string

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

usage object

Statistiques de sortie. Seuls les résultats réussis sont comptabilisés.

Propriétés

video_duration float

Durée de la vidéo générée, en secondes.

video_ratio string

Mode de service utilisé pour cette requête. Valeurs d'énumération : standard et pro.

wan-std retourne standard. wan-pro retourne pro.

request_id string

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

Limitations

Validité des données : Les ID de tâche et les URL vidéo expirent après 24 heures. Téléchargez les vidéos sans tarder.

Modération du contenu : Toutes les entrées et sorties font l'objet d'une modération automatique. Tout contenu non conforme déclenche une erreur IPInfringementSuspect ou DataInspectionFailed. Pour plus d'informations, consultez Codes d'erreur.

Facturation et limitations de débit

  • Pour le quota gratuit et la tarification, consultez Wanx-Image-to-Motion.

  • Pour les limites de débit, consultez Série Wan.

  • Détails de facturation :

    • Seule la sortie est facturée, en fonction de la durée de la vidéo en secondes.
    • Les appels échoués sont gratuits et n'entament pas le quota gratuit nouvel utilisateur.

Codes d'erreur

Si un appel de modèle échoue et retourne un message d'erreur, consultez Codes d'erreur.

FAQ

Comment améliorer la qualité de la vidéo générée ?

  1. Veillez à ce que le personnage occupe une proportion similaire du cadre dans l'image d'entrée et dans la vidéo de référence.
  2. Maintenez des proportions corporelles cohérentes entre l'image et la vidéo.
  3. Utilisez des sources haute définition. Des images floues ou des vidéos à faible fréquence d'images dégradent la qualité de sortie.

Comment convertir un lien vidéo temporaire en lien permanent ?

La conversion directe du lien est impossible. Téléchargez la vidéo depuis votre backend, puis importez-la dans un stockage objet permanent (tel qu'OSS) pour obtenir une URL permanente.

Exemple de code : Télécharger la vidéo sur un appareil local

import requests

def download_and_save_video(video_url, save_path):
    try:
        response = requests.get(video_url, stream=True, timeout=300) # Set timeout
        response.raise_for_status() # If the HTTP status code is not 200, raise an exception
        with open(save_path, 'wb') as f:
            for chunk in response.iter_content(chunk_size=8192):
                f.write(chunk)
        print(f"Video downloaded successfully to: {save_path}")
        # You can add the logic to upload to permanent storage here
    except requests.exceptions.RequestException as e:
        print(f"Failed to download video: {e}")

if __name__ == '__main__':
    video_url = "http://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/xxxx"
    save_path = "video.mp4"
    download_and_save_video(video_url, save_path)

Puis-je lire directement le lien vidéo retourné dans un navigateur ?

Ce n'est pas recommandé. Le lien expire au bout de 24 heures. Téléchargez et enregistrez la vidéo depuis votre backend, puis diffusez-la via un lien permanent.

Comment obtenir la liste d'autorisation de noms de domaine pour le stockage vidéo ?

R : Les vidéos générées par les modèles sont stockées dans OSS. L'API retourne une URL publique temporaire. Pour configurer une liste d'autorisation de pare-feu pour cette URL de téléchargement, notez ce qui suit : le stockage sous-jacent peut changer dynamiquement. Cette rubrique ne fournit pas de liste d'autorisation fixe de noms de domaine OSS afin d'éviter les problèmes d'accès liés à des informations obsolètes. Si vous avez des exigences en matière de contrôle de sécurité, contactez votre gestionnaire de compte pour obtenir la dernière liste de noms de domaine OSS.