Le modèle de montage vidéo Wanxiang permet de modifier des vidéos en entrée : ajout, suppression ou modification de contenu, remplacement d'arrière-plans, conversion de styles, ainsi que réplication d'actions, d'effets ou de mouvements de caméra. Il propose les deux méthodes suivantes :
- Montage par instructions : Modifiez le contenu vidéo à l'aide d'instructions textuelles, par exemple pour remplacer les vêtements d'un personnage, changer des éléments de scène ou ajuster le style visuel.
- Montage par instructions et image de référence : Outre les instructions, transmettez une image de référence pour appliquer à la vidéo des éléments issus de cette image, tels que des personnages, des vêtements ou des accessoires.
RemarquePour le montage vidéo, en particulier pour répliquer des actions, des mouvements de caméra ou des effets à partir d'une vidéo spécifique, utilisez Video Editing 2.7. Pour les fonctionnalités de prolongation de vidéo, reportez-vous à Wanxiang Image-to-Video 2.7.
Prise en main
| Invite et image de référence en entrée | Vidéo en entrée (vidéo d'effets) | Vidéo en sortie |
Appliquez les effets spéciaux de la vidéo de référence à la femme aux cheveux longs dans l'image. La scène est une fête. ![]() |
Avant tout appel, obtenez une clé API, puis configurez-la comme variable d'environnement. Pour appeler l'API via un kit de développement logiciel (SDK), installez le SDK DashScope.
Remplacez {WorkspaceId} par votre véritable ID d'espace de travail.
Python SDK
ImportantAssurez-vous que la version du SDK DashScope pour Python est ultérieure ou égale à1.25.16 avant d'exécuter le code suivant.
Une version obsolète peut déclencher des erreurs telles que « url error, please check url! ». Pour plus d'informations, consultez Installer le SDK afin de procéder à la mise à jour.
# -*- coding: utf-8 -*-
from http import HTTPStatus
from dashscope import VideoSynthesis
import dashscope
import os
# The following URL is for the Singapore region. Replace {WorkspaceId} with your actual workspace ID. URLs differ by region.
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
# If the environment variable is not set, replace the following line with your Model Studio API key: api_key="sk-xxx"
# API keys vary by region. For more information, see https://www.alibabacloud.com/help/en/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")
media = [
{
"type": "video",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260409/eclvbm/21_refined.mp4"
},
{
"type": "reference_image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260409/jgekix/wan2.7-videoedit-demo.webp"
}
]
def sample_sync_call():
print('----sync call, please wait a moment----')
rsp = VideoSynthesis.call(
api_key=api_key,
model="wan2.7-videoedit",
media=media,
resolution="720P",
prompt_extend=True,
watermark=True,
prompt="Apply the special effects from the reference video to the long-haired woman in the image. The scene is a party.",
)
print(rsp)
if rsp.status_code == HTTPStatus.OK:
print(rsp.output.video_url)
else:
print('Failed, status_code: %s, code: %s, message: %s' %
(rsp.status_code, rsp.code, rsp.message))
if __name__ == '__main__':
sample_sync_call()
Java SDK
ImportantAssurez-vous que la version du SDK DashScope Java est ultérieure ou égale à2.22.14 avant d'exécuter le code suivant.
Une version obsolète peut déclencher des erreurs telles que « url error, please check url! ». Pour plus d'informations, consultez Installer le SDK afin de procéder à la mise à jour.
// Copyright (c) Alibaba, Inc. and its affiliates.
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesis;
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesisParam;
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesisResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.Constants;
import com.alibaba.dashscope.utils.JsonUtils;
import java.util.ArrayList;
import java.util.List;
public class VideoEdit {
static {
// The following URL is for the Singapore region. Replace {WorkspaceId} with your actual workspace ID. URLs differ by region.
Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
}
// If the environment variable is not set, replace the following line with your Model Studio API key: apiKey="sk-xxx"
// API keys vary by region. For more information, see https://www.alibabacloud.com/help/en/model-studio/get-api-key
static String apiKey = System.getenv("DASHSCOPE_API_KEY");
public static void syncCall() {
VideoSynthesis videoSynthesis = new VideoSynthesis();
final String prompt = "Apply the special effects from the reference video to the long-haired woman in the image. The scene is a party.";
List<VideoSynthesisParam.Media> media = new ArrayList<VideoSynthesisParam.Media>(){{
add(VideoSynthesisParam.Media.builder()
.url("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260409/eclvbm/21_refined.mp4")
.type("video")
.build());
add(VideoSynthesisParam.Media.builder()
.url("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260409/jgekix/wan2.7-videoedit-demo.webp")
.type("reference_image")
.build());
}};
VideoSynthesisParam param =
VideoSynthesisParam.builder()
.apiKey(apiKey)
.model("wan2.7-videoedit")
.prompt(prompt)
.media(media)
.resolution("720P")
.promptExtend(true)
.watermark(true)
.build();
VideoSynthesisResult result = null;
try {
System.out.println("---sync call, please wait a moment----");
result = videoSynthesis.call(param);
} catch (ApiException | NoApiKeyException e){
throw new RuntimeException(e.getMessage());
} catch (InputRequiredException e) {
throw new RuntimeException(e);
}
System.out.println(JsonUtils.toJson(result));
}
public static void main(String[] args) {
syncCall();
}
}
curl
Étape 1 : Créez une tâche pour obtenir un ID de tâchecurl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
-H 'X-DashScope-Async: enable' \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "wan2.7-videoedit",
"input": {
"prompt": "Apply the special effects from the reference video to the long-haired woman in the image. The scene is a party.",
"media": [
{
"type": "video",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260409/eclvbm/21_refined.mp4"
},
{
"type": "reference_image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260409/jgekix/wan2.7-videoedit-demo.webp"
}
]
},
"parameters": {
"resolution": "720P",
"prompt_extend": true,
"watermark": true
}
}'
Étape 2 : Récupérez le résultat à partir de l'ID de tâcheRemplacez {task_id} par la valeur task_id renvoyée par l'appel API précédent. L'identifiant 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"
video_urlest valide pendant 24 heures. Téléchargez la vidéo rapidement.
{
"request_id": "c1209113-8437-424f-a386-xxxxxx",
"output": {
"task_id": "966cebcd-dedc-4962-af88-xxxxxx",
"task_status": "SUCCEEDED",
"video_url": "https://dashscope-result-sh.oss-accelerate.aliyuncs.com/xxx.mp4?Expires=xxx",
...
},
...
}
Périmètre
- Les modèles pris en charge varient selon la région. Les ressources sont isolées entre les régions. Pour connaître les modèles disponibles dans chaque région, consultez la console Model Studio.
- Lors d'un appel, assurez-vous que votre modèle, votre URL d'endpoint et votre clé API appartiennent tous à la même région. Les appels interrégionaux échouent.
RemarqueL'exemple de code de cette rubrique s'applique à la région Singapour.
Capacités principales
Montage par instructions uniquement
Modèle pris en charge : wan2.7-videoedit.
Présentation de la fonctionnalité : Cette fonctionnalité modifie le contenu vidéo à partir d'une vidéo en entrée et d'une invite textuelle. Elle convient aux scénarios tels que la conversion de style, la modification d'actions et l'ajustement des mouvements de caméra.
Configuration des paramètres :
media: Spécifie la vidéo à monter (type=video). Aucune image de référence n'est nécessaire.prompt: Décrit l'intention de montage, par exemple « Convertir la vidéo en style pixel art 8 bits ».
| Invite en entrée | Vidéo en entrée | Vidéo en sortie |
Convertir la vidéo en style pixel art 8 bits |
Remplacez {WorkspaceId} par votre véritable ID d'espace de travail.
Python SDK
ImportantAssurez-vous que la version du SDK DashScope pour Python est ultérieure ou égale à1.25.16 avant d'exécuter le code suivant.
Une version obsolète peut déclencher des erreurs telles que « url error, please check url! ». Pour plus d'informations, consultez Installer le SDK afin de procéder à la mise à jour.
# -*- coding: utf-8 -*-
from http import HTTPStatus
from dashscope import VideoSynthesis
import dashscope
import os
# The following URL is for the Singapore region. Replace {WorkspaceId} with your actual workspace ID. URLs differ by region.
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
# If the environment variable is not set, replace the following line with your Model Studio API key: api_key="sk-xxx"
# API keys vary by region. For more information, see https://www.alibabacloud.com/help/en/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")
media = [
{
"type": "video",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260402/ldnfdf/wan2.7-videoedit-style-change.mp4"
}
]
def sample_sync_call():
print('----sync call, please wait a moment----')
rsp = VideoSynthesis.call(
api_key=api_key,
model="wan2.7-videoedit",
media=media,
resolution="720P",
prompt_extend=True,
watermark=True,
prompt="Convert the entire frame to a claymation style",
)
if rsp.status_code == HTTPStatus.OK:
print(rsp.output.video_url)
else:
print('Failed, status_code: %s, code: %s, message: %s' %
(rsp.status_code, rsp.code, rsp.message))
if __name__ == '__main__':
sample_sync_call()
Java SDK
ImportantAssurez-vous que la version du SDK DashScope Java est ultérieure ou égale à2.22.14 avant d'exécuter le code suivant.
Une version obsolète peut déclencher des erreurs telles que « url error, please check url! ». Pour plus d'informations, consultez Installer le SDK afin de procéder à la mise à jour.
// Copyright (c) Alibaba, Inc. and its affiliates.
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesis;
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesisParam;
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesisResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.Constants;
import com.alibaba.dashscope.utils.JsonUtils;
import java.util.ArrayList;
import java.util.List;
public class VideoEdit {
static {
// The following URL is for the Singapore region. Replace {WorkspaceId} with your actual workspace ID. URLs differ by region.
Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
}
// If the environment variable is not set, replace the following line with your Model Studio API key: apiKey="sk-xxx"
// API keys vary by region. For more information, see https://www.alibabacloud.com/help/en/model-studio/get-api-key
static String apiKey = System.getenv("DASHSCOPE_API_KEY");
public static void syncCall() {
VideoSynthesis videoSynthesis = new VideoSynthesis();
final String prompt = "Convert the entire frame to a claymation style";
List<VideoSynthesisParam.Media> media = new ArrayList<VideoSynthesisParam.Media>(){{
add(VideoSynthesisParam.Media.builder()
.url("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260402/ldnfdf/wan2.7-videoedit-style-change.mp4")
.type("video")
.build());
}};
VideoSynthesisParam param =
VideoSynthesisParam.builder()
.apiKey(apiKey)
.model("wan2.7-videoedit")
.prompt(prompt)
.media(media)
.resolution("720P")
.promptExtend(true)
.watermark(true)
.build();
VideoSynthesisResult result = null;
try {
System.out.println("---sync call, please wait a moment----");
result = videoSynthesis.call(param);
} catch (ApiException | NoApiKeyException e){
throw new RuntimeException(e.getMessage());
} catch (InputRequiredException e) {
throw new RuntimeException(e);
}
System.out.println(JsonUtils.toJson(result));
}
public static void main(String[] args) {
syncCall();
}
}
curl
Étape 1 : Créez une tâche pour obtenir un ID de tâchecurl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
-H 'X-DashScope-Async: enable' \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "wan2.7-videoedit",
"input": {
"prompt": "Change the video to an 8-bit pixel style",
"media": [
{
"type": "video",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/en-US/20260409/rkjvku/1.mp4"
}
]
},
"parameters": {
"resolution": "720P",
"prompt_extend": true,
"watermark": true
}
}'
Étape 2 : Récupérez le résultat à partir de l'ID de tâcheRemplacez {task_id} par la valeur task_id renvoyée par l'appel API précédent. L'identifiant 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"
Montage par instructions et image de référence
Modèle pris en charge : wan2.7-videoedit.
Présentation de la fonctionnalité : Cette fonctionnalité applique à une vidéo des éléments provenant d'une image de référence, tels que des vêtements ou des accessoires, sur la base d'une invite textuelle.
Configuration des paramètres :
media: Spécifie la vidéo à monter (type=video) ainsi qu'une image de référence (type=reference_image). Vous pouvez fournir jusqu'à quatre images de référence.prompt: Décrit l'intention de montage, par exemple « Faire porter au personnage à tête de cheval dans la vidéo le pull rayé de l'image ».
| Invite et image de référence en entrée | Vidéo en entrée | Vidéo en sortie |
Faire porter au personnage à tête de cheval dans la vidéo le pull rayé de l'image ![]() |
Remplacez {WorkspaceId} par votre véritable ID d'espace de travail.
Python SDK
ImportantAssurez-vous que la version du SDK DashScope pour Python est ultérieure ou égale à1.25.16 avant d'exécuter le code suivant.
Une version obsolète peut déclencher des erreurs telles que « url error, please check url! ». Pour plus d'informations, consultez Installer le SDK afin de procéder à la mise à jour.
# -*- coding: utf-8 -*-
from http import HTTPStatus
from dashscope import VideoSynthesis
import dashscope
import os
# The following URL is for the Singapore region. Replace {WorkspaceId} with your actual workspace ID. URLs differ by region.
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
# If the environment variable is not set, replace the following line with your Model Studio API key: api_key="sk-xxx"
# API keys vary by region. For more information, see https://www.alibabacloud.com/help/en/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")
media = [
{
"type": "video",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260403/nlspwm/T2VA_22.mp4"
},
{
"type": "reference_image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260402/fwjpqf/wan2.7-videoedit-change-clothes.png"
}
]
def sample_sync_call():
print('----sync call, please wait a moment----')
rsp = VideoSynthesis.call(
api_key=api_key,
model="wan2.7-videoedit",
media=media,
resolution="720P",
prompt_extend=True,
watermark=True,
prompt="Replace the girl's clothes in the video with the clothes from the image",
)
if rsp.status_code == HTTPStatus.OK:
print(rsp.output.video_url)
else:
print('Failed, status_code: %s, code: %s, message: %s' %
(rsp.status_code, rsp.code, rsp.message))
if __name__ == '__main__':
sample_sync_call()
Java SDK
ImportantAssurez-vous que la version du SDK DashScope Java est ultérieure ou égale à2.22.14 avant d'exécuter le code suivant.
Une version obsolète peut déclencher des erreurs telles que « url error, please check url! ». Pour plus d'informations, consultez Installer le SDK afin de procéder à la mise à jour.
// Copyright (c) Alibaba, Inc. and its affiliates.
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesis;
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesisParam;
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesisResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.Constants;
import com.alibaba.dashscope.utils.JsonUtils;
import java.util.ArrayList;
import java.util.List;
public class VideoEdit {
static {
// The following URL is for the Singapore region. Replace {WorkspaceId} with your actual workspace ID. URLs differ by region.
Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
}
// If the environment variable is not set, replace the following line with your Model Studio API key: apiKey="sk-xxx"
// API keys vary by region. For more information, see https://www.alibabacloud.com/help/en/model-studio/get-api-key
static String apiKey = System.getenv("DASHSCOPE_API_KEY");
public static void syncCall() {
VideoSynthesis videoSynthesis = new VideoSynthesis();
final String prompt = "Replace the girl's clothes in the video with the clothes from the image";
List<VideoSynthesisParam.Media> media = new ArrayList<VideoSynthesisParam.Media>(){{
add(VideoSynthesisParam.Media.builder()
.url("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260403/nlspwm/T2VA_22.mp4")
.type("video")
.build());
add(VideoSynthesisParam.Media.builder()
.url("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260402/fwjpqf/wan2.7-videoedit-change-clothes.png")
.type("reference_image")
.build());
}};
VideoSynthesisParam param =
VideoSynthesisParam.builder()
.apiKey(apiKey)
.model("wan2.7-videoedit")
.prompt(prompt)
.media(media)
.resolution("720P")
.promptExtend(true)
.watermark(true)
.build();
VideoSynthesisResult result = null;
try {
System.out.println("---sync call, please wait a moment----");
result = videoSynthesis.call(param);
} catch (ApiException | NoApiKeyException e){
throw new RuntimeException(e.getMessage());
} catch (InputRequiredException e) {
throw new RuntimeException(e);
}
System.out.println(JsonUtils.toJson(result));
}
public static void main(String[] args) {
syncCall();
}
}
curl
Étape 1 : Créez une tâche pour obtenir un ID de tâchecurl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
-H 'X-DashScope-Async: enable' \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "wan2.7-videoedit",
"input": {
"prompt": "Make the horse-headed character in the video wear the striped sweater from the image",
"media": [
{
"type": "video",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260409/dozxak/Wan_Video_Edit_33_1.mp4"
},
{
"type": "reference_image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260415/hynnff/wan-video-edit-clothes.webp"
}
]
},
"parameters": {
"resolution": "720P",
"prompt_extend": true,
"watermark": true
}
}'
Étape 2 : Récupérez le résultat à partir de l'ID de tâcheRemplacez {task_id} par la valeur task_id renvoyée par l'appel API précédent. L'identifiant 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"
Scénarios et exemples
Ajouter, supprimer ou modifier des éléments
Ajoutez, supprimez ou remplacez des éléments spécifiques au sein d'une vidéo.
| Type | Invite et image de référence en entrée | Vidéo en entrée | Vidéo en sortie |
Ajout | Ajouter un carré de chocolat noir dans la tasse | ||
Suppression | Retirer le train de la vidéo. Conserver tout le reste identique. | ||
Modification | Remplacer le film dans la vidéo par l'assiette de l'image ![]() | ||
Modification | Faire porter à l'homme-cheval dans la vidéo le pull rayé de l'image | ||
Modification | Transformer le chat en chien |
Modifier l'environnement ou l'arrière-plan
Utilisez des instructions pour changer les conditions d'éclairage, les couleurs saisonnières ou l'espace géographique d'une vidéo. Vous pouvez également modifier l'arrière-plan de la vidéo pour transporter des objets dans n'importe quel espace.
| Type | Invite en entrée | Vidéo en entrée | Vidéo en sortie |
Modification de saison | Changer la saison de l'arrière-plan pour un hiver enneigé, avec de la neige recouvrant les arbres. Conserver la rivière identique. | ||
Modification météo | Conserver les actions du personnage identiques, mais transformer toute la scène, actuellement nuageuse, en journée ensoleillée. Ne rien changer d'autre. | ||
Modification éclairage et ombres | Ne rien changer d'autre. Faire passer la couleur globale de la lumière et le filtre du plan du blanc à une tonalité chaude. Préserver les détails du teint du personnage pour créer une harmonie visuelle entre le personnage et l'arrière-plan. | ||
Modification arrière-plan | Conserver les actions de la femme principale identiques, mais remplacer l'arrière-plan de la vidéo par une salle de sport. |
Modifier le style de la vidéo
Convertissez rapidement des vidéos existantes en divers styles artistiques, tels que l'animation, la 3D, la pâte à modeler ou le fil de laine.
| Type | Invite en entrée | Vidéo en entrée | Vidéo en sortie |
Modification de style | Vidéo vers Image : Style Cartoon C4D | ||
Modification de style | Convertir l'ensemble du plan en style film en prises de vues réelles | ||
Modification de style | Convertir l'ensemble du plan en style peinture à l'aquarelle |
Modifier le comportement des personnages, les dialogues ou le cadrage
Pour un contenu vidéo existant ou généré, utilisez des instructions afin de modifier l'intrigue, telle que le comportement ou les dialogues des personnages, et d'ajuster le cadrage pour un montage créatif approfondi.
| Type | Invite en entrée | Vidéo en entrée | Vidéo en sortie |
Modification du comportement d'un personnage | Faire en sorte que l'homme dans la vidéo prenne une cuillerée de soupe et la boive. Ne rien changer d'autre. | ||
Modification de l'émotion d'un personnage | L'expression de la fille dans le plan devient triste et elle se met à pleurer. Ne rien changer d'autre. | ||
Modification des dialogues d'un personnage | Conserver la voix et le ton du personnage. Remplacer la réplique de la fille de gauche par : « Maman, quelle est cette couleur ? », et celle de la fille de droite par : « C'est vert, mon bébé » | ||
Modification du cadrage | Changer le mouvement de caméra pour un travelling circulaire horaire autour du personnage, ce dernier suivant le mouvement de la caméra. | ||
Modification du cadrage | Changer le mouvement de caméra de la vidéo pour un panoramique vertical ascendant tout en plongeant simultanément le regard vers le bas. |
Répliquer des actions, des mouvements de caméra ou des effets
Répliquez les séquences d'action, les trajectoires de caméra et les effets visuels d'une vidéo de référence pour générer une vidéo présentant des caractéristiques dynamiques cohérentes.
| Type | Invite ou image de référence en entrée | Vidéo en entrée | Vidéo en sortie |
Réplication d'une action individuelle | Faire en sorte que la personne dans l'image imite les actions de la personne dans la vidéo. ![]() | ||
Réplication d'une action multi-personnes | Reprendre les actions des cinq personnes dans la vidéo et transformer la scène en cinq personnes chantant et jouant d'instruments à un stand de rue en ville. | ||
Réplication d'un mouvement de caméra | Reprendre le mouvement de caméra rapide de la vidéo originale. Transformer la scène en cérémonie de remise de prix, avec la femme de l'image de référence marchant sur le tapis rouge. ![]() | ||
Réplication d'effets | Reprendre les effets spéciaux de la vidéo et les appliquer à la femme dans l'image, la scène se déroulant dans une rue. ![]() |
Comment fournir des vidéos et des images
Vidéo en entrée
-
Quantité de vidéos : Obligatoire. Exactement une.
-
Méthode de fourniture :
- URL publique : Prend en charge les protocoles HTTP ou HTTPS. Exemple : https://xxxx/xxx.mp4.
Image de référence en entrée
-
Quantité d'images : Facultatif. Jusqu'à quatre.
-
Méthode de fourniture :
-
URL publique : Prend en charge les protocoles HTTP ou HTTPS. Exemple : https://xxxx/xxx.png.
-
Chaîne encodée en Base64 : Exemple : data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABDg...... (Exemple tronqué à titre d'illustration).
-
Format :
data:{MIME_type};base64,{base64_data}, où :- {base64_data} : La chaîne encodée en Base64 du fichier image.
- {MIME_type} : Le type MIME de l'image, qui doit correspondre au format du fichier.
Format d'image
Type MIME
JPEG
image/jpeg
JPG
image/jpeg
PNG
image/png
BMP
image/bmp
WEBP
image/webp
Exemple de code
import base64 import mimetypes # Format is data:{MIME_type};base64,{base64_data} def encode_file(file_path): mime_type, _ = mimetypes.guess_type(file_path) if not mime_type or not mime_type.startswith("image/"): raise ValueError("Unsupported or unrecognized image format") with open(file_path, "rb") as image_file: encoded_string = base64.b64encode(image_file.read()).decode('utf-8') return f"data:{mime_type};base64,{encoded_string}" # Replace your_image.jpg with the actual image path base64_str = encode_file("your_image.jpg") print(base64_str)
-
-
Vidéo en sortie
- Quantité de vidéos : 1.
- Spécifications vidéo : Le format est MP4. Pour plus d'informations, consultez Périmètre des spécifications vidéo.
- Validité de l'URL vidéo : 24 heures.
- Dimensions vidéo : Le paramètre de résolution définit la résolution de la vidéo, tandis que le paramètre de ratio détermine son rapport hauteur/largeur.
Facturation et limitations de débit
-
Pour les quotas gratuits et les tarifs de facturation des modèles, consultez Tarification des modèles.
-
Pour les limites de débit des modèles, consultez Série Wanxiang.
-
Description de la facturation :
- Les images en entrée ne sont pas facturées. Les vidéos en entrée et en sortie sont facturées à la seconde. La formule est la suivante :
Durée totale facturable (secondes) = Durée de la vidéo en entrée (secondes) + Durée de la vidéo en sortie (secondes). - Les appels de modèle ayant échoué ou les erreurs de traitement n'engendrent aucun frais et ne consomment pas le quota gratuit pour les nouveaux utilisateurs.
- Les images en entrée ne sont pas facturées. Les vidéos en entrée et en sortie sont facturées à la seconde. La formule est la suivante :
Documentation API
FAQ
Q : Quelle est la différence entre Video Editing 2.7 (wan2.7-videoedit) et Video Editing 2.1 (wan2.1-vace-plus) ?
R : Video Editing 2.7 monte les vidéos directement à partir d'instructions, ce qui simplifie son utilisation et offre des améliorations globales. Video Editing 2.1 nécessite de spécifier le paramètre function et se concentre sur des fonctionnalités telles que le montage local avec masques et l'expansion de plans. Nous vous recommandons d'utiliser Video Editing 2.7.
Q : Comment fournir plusieurs images de référence ?
R : Ajoutez plusieurs objets avec type=reference_image au tableau media. Vous pouvez ajouter jusqu'à quatre images de référence. Exemple :
{
"media": [
{"type": "video", "url": "<Input video URL>"},
{"type": "reference_image", "url": "<Reference image 1 URL>"},
{"type": "reference_image", "url": "<Reference image 2 URL>"},
{"type": "reference_image", "url": "<Reference image 3 URL>"},
{"type": "reference_image", "url": "<Reference image 4 URL>"}
]
}






