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 personnage | Vidéo de référence | Vidéo générée (mode standard | Vidéo générée (mode professionnel |
|---|---|---|---|
![]() |
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_idretourné pour interroger le résultat. Cetask_idreste 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 actionVoici l'URL de la région Singapour. Remplacez {WorkspaceId} par votre ID d'espace de travail Bailian. Les URL varient selon la région. |
En-têtes de requête | |
Content-Type Type de contenu de la requête. Doit être défini à | |
Authorization Authentifie la requête à l'aide d'une clé API Model Studio. Exemple : Bearer sk-xxxx. | |
X-DashScope-Async Active le traitement asynchrone. Les requêtes HTTP ne prennent en charge que les appels asynchrones. La valeur doit être 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 Nom du modèle. Définissez ce paramètre à | |
input Paramètres d'entrée. Contient les champs suivants : | |
parameters |
Paramètres de réponse | Réponse réussieConservez le Réponse d'erreurÉchec de la création de la tâche. Consultez Codes d'erreur. |
output Sortie de la tâche. | |
request_id Identifiant unique de la requête pour le suivi et le dépannage. | |
message Message d'erreur détaillé. Retourné uniquement en cas d'échec de la requête. Consultez Codes d'erreur. | |
code 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
UNKNOWNpour la tâche.
Paramètres de la requête | Interroger le résultat de la tâcheRemplacez
|
En-têtes de requête | |
Authorization Authentifie la requête à l'aide d'une clé API Model Studio. Exemple : Bearer sk-xxxx. | |
Paramètres de chemin URL | |
task_id ID de la tâche. |
Paramètres de réponse | Tâche réussieLes URL vidéo ne sont valides que pendant 24 heures, puis automatiquement purgées. Enregistrez rapidement les vidéos générées. Échec de la tâcheLorsqu'une tâche échoue, |
output Sortie de la tâche. | |
usage Statistiques de sortie. Seuls les résultats réussis sont comptabilisés. | |
request_id 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 ?
- 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.
- Maintenez des proportions corporelles cohérentes entre l'image et la vidéo.
- 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.
