Todos os produtos
Search
Central de documentação

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

Última atualização: Jul 14, 2026

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 personagem

Vídeo de referência

Vídeo de saída (modo padrão wan-std)

Vídeo de saída (modo profissional wan-pro)

move_input_image

Pré-requisitos

Obtenha uma chave de API e exporte a chave de API como uma variável de ambiente.

Importante

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.

Importante

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

Nota
  • 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.

Importante

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

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"
    }

Resposta de erro

Falha na criação da tarefa. Consulte Códigos de erro.

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

output object

A saída da tarefa.

Propriedades

task_id string

O ID da tarefa. Válido para consultas por 24 horas.

task_status string

O status da tarefa.

Valores de enumeração

  • PENDING

  • RUNNING

  • SUCCEEDED

  • FAILED

  • CANCELED

  • UNKNOWN: A tarefa não existe ou seu status é desconhecido.

request_id string

Identificador único da solicitação para rastreamento e solução de problemas.

message string

Mensagem de erro detalhada. Retornada apenas para solicitações com falha. Consulte Códigos de erro.

code string

Có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)

GET https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/tasks/{task_id}

Ao chamar, substitua {WorkspaceId} pelo seu ID do workspace real.

singapore

GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}

Ao chamar, substitua {WorkspaceId} pelo seu ID do workspace real.

singapore

GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}

Ao chamar, substitua {WorkspaceId} pelo seu ID do workspace real.

china (Beijing)

GET https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/tasks/{task_id}

Ao chamar, substitua {WorkspaceId} pelo seu ID do workspace real.

Nota
  • 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

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"
    }
}

Tarefa com falha

Quando uma tarefa falha, task_status é FAILED com um código e mensagem de erro. Consulte Códigos de erro.

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

output object

A saída da tarefa.

Propriedades

task_id string

O ID da tarefa. Válido para consultas por 24 horas.

task_status string

O status da tarefa.

Valores de enumeração

  • PENDING

  • RUNNING

  • SUCCEEDED

  • FAILED

  • CANCELED

  • UNKNOWN: A tarefa não existe ou seu status é desconhecido.

submit_time string

O 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 string

O 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 string

O 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 string

URL 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 string

Código de erro. Retornado apenas para solicitações com falha. Consulte Códigos de erro.

message string

Mensagem de erro detalhada. Retornada apenas para solicitações com falha. Consulte Códigos de erro.

usage object

Estatísticas de saída. Apenas resultados bem-sucedidos são contabilizados.

Propriedades

video_duration float

A duração do vídeo gerado, em segundos.

video_ratio string

O 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 string

Identificador ú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

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.

Como posso converter um link de vídeo temporário em um permanente?

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.

Código de exemplo: Baixar o vídeo para um dispositivo 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)

Posso reproduzir o link de vídeo retornado diretamente no navegador?

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.