Skip to main content
Wan

Wan image-to-action API reference

Anime uma imagem de personagem transferindo ações de um vídeo de referência.

  • Resumo do recurso: Transfere ações e expressões de um vídeo de referência para uma imagem de personagem a fim de gerar um vídeo animado.
  • Cenários: Replica danças, movimentos corporais complexos e expressões faciais de performances cinematográficas e televisivas. Uma alternativa de baixo custo à captura de movimento.

Efeitos do modelo

O modelo wan2.2-animate-move oferece dois modos de service: modo padrão wan-std e modo profissional wan-pro, que diferem na qualidade de saída e no preço. Para mais informações, consulte Wanx-Image-to-Motion.
Imagem do personagemVídeo de referênciaVídeo de saída (modo padrãowan-std)Vídeo de saída (modo profissionalwan-pro)
move_input_image

Pré-requisitos

Obtenha uma chave de API e exporte a chave de API como uma variável de ambiente.
As regiões china (Beijing) e singapore possuem chaves de API e endpoints de solicitação separados. Eles não podem ser usados de forma intercambiável. Chamadas entre regiões resultam em falhas de autenticação ou erros de service.
O Alibaba Cloud Model Studio lançou domínios específicos por workspace para as regiões china (Beijing) e singapore. Os novos domínios dedicados oferecem desempenho superior e maior estabilidade para solicitações de inferência. Recomendamos migrar para os novos domínios:
  • china (Beijing): de https://dashscope.aliyuncs.com para https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com
  • singapore: de https://dashscope-intl.aliyuncs.com para https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com
{WorkspaceId} é o ID do seu workspace, encontrado na página Workspace Details no console do alibaba cloud model studio. O domínio existente permanece totalmente funcional.

HTTP

A geração de vídeo utiliza chamadas assíncronas. O processo consiste em duas etapas: crie uma tarefa e depois consultar os resultados.

Etapa 1: Criar uma tarefa e obter o ID da tarefa

Singapore: POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/image2video/video-synthesis Substitua {WorkspaceId} pelo seu ID do Workspace real. Beijing: POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/image2video/video-synthesis
  • Após criar a tarefa, utilize o task_id retornado para consultar o resultado. O task_id é válido por 24 horas. Não crie tarefas duplicadas. Em vez disso, use consultas periódicas para recuperar o resultado.
  • Para orientações destinadas a iniciantes, consulte Chamar APIs com Postman ou cURL.

Parâmetros da solicitação

  • Imagem para ação
A seguir está a URL da região singapore. Substitua {WorkspaceId} pelo ID do seu workspace Bailian. As URLs variam conforme a região.
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"
            }
          }'
Cabeçalhos da solicitação
Content-Type string (Obrigatório)O tipo de conteúdo da solicitação. Deve ser application/json.
Authorization string (Obrigatório)Autentica a solicitação com uma chave de API do Model Studio. Exemplo: Bearer sk-xxxx.
X-DashScope-Async string (Obrigatório)Ative o processamento assíncrono. Solicitações HTTP suportam apenas chamadas assíncronas. Deve ser enable.
Se este cabeçalho de solicitação estiver ausente, o erro "current user api does not support synchronous calls" será retornado.
Corpo da solicitação
model string (Obrigatório)O nome do modelo. Defina este parâmetro como wan2.2-animate-move.
input object (Obrigatório)Os parâmetros de entrada. Contém os seguintes campos:

Propriedades

image_url string (Obrigatório)Uma URL HTTP ou HTTPS publicamente acessível da imagem do personagem. URLs contendo caracteres não ASCII devem ser codificadas em URL.
  • Formato: JPG, JPEG, PNG, BMP ou WEBP
  • Dimensões: Largura e altura devem estar ambas no intervalo de [200, 4096] pixels. A proporção deve estar entre 1:3 e 3:1.
  • Tamanho do arquivo: No máximo 5 MB
  • Exemplo: https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250919/adsyrp/move_input_image.jpeg
video_url string (Obrigatório)Uma URL HTTP ou HTTPS publicamente acessível do vídeo de referência. URLs contendo caracteres não ASCII devem ser codificadas em URL.Recomendação: Para melhores resultados, utilize um vídeo de referência com maior resolução e taxa de quadros.
  • Formato: MP4, AVI ou MOV
  • Duração: 2 a 30 segundos
  • Dimensões: Largura e altura devem estar ambas no intervalo de [200, 2048] pixels. A proporção deve estar entre 1:3 e 3:1.
  • Tamanho do arquivo: No máximo 200 MB
  • Exemplo: https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250919/kaakcn/move_input_video.mp4
watermark bool (Opcional)Defina se deve adicionar uma marca d'água "Generated by Qwen AI" ao canto inferior direito do vídeo de saída.
  • false (padrão)
  • true
parameters object (Obrigatório)

Propriedades

check_image bool (Opcional)Defina se deve validar a imagem de entrada antes do processamento.
  • true (padrão)
  • false
mode string (Obrigatório)O modo de service. Valores válidos:
  • wan-std: Modo padrão. Geração mais rápida e com menor custo. Adequado para visualizações rápidas e animações básicas.
  • wan-pro: Modo profissional. Animação mais suave e qualidade superior, com tempo de processamento e custo maiores.
Para mais informações, consulte Efeitos do modelo e Faturamento e limitação de taxa.

Parâmetros da resposta

  • Resposta bem-sucedida
  • Resposta de erro
Salve o task_id para consultar o status e o resultado da tarefa.
{
        "output": {
            "task_status": "PENDING",
            "task_id": "0385dc79-5ff8-4d82-bcb6-xxxxxx"
        },
        "request_id": "4909100c-7b5a-9f92-bfe5-xxxxxx"
    }
output objectA saída da tarefa.

Propriedades

task_id stringO ID da tarefa. Válido para consultas por 24 horas.task_status stringO status da tarefa.

Valores de enumeração

  • PENDING
  • RUNNING
  • SUCCEEDED
  • FAILED
  • CANCELED
  • UNKNOWN: A tarefa não existe ou seu status é desconhecido.
request_id stringIdentificador único da solicitação para rastreamento e solução de problemas.
message stringMensagem de erro detalhada. Retornada apenas para solicitações com falha. Consulte Códigos de erro.
code stringCódigo de erro. Retornado apenas para solicitações com falha. Consulte Códigos de erro.

Etapa 2: Consultar o resultado pelo ID da tarefa

  • china (Beijing)
  • singapore
GET https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/tasks/{task_id}Ao chamar, substitua {WorkspaceId} pelo seu ID do workspace real.
  • singapore
  • china (Beijing)
GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}Ao chamar, substitua {WorkspaceId} pelo seu ID do workspace real.
  • Recomendação de consulta periódica: A geração de vídeo leva vários minutos. Utilize um mecanismo de consulta com um intervalo razoável, como 15 segundos.
  • Transição de estado da tarefa: PENDING → RUNNING → SUCCEEDED ou FAILED.
  • Link do resultado: Após o sucesso da tarefa, uma URL de vídeo válida por 24 horas é retornada. Baixe e salve o vídeo em armazenamento permanente, como o OSS.
  • Validade do task_id: 24 horas. Após esse período, as consultas retornam o status da tarefa como UNKNOWN.

Parâmetros da solicitação

  • Consultar resultado da tarefa
Substitua 0385dc79-5ff8-4d82-bcb6-xxxxxx pelo seu task_id real.
A seguir está a URL da região singapore. Substitua {WorkspaceId} pelo ID do seu workspace Bailian. As URLs variam conforme a região.
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"
Cabeçalhos da solicitação
Authorization string (Obrigatório)Autentica a solicitação com uma chave de API do Model Studio. Exemplo: Bearer sk-xxxx.
Parâmetros de caminho da URL
task_id string (Obrigatório)O ID da tarefa.

Parâmetros da resposta

  • Tarefa bem-sucedida
  • Tarefa com falha
As URLs de vídeo são válidas apenas por 24 horas e depois são removidas automaticamente. Salve os vídeos gerados prontamente.
{
    "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"
    }
}
output objectA saída da tarefa.

Propriedades

task_id stringO ID da tarefa. Válido para consultas por 24 horas.task_status stringO status da tarefa.

Valores de enumeração

  • PENDING
  • RUNNING
  • SUCCEEDED
  • FAILED
  • CANCELED
  • UNKNOWN: A tarefa não existe ou seu status é desconhecido.
submit_time stringO horário em que a tarefa foi enviada. O horário está em UTC+8 e o formato é YYYY-MM-DD HH:mm:ss.SSS.scheduled_time stringO horário em que a tarefa foi executada. O horário está em UTC+8 e o formato é YYYY-MM-DD HH:mm:ss.SSS.end_time stringO horário em que a tarefa foi concluída. O horário está em UTC+8 e o formato é YYYY-MM-DD HH:mm:ss.SSS.results object

Propriedades

video_url stringURL do vídeo gerado. Retornada apenas quando task_status é SUCCEEDED.Válida por 24 horas. O vídeo está no formato MP4 com codificação H.264.
code stringCódigo de erro. Retornado apenas para solicitações com falha. Consulte Códigos de erro.message stringMensagem de erro detalhada. Retornada apenas para solicitações com falha. Consulte Códigos de erro.
usage objectEstatísticas de saída. Apenas resultados bem-sucedidos são contabilizados.

Propriedades

video_duration floatA duração do vídeo gerado, em segundos.video_ratio stringO modo de service usado para esta solicitação. Valores de enumeração: standard e pro.wan-std retorna standard. wan-pro retorna pro.
request_id stringIdentificador único da solicitação para rastreamento e solução de problemas.

Limitações

Validade dos dados: IDs de tarefa e URLs de vídeo expiram após 24 horas. Baixe os vídeos prontamente. Moderação de conteúdo: Todas as entradas e saídas são moderadas automaticamente. Conteúdo não compatível retorna um erro IPInfringementSuspect ou DataInspectionFailed. Para mais informações, consulte Códigos de erro.

Faturamento e limitação de taxa

  • Para cota gratuita e preços, consulte Wanx-Image-to-Motion.
  • Para limites de taxa, consulte Série Wan.
  • Detalhes de faturamento:

Códigos de erro

Se uma chamada de modelo falhar e retornar uma mensagem de erro, consulte Códigos de erro.

Perguntas frequentes

Como posso melhorar a qualidade do vídeo de saída?

  1. Garanta que o personagem ocupe uma porção similar do quadro tanto na imagem de entrada quanto no vídeo de referência.
  2. Mantenha as proporções corporais consistentes entre a imagem e o vídeo.
  3. Utilize materiais de source em alta definição. Imagens desfocadas ou vídeos com baixa taxa de quadros reduzem a qualidade da saída.
O link não pode ser convertido diretamente. Baixe o vídeo do seu backend e faça upload dele para um armazenamento de objetos permanente (como o OSS) para obter uma URL permanente.
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)
Não recomendado. O link expira após 24 horas. Baixe e salve o vídeo do seu backend e, em seguida, sirva-o por meio de um link permanente.

Como obtenho a lista de permissões de nomes de domínio para armazenamento de vídeo?

R: Os vídeos gerados pelos modelos são armazenados no OSS. A API retorna uma URL pública temporária. Para configure uma lista de permissões de firewall para esta URL de download, observe o seguinte: O armazenamento subjacente pode mudar dinamicamente. Este tópico não fornece uma lista fixa de permissões de nomes de domínio do OSS para evitar problemas de acesso causados por informações desatualizadas. Se você tiver requisitos de controle de segurança, entre em contato com o gerente da sua conta para obter a lista mais recente de nomes de domínio do OSS.
Referência da API de Geração de Texto
Geração de Imagens
  • FAQ
Áudio
API em tempo real
Incorporação de Texto
Produção de Modelos