Skip to main content
video editing

Edição de vídeo 2.1

O modelo universal de edição de vídeo Wanxiang aceita entradas multimodais (texto, imagem e vídeo) e oferece cinco recursos principais: referência multi-imagem, repintura de vídeo, edição local, extensão de vídeo e video outpainting .

Escopo de aplicação

  • Os modelos suportados variam conforme a região. Os recursos são isolados entre regiões. Para consultar os modelos disponíveis em cada região, acesse o console do Model Studio.
  • Ao fazer uma chamada, certifique-se de que o modelo, a URL do endpoint e a chave da API pertençam à mesma região. Chamadas entre regiões falham.
O código de exemplo neste tópico aplica-se à região Singapore.

Recursos principais

Referência multi-imagem

Descrição do recurso: Aceita até 3 imagens de referência, que podem incluir objetos e fundos (como pessoas, animais, roupas e cenários). O modelo combina várias imagens para gerar conteúdo de vídeo coerente. Parâmetros:
  • function: Defina como image_reference.
  • ref_images_url: Array de URLs. Insira de 1 a 3 imagens de referência.
  • obj_or_bg: Identifica cada imagem como objeto (obj) ou fundo (bg). O tamanho deve ser igual ao de ref_images_url.
Prompt de entradaImagem de referência de entrada 1 (objeto de referência)Imagem de referência de entrada 2 (fundo de referência)Vídeo de saída
No vídeo, uma garota caminha saindo das profundezas de uma floresta antiga e enevoada. Seus passos são leves, e a câmera captura cada momento gracioso. Quando ela para e observa a mata exuberante ao redor, um sorriso de surpresa e alegria surge em seu rosto. Esse instante, registrado no jogo de luz e sombra, marca seu encontro maravilhoso com a natureza.
image
image
Antes de fazer uma chamada, obtenha uma chave de API e configure a chave de API como variável de ambiente (a ser despublicado e mesclado em Configurar chave de API).
  • curl
  • Python
  • Java
Etapa 1: Crie uma tarefa para obter um ID de tarefa
curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "wan2.1-vace-plus",
    "input": {
        "function": "image_reference",
        "prompt": "In the video, a girl gracefully emerges from a misty, ancient forest. Her steps are light, and the camera captures her every nimble moment. When she stops to look at the lush woods around her, a smile of surprise and joy blossoms on her face. This scene, frozen in an interplay of light and shadow, records her wonderful encounter with nature.",
        "ref_images_url": [
            "http://wanx.alicdn.com/material/20250318/image_reference_2_5_16.png",
            "http://wanx.alicdn.com/material/20250318/image_reference_1_5_16.png"
        ]
    },
    "parameters": {
        "prompt_extend": true,
        "obj_or_bg": ["obj","bg"],
        "size": "1280*720"
    }
}'
Etapa 2: Recuperar o resultado com base no ID da tarefaSubstitua {task_id} pelo valor de task_id retornado pela chamada de API anterior. O task_id permanece válido para consultas por 24 horas.
curl -X GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id} \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"

Repintura de vídeo

Descrição do recurso: Extrai a pose e as ações do objeto, a composição e os contornos de movimento ou a estrutura de esboço de um vídeo de entrada. Em seguida, gera um novo vídeo com as mesmas características dinâmicas com base em um prompt de texto. Também é possível substituir o objeto no vídeo original usando uma imagem de referência. Parâmetros:
  • function: Defina como video_repainting.
  • video_url: Obrigatório. URL do vídeo de entrada (formato MP4, ≤50 MB, ≤5 segundos).
  • control_condition: Obrigatório. Define o método de extração de características do vídeo e determina quais recursos do vídeo original permanecem no novo vídeo.
    • posebodyface: Extrai expressões faciais e movimentos corporais (mantém detalhes das expressões faciais).
    • posebody: Extrai apenas movimentos corporais, excluindo o rosto (controla apenas ações do corpo).
    • depth: Extrai composição e contornos de movimento (mantém a estrutura da cena).
    • scribble: Extrai a estrutura de esboço (mantém detalhes das bordas do esboço).
  • strength: Opcional. Controla a intensidade da extração de características. Intervalo: [0,0, 1,0]. Padrão: 1,0. Valores maiores aproximam a saída do vídeo original; valores menores permitem maior liberdade criativa.
  • ref_images_url: Opcional. Forneça a URL de uma imagem de referência para substituir o objeto no vídeo de entrada.
Prompt de entradaVídeo de entradaVídeo de saída
O vídeo mostra um carro preto estilo steampunk dirigido por um cavalheiro, adornado com engrenagens e tubos de cobre. O fundo é uma fábrica de doces movida a vapor com elementos retrô, criando uma cena vintage e divertida.
  • curl
  • Python
  • Java
Etapa 1: Crie uma tarefa para obter um ID de tarefa
curl --location 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "wanx2.1-vace-plus",
    "input": {
        "function": "video_repainting",
        "prompt": "The video shows a black steampunk-style car driven by a gentleman, adorned with gears and copper pipes. The background is a steam-powered candy factory with retro elements, creating a vintage and fun scene.",
        "video_url": "http://wanx.alicdn.com/material/20250318/video_repainting_1.mp4"
    },
    "parameters": {
        "prompt_extend": false,
        "control_condition": "depth"
    }
}'
curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "wan2.1-vace-plus",
    "input": {
        "function": "video_repainting",
        "prompt": "The video shows a black steampunk-style car driven by a gentleman, adorned with gears and copper pipes. The background is a steam-powered candy factory with retro elements, creating a vintage and fun scene.",
        "video_url": "http://wanx.alicdn.com/material/20250318/video_repainting_1.mp4"
    },
    "parameters": {
        "prompt_extend": false,
        "control_condition": "depth"
    }
}'
Etapa 2: Recuperar o resultado com base no ID da tarefaSubstitua {task_id} pelo valor de task_id retornado pela chamada de API anterior. O task_id permanece válido para consultas por 24 horas.
curl -X GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id} \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"

Edição local

Descrição do recurso: Realiza edição refinada em áreas específicas de um vídeo. Permite adicionar, excluir ou modificar elementos, além de substituir objetos ou fundos. Envie uma imagem de máscara para especificar a área de edição; o modelo rastreará automaticamente o alvo e integrará o conteúdo gerado. Parâmetros:
  • function: Defina como video_edit.
  • video_url: Obrigatório. URL do vídeo original de entrada.
  • mask_image_url: Opcional. Escolha entre este parâmetro e mask_video_url. Recomendamos o uso deste parâmetro. Insira a URL de uma imagem de máscara onde a área branca representa a parte a ser editada e a área preta permanece inalterada.
  • mask_frame_id: Opcional. Use com mask_image_url para especificar a qual quadro do vídeo a máscara corresponde (padrão: primeiro quadro).
  • mask_type: Opcional. Especifica o comportamento da área de edição:
    • tracking (padrão): A área de edição segue automaticamente a trajetória de movimento do objeto alvo.
    • fixed: A área de edição permanece em uma posição fixa.
  • expand_ratio: Opcional. Efetivo apenas quando mask_type é tracking.
    • Função: Define a proporção de expansão externa da área da máscara. Intervalo: [0,0, 1,0]. Padrão: 0,05.
    • Descrição: Valores menores ajustam a máscara mais precisamente ao alvo. Valores maiores expandem o alcance da máscara.
  • ref_images_url: Opcional. Forneça a URL de uma imagem de referência para substituir o conteúdo da área de edição pelo conteúdo da imagem de referência.
Prompt de entradaVídeo de entradaImagem de máscara de entradaVídeo de saída
O vídeo mostra um café francês estilo parisiense onde um leão de terno toma café elegantemente. Ele segura uma xícara em uma das mãos, bebendo com uma expressão relaxada. O café tem decoração refinada, com tons suaves e iluminação quente iluminando a área onde o leão está.
mask
A área branca indica a região de edição.
  • curl
  • Python
  • Java
Etapa 1: Crie uma tarefa para obter um ID de tarefa
# If you use a model in the China (Beijing) region, replace the URL with: https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis
curl --location 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "wanx2.1-vace-plus",
    "input": {
        "function": "video_edit",
        "prompt": "The video shows a Parisian-style French cafe where a lion in a suit elegantly sips coffee. It holds a coffee cup in one hand, taking a gentle sip with a relaxed expression. The cafe is tastefully decorated, with soft hues and warm lighting illuminating the lion's area.",
        "mask_image_url": "http://wanx.alicdn.com/material/20250318/video_edit_1_mask.png",
        "video_url": "http://wanx.alicdn.com/material/20250318/video_edit_2.mp4",
        "mask_frame_id": 1
    },
    "parameters": {
        "prompt_extend": false,
        "mask_type": "tracking",
        "expand_ratio": 0.05
    }
}'
curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "wan2.1-vace-plus",
    "input": {
        "function": "video_edit",
        "prompt": "The video shows a Parisian-style French cafe where a lion in a suit elegantly sips coffee. It holds a coffee cup in one hand, taking a gentle sip with a relaxed expression. The cafe is tastefully decorated, with soft hues and warm lighting illuminating the lion's area.",
        "mask_image_url": "http://wanx.alicdn.com/material/20250318/video_edit_1_mask.png",
        "video_url": "http://wanx.alicdn.com/material/20250318/video_edit_2.mp4",
        "mask_frame_id": 1
    },
    "parameters": {
        "prompt_extend": false,
        "mask_type": "tracking",
        "expand_ratio": 0.05
    }
}'
Etapa 2: Recuperar o resultado com base no ID da tarefaSubstitua {task_id} pelo valor de task_id retornado pela chamada de API anterior. O task_id permanece válido para consultas por 24 horas.
curl -X GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id} \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"

Extensão de vídeo

Descrição do recurso: Prevê e gera conteúdo subsequente contínuo com base em uma imagem ou clipe de vídeo de entrada. Permite estender para frente a partir do "primeiro quadro/primeiro clipe" ou estender para trás a partir do "último quadro/último clipe". A duração total do vídeo final gerado é fixa em 5 segundos. Parâmetros:
  • function: Defina como video_extension.
  • prompt: Obrigatório. Descreve o conteúdo de extensão desejado.
  • first_clip_url: Opcional. Insira a URL do primeiro clipe de vídeo (≤3 segundos). O modelo gerará o restante do vídeo com base neste clipe.
  • last_clip_url: Opcional. Insira a URL do último clipe de vídeo (≤3 segundos). O modelo gerará a parte anterior do vídeo com base neste clipe.
  • first_frame_url: Opcional. Insira a URL da imagem do primeiro quadro. O vídeo será estendido para frente a partir deste quadro.
  • last_frame_url: Opcional. Insira a URL da imagem do último quadro. O vídeo será estendido para trás a partir deste quadro.
    Nota : Forneça pelo menos um dos quatro parâmetros seguintes como entrada: first_clip_url, last_clip_url, first_frame_url ou last_frame_url.
Prompt de entradaPrimeiro clipe de entrada (1 segundo)Vídeo de saída (estendido para 5 segundos)
Um cachorro usando óculos escuros anda de skate na rua, desenho animado 3D.
  • curl
  • Python
  • Java
Etapa 1: Crie uma tarefa para obter um ID de tarefa
curl --location 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "wanx2.1-vace-plus",
    "input": {
        "function": "video_extension",
        "prompt": "A dog wearing sunglasses skateboarding on the street, 3D cartoon.",
        "first_clip_url": "http://wanx.alicdn.com/material/20250318/video_extension_1.mp4"
    },
    "parameters": {
        "prompt_extend": false
    }
}'
curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "wan2.1-vace-plus",
    "input": {
        "function": "video_extension",
        "prompt": "A dog wearing sunglasses skateboarding on the street, 3D cartoon.",
        "first_clip_url": "http://wanx.alicdn.com/material/20250318/video_extension_1.mp4"
    },
    "parameters": {
        "prompt_extend": false
    }
}'
Etapa 2: Recuperar o resultado com base no ID da tarefaSubstitua {task_id} pelo valor de task_id retornado pela chamada de API anterior. O task_id permanece válido para consultas por 24 horas.
curl -X GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id} \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"

Video outpainting

Descrição do recurso: Expande o conteúdo do vídeo nas direções superior, inferior, esquerda e direita com base em um prompt e uma proporção especificada, mantendo a coerência do objeto do vídeo e a integração natural do fundo. Parâmetros:
  • function: Defina como video_outpainting.
  • video_url: Obrigatório. URL do vídeo original de entrada.
  • top_scale: Opcional. Proporção de expansão para cima. Intervalo: [1,0, 2,0]. Padrão: 1,0 (sem expansão).
  • bottom_scale: Opcional. Proporção de expansão para baixo. Intervalo: [1,0, 2,0]. Padrão: 1,0.
  • left_scale: Opcional. Proporção de expansão para a esquerda. Intervalo: [1,0, 2,0]. Padrão: 1,0.
  • right_scale: Opcional. Proporção de expansão para a direita. Intervalo: [1,0, 2,0]. Padrão: 1,0.
Exemplo : Definir left_scale como 1,5 significa que o lado esquerdo do quadro será expandido para 1,5 vez sua largura original.
Prompt de entradaVídeo de entradaVídeo de saída
Uma dama elegante toca violino com paixão, com uma orquestra sinfônica completa atrás dela.
  • curl
  • Python
  • Java
Etapa 1: Crie uma tarefa para obter um ID de tarefa
curl --location 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "wanx2.1-vace-plus",
    "input": {
        "function": "video_outpainting",
        "prompt": "An elegant woman passionately plays the violin, with a full symphony orchestra behind her.",
        "video_url": "http://wanx.alicdn.com/material/20250318/video_outpainting_1.mp4"
    },
    "parameters": {
        "prompt_extend": false,
        "top_scale": 1.5,
        "bottom_scale": 1.5,
        "left_scale": 1.5,
        "right_scale": 1.5
    }
}'
curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "wan2.1-vace-plus",
    "input": {
        "function": "video_outpainting",
        "prompt": "An elegant woman passionately plays the violin, with a full symphony orchestra behind her.",
        "video_url": "http://wanx.alicdn.com/material/20250318/video_outpainting_1.mp4"
    },
    "parameters": {
        "prompt_extend": false,
        "top_scale": 1.5,
        "bottom_scale": 1.5,
        "left_scale": 1.5,
        "right_scale": 1.5
    }
}'
Etapa 2: Recuperar o resultado com base no ID da tarefaSubstitua {task_id} pelo valor de task_id retornado pela chamada de API anterior. O task_id permanece válido para consultas por 24 horas.
curl -X GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id} \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"

Como inserir imagens e vídeos

Imagens de entrada

  • Quantidade de imagens: Forneça a quantidade de imagens correspondente ao recurso selecionado.
  • Métodos de entrada:

Vídeos de entrada

  • Quantidade de vídeos: Forneça a quantidade de vídeos correspondente ao recurso selecionado.
  • Métodos de entrada:

Vídeos de saída

  • Quantidade de vídeos: 1.
  • Especificações do vídeo: Resolução total fixa em 720P, taxa de quadros de 30 fps, formato MP4 (codificação H.264).
  • Validade da URL do vídeo: 24 horas.
  • Dimensões do vídeo: Variam conforme o recurso selecionado.
    • Referência multi-imagem / Edição local:
      • Resolução de saída fixa em 720P.
      • Largura e altura específicas determinadas pelo parâmetro de solicitação size.
    • Repintura de vídeo / Extensão de vídeo / Video outpainting:
      • Se a resolução do vídeo de entrada for ≤ 720P: A saída mantém a resolução original.
      • Se a resolução do vídeo de entrada for > 720P: A saída é reduzida para 720P mantendo a proporção da tela.

Faturamento e limitação de taxa

  • Para mais informações sobre a cota gratuita e as taxas de faturamento do modelo, consulte Preços do modelo.
  • Para mais informações sobre limites de taxa do modelo, consulte Série Wanxiang.
  • Descrição do faturamento:
    • Não há cobrança pelas entradas. O faturamento baseia-se na duração em segundos do vídeo gerado com sucesso.
    • Chamadas de modelo falhas ou erros de processamento não geram taxas e não consomem a cota gratuita para novos usuários.
    • A edição universal de vídeo também aceita planos de economia.

Documentação da API

Referência da API de edição universal de vídeo

Perguntas frequentes

P: Qual é o limite máximo de imagens suportado pelo recurso de referência multi-imagem?

R: Suporta até 3 imagens de referência. Se você fornecer mais de 3, apenas as 3 primeiras serão usadas como entrada. Recomendamos usar um fundo sólido para a imagem do objeto para destacá-lo melhor, e uma imagem de fundo que não contenha nenhum objeto.

P: Quando desativar a reescrita de prompt para repintura de vídeo?

R: Quando a descrição de texto for inconsistente com o conteúdo do vídeo de entrada, o modelo pode interpretá-la incorretamente. Recomendamos desativar manualmente a reescrita de prompt definindo prompt_extend=false e fornecer uma descrição clara e específica da cena no prompt para melhorar a consistência e a precisão da geração.

P: No recurso de edição local, qual é a diferença entre uma imagem de máscara e um vídeo de máscara?

R: Forneça mask_image_url ou mask_video_url. Recomendamos o uso de uma imagem de máscara. Basta especificar a área de edição para um único quadro, e o sistema rastreará automaticamente o alvo.
Plano de Tokens
Playground de Modelos
Inferência do Modelo
Avaliação
Compressão de Modelos
Estatísticas e Monitoramento
Suporte