Skip to main content
Wan - modelos de vídeo legados

Wan - referência de API de texto para vídeo (2.1-2.6)

O modelo de texto para vídeo Wan gera vídeos fluidos a partir de prompts de texto .

Referências: Guia do usuário

Disponibilidade

Para garantir chamadas bem-sucedidas, o modelo, a URL do Endpoint e a API Key devem pertencer à mesma região. Chamadas entre regiões falharão.
  • Selecione um modelo: Confirme a região do modelo.
  • Selecione uma url: Escolha a url do Endpoint regional correspondente. urls http e do DashScope SDK são suportadas.
  • configure uma API key: Selecione uma região, obtenha uma API key e configure-a como variável de ambiente (recurso a ser descontinuado e mesclado à configuração da API key).
  • Instale o SDK: Para fazer chamadas com o SDK, instale o DashScope SDK.
O código de exemplo neste tópico aplica-se à região de Singapura.
O Alibaba Cloud Model Studio lançou domínios específicos por workspace para as regiões China (Pequim) e Singapura. 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 (Pequim): de https://dashscope.aliyuncs.com para https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com
  • Singapura: de https://dashscope-intl.aliyuncs.com para https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com
{WorkspaceId} é o ID do seu workspace, disponível na página Workspace Details no console do Alibaba Cloud Model Studio. O domínio existente permanece totalmente funcional.

http

Esta API usa o protocolo legado e suporta os modelos wan2.6 e anteriores (wan2.5/wan2.2/wan2.1).
Como as tarefas de texto para vídeo demoram (geralmente de 1 a 5 minutos), a API utiliza invocação assíncrona. O processo envolve duas etapas principais: crie tarefa -> Consultar resultado. O fluxo é:

Etapa 1: crie tarefa e obter o ID da tarefa

  • Pequim
  • Singapura
  • Virgínia
  • Frankfurt
POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis
  • Singapura
  • Virgínia
  • Frankfurt
  • Pequim
POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesisSubstitua WorkspaceId pelo seu ID do Workspace real.
  • Após criar a tarefa, use o task_id retornado para consultar o resultado. O task_id vale por 24 horas. Não crie tarefas duplicadas. Use polling para recuperar o resultado.
  • Para orientações a iniciantes, consulte Chamar APIs com Postman ou cURL.

Parâmetros da solicitação

  • Narrativa com múltiplas tomadas
  • Fornecer arquivo de áudio
  • Dublagem automática
  • Gerar vídeo silencioso
  • Usar prompt negativo
  • Para vídeos com múltiplas tomadas, defina shot_type como "multi".
  • Em vídeos com múltiplas tomadas, defina prompt_extend como true para ativar a reescrita do prompt e otimizar a descrição das tomadas.
curl --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.6-t2v",
        "input": {
            "prompt": "Shot from a low angle, in a medium close-up, with warm tones, mixed lighting (the practical light from the desk lamp blends with the overcast light from the window), side lighting, and a central composition. In a classic detective office, wooden bookshelves are filled with old case files and ashtrays. A green desk lamp illuminates a case file spread out in the center of the desk. A fox, wearing a dark brown trench coat and a light gray fedora, sits in a leather chair, its fur crimson, its tail resting lightly on the edge, its fingers slowly turning yellowed pages. Outside, a steady drizzle falls beneath a blue sky, streaking the glass with meandering streaks. It slowly raises its head, its ears twitching slightly, its amber eyes gazing directly at the camera, its mouth clearly moving as it speaks in a smooth, cynical voice: \"The case was cold, colder than a fish in winter. But every chicken has its secrets, and I, for one, intended to find them \".",
            "audio_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250929/stjqnq/%E7%8B%90%E7%8B%B8.mp3"
        },
        "parameters": {
            "size": "1280*720",
            "prompt_extend": true,
            "duration": 10,
            "shot_type":"multi"
        }
    }'
Cabeçalhos da solicitação
Content-Type string (Obrigatório)Tipo de conteúdo da solicitação. Deve ser application/json.
Authorization string (Obrigatório)Autentica a solicitação com uma API key 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. defina como enable.
A ausência deste cabeçalho retorna o erro "current user api does not support synchronous calls".
Corpo da solicitação
model string (Obrigatório)Nome do modelo. Consulte a lista de modelos disponíveis.Exemplo: wan2.6-t2v.
input object (Obrigatório)Contém informações básicas de entrada, como o prompt.

Propriedades

prompt string (Obrigatório)Prompt de texto que descreve os elementos e características visuais desejados para o vídeo.Aceita chinês ou inglês. O comprimento é medido em caracteres (cada ideograma ou letra conta como um). Textos acima do limite são truncados automaticamente. O limite varia conforme o modelo:
  • Séries wan2.6 e wan2.5: Até 1.500 caracteres.
  • Séries wan2.2 e wan2.1: Até 800 caracteres.
Exemplo: Um gatinho correndo ao luar.Para mais detalhes, consulte o Guia de prompts de texto para vídeo/imagem para vídeo.negative_prompt string (Opcional)Descreve conteúdos a excluir do vídeo, ajudando a refinar a geração.Aceita chinês ou inglês. Máximo de 500 caracteres. Textos acima desse limite são truncados automaticamente.Exemplo: baixa resolução, erro, melhor qualidade, baixa qualidade, deformado, dedos extras, proporções ruins.audio_url string (Opcional)Modelos suportados: séries wan2.6 e wan2.5.url do arquivo de áudio usado pelo modelo para gerar o vídeo.Formatos de entrada suportados:
  1. url pública:
Limites de áudio:
  • Formato: wav, mp3.
  • Duração: 3 a 30 s.
  • Tamanho do arquivo: Até 15 MB.
  • Áudio excedendo a duração especificada: Se o áudio ultrapassar o valor do parâmetro duration (ex.: 5 segundos), ele será truncado. Se for menor que a duração do vídeo, o restante ficará silencioso. Por exemplo, com 3 s de áudio e 5 s de vídeo, os primeiros 3 s terão som e os últimos 2 s serão silenciosos.
parameters object (Opcional)Parâmetros de processamento de vídeo, como resolução, reescrita de prompt e marca d'água.

Propriedades

size string (Opcional)
  • O tamanho afeta diretamente o custo. Antes de chamar, verifique os preços do modelo.
  • defina um valor específico, como 1280*720, não proporções (1:1) ou categorias (480P).
Define a resolução do vídeo no formato largura*altura. Valores padrão e válidos dependem do parâmetro model:
  • wan2.6-t2v: Padrão 1920*1080 (1080P). Válido para categorias 720P e 1080P.
  • wan2.6-t2v-us: Padrão 1920*1080 (1080P). Válido para categorias 720P e 1080P.
  • wan2.5-t2v-preview: Padrão 1920*1080 (1080P). Válido para categorias 480P, 720P e 1080P.
  • wan2.2-t2v-plus: Padrão 1920*1080 (1080P). Válido para categorias 480P e 1080P.
  • wan2.1-t2v-turbo: Padrão 1280*720 (720P). Válido para categorias 480P e 720P.
  • wan2.1-t2v-plus: Padrão 1280*720 (720P). Válido para categoria 720P.
Categoria 480P — resoluções e proporções válidas:
  • 832*480: 16:9.
  • 480*832: 9:16.
  • 624*624: 1:1.
Categoria 720P — resoluções e proporções válidas:
  • 1280*720: 16:9.
  • 720*1280: 9:16.
  • 960*960: 1:1.
  • 1088*832: 4:3.
  • 832*1088: 3:4.
Categoria 1080P — resoluções e proporções válidas:
  • 1920*1080: 16:9.
  • 1080*1920: 9:16.
  • 1440*1440: 1:1.
  • 1632*1248: 4:3.
  • 1248*1632: 3:4.
duration integer (Opcional)
A duração afeta diretamente o custo. Custo = Preço unitário (por resolução) × Duração (segundos). Verifique os preços do modelo antes de chamar.
Duração do vídeo em segundos. Valores válidos dependem do parâmetro model:
  • wan2.6-t2v: Inteiro de 2 a 15. Padrão: 5.
  • wan2.6-t2v-us: 5 ou 10. Padrão: 5.
  • wan2.5-t2v-preview: 5 ou 10. Padrão: 5.
  • wan2.2-t2v-plus: Fixo em 5 segundos (inalterável).
  • wan2.1-t2v-plus: Fixo em 5 segundos (inalterável).
  • wan2.1-t2v-turbo: Fixo em 5 segundos (inalterável).
prompt_extendboolean (Opcional)ative a reescrita inteligente do prompt. Melhora significativamente a qualidade em prompts curtos, mas aumenta o tempo de execução.
  • true (padrão)
  • false
shot_type string (Opcional)Modelos suportados: wan2.6.Define se o vídeo terá uma tomada contínua ou múltiplas tomadas variadas.Valores válidos:
  • single: Padrão. Gera vídeo de tomada única.
  • multi: Gera vídeo com múltiplas tomadas.
Condição: Só tem efeito quando "prompt_extend": true.Prioridade: shot_type > prompt. Se definido como "single", o modelo gera tomada única mesmo que o prompt peça múltiplas tomadas.watermark boolean (Opcional)Adiciona marca d'água fixa "AI Generated" no canto inferior direito do vídeo.
  • false (padrão)
  • true
seed integer (Opcional)Semente aleatória (inteiro no intervalo [0, 2147483647]).Se omitida, gera-se uma semente aleatória. Sementes fixas melhoram a reprodutibilidade.Devido à natureza probabilística do modelo, a mesma semente não garante resultados idênticos.

Parâmetros da resposta

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

Propriedades

task_id stringID da tarefa. Válido para consultas por 24 horas.task_status stringStatus da tarefa.

Valores de enumeração

  • PENDING
  • RUNNING
  • SUCCEEDED
  • FAILED
  • CANCELED
  • UNKNOWN: Tarefa inexistente ou status desconhecido.
request_id stringIdentificador único da solicitação para rastreamento e troubleshooting.
code stringCódigo de erro. Retornado apenas em falhas. Consulte Códigos de erro.
message stringMensagem de erro detalhada. Retornada apenas em falhas. Consulte Códigos de erro.

Etapa 2: Consultar resultado pelo ID da tarefa

  • Pequim
  • Singapura
  • Virgínia
  • Frankfurt
GET https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/tasks/{task_id}
  • Singapura
  • Virgínia
  • Frankfurt
  • Pequim
GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}Substitua WorkspaceId pelo seu ID do Workspace real.
  • Recomendação de polling: A geração leva vários minutos. Use polling com intervalo razoável (ex.: 15 segundos).
  • Transição de estado: PENDING → RUNNING → SUCCEEDED ou FAILED.
  • Link do resultado: Em caso de sucesso, retorna url válida por 24 horas. baixe e salve o vídeo em armazenamento permanente, como o OSS.
  • Validade do task_id: 24 horas. Após esse período, consultas retornam status UNKNOWN.

Parâmetros da solicitação

  • Consultar resultado da tarefa
Substitua {task_id} pelo task_id retornado anteriormente. 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"
Cabeçalhos da solicitação
Authorization string (Obrigatório)Autentica a solicitação com uma API key do Model Studio. Exemplo: Bearer sk-xxxx.
Parâmetros de caminho da url
task_id string (Obrigatório)ID da tarefa.

Parâmetros da resposta

  • Tarefa bem-sucedida
  • Falha na tarefa
  • Consulta expirada
urls de vídeo valem por 24 horas e são removidas automaticamente após esse prazo. Salve os vídeos prontamente.
{
        "request_id": "abbf7aa3-9652-4785-a622-xxxxxx",
        "output": {
            "task_id": "38513c71-5190-48e1-9f3b-xxxxxx",
            "task_status": "SUCCEEDED",
            "submit_time": "2025-09-29 14:05:22.119",
            "scheduled_time": "2025-09-29 14:05:28.278",
            "end_time": "2025-09-29 14:10:00.437",
            "orig_prompt": "Shot from a low angle, in a medium close-up, with warm tones, mixed lighting (the practical light from the desk lamp blends with the overcast light from the window), side lighting, and a central composition. In a classic detective's office, wooden bookshelves are filled with old case files and ashtrays. A green desk lamp illuminates a case file spread out in the center of the desk. A fox, wearing a dark brown trench coat and a light gray fedora, sits in a leather chair, its fur crimson, its tail resting lightly on the edge, its fingers slowly turning yellowed pages. Outside, a steady drizzle falls beneath a blue sky, streaking the glass with meandering streaks. It slowly raises its head, its ears twitching slightly, its amber eyes gazing directly at the camera, its mouth clearly moving as it speaks in a smooth, cynical voice: 'The case was cold, colder than a fish in winter. But every chicken has its secrets, and I, for one, intended to find them '",
            "video_url": "https://dashscope-result-sh.oss-accelerate.aliyuncs.com/xxx.mp4?Expires=xxx"
        },
        "usage": {
            "duration": 10,
            "size": "1280*720",
            "input_video_duration": 0,
            "output_video_duration": 10,
            "video_count": 1,
            "SR": 720
        }
    }
outputobjectInformações de saída da tarefa.

Propriedades

task_id stringID da tarefa. Válido para consultas por 24 horas.task_status stringStatus da tarefa.

Valores de enumeração

  • PENDING
  • RUNNING
  • SUCCEEDED
  • FAILED
  • CANCELED
  • UNKNOWN: Tarefa inexistente ou status desconhecido.
Transições durante polling:
  • PENDING → RUNNING → SUCCEEDED ou FAILED.
  • Status inicial geralmente é PENDING ou RUNNING.
  • Ao mudar para SUCCEEDED, a resposta inclui a url do vídeo.
  • Se FAILED, verifique a mensagem de erro e tente novamente.
submit_time stringHorário de envio da tarefa. Em UTC+8, no formato AAAA-MM-DD HH:mm:ss.SSS.scheduled_time stringHorário de execução da tarefa. Em UTC+8, no formato AAAA-MM-DD HH:mm:ss.SSS.end_time stringHorário de conclusão da tarefa. Em UTC+8, no formato AAAA-MM-DD HH:mm:ss.SSS.video_url stringurl do vídeo gerado. Retornada apenas quando task_status é SUCCEEDED.Válida por 24 horas. Formato MP4, codificação H.264.orig_prompt stringPrompt original enviado, correspondente ao parâmetro prompt.actual_prompt stringSe prompt_extend=true, contém o prompt reescrito usado na geração.
  • Se prompt_extend=false, este campo não é retornado.
  • Observação: O modelo wan2.6 nunca retorna este campo, independentemente de prompt_extend.
code stringCódigo de erro. Retornado apenas em falhas. Consulte Códigos de erro.message stringMensagem de erro detalhada. Retornada apenas em falhas. Consulte Códigos de erro.
usage objectEstatísticas de saída. Disponível apenas em tarefas bem-sucedidas.

Propriedades

video_duration integerRetornado apenas em modelos wan2.5 e anteriores. Usado para faturamento.Duração do vídeo em segundos. Valores válidos: 5 e 10.duration floatRetornado apenas no modelo wan2.6. Usado para faturamento.Duração total: duration = input_video_duration + output_video_duration.input_video_duration integerRetornado apenas no modelo wan2.6. Fixo em 0.output_video_duration integerRetornado apenas no modelo wan2.6.Duração do vídeo de saída em segundos. Igual a input.duration.SR integerRetornado apenas no modelo wan2.6. Categoria de resolução do vídeo. Exemplo: 720.size stringRetornado apenas no modelo wan2.6. Resolução no formato "larguraaltura". Exemplo: 19201080.video_ratio stringRetornado apenas em modelos wan2.5 e anteriores. Resolução no formato "larguraaltura". Exemplo: 832480.video_count integerQuantidade de vídeos gerados. Fixo em 1.
request_id stringIdentificador único da solicitação para rastreamento e troubleshooting.

DashScope SDK

Os nomes dos parâmetros no SDK seguem majoritariamente a API http, com estrutura adaptada à linguagem de programação. Como tarefas de texto para vídeo demoram (1 a 5 minutos), o SDK encapsula a chamada assíncrona http e suporta invocações síncronas e assíncronas.
O tempo real depende da fila e do status do serviço. Aguarde o resultado.

Python

Certifique-se de usar o DashScope Python SDK versão 1.25.16 ou superior antes de execute o código abaixo.Versões antigas podem gerar erros como "url error, please check url!". Para atualize, consulte Instalar SDK.
defina dashscope.base_http_api_url conforme a região do modelo:
  • Pequim
  • Singapura
  • Virgínia
  • Frankfurt
dashscope.base_http_api_url = 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1'
  • Singapura
  • Virgínia
  • Pequim
  • Frankfurt
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'Substitua WorkspaceId pelo seu ID do Workspace real.
  • Invocação síncrona
  • Invocação assíncrona
Exemplo de solicitação
from http import HTTPStatus
from dashscope import VideoSynthesis
import dashscope
import os

# URL for the Singapore region. URLs vary by region. For more information, see https://www.alibabacloud.com/help/en/model-studio/text-to-video-api-reference.
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'

# If no environment variable is configured, replace 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")

def sample_sync_call_t2v():
    # Call the sync API and return the result.
    print('Please wait...')
    rsp = VideoSynthesis.call(api_key=api_key,
                              model='wan2.6-t2v',
                              prompt="Shot from a low angle, in a medium close-up, with warm tones, mixed lighting (the practical light from the desk lamp blends with the overcast light from the window), side lighting, and a central composition. In a classic detective office, wooden bookshelves are filled with old case files and ashtrays. A green desk lamp illuminates a case file spread out in the center of the desk. A fox, wearing a dark brown trench coat and a light gray fedora, sits in a leather chair, its fur crimson, its tail resting lightly on the edge, its fingers slowly turning yellowed pages. Outside, a steady drizzle falls beneath a blue sky, streaking the glass with meandering streaks. It slowly raises its head, its ears twitching slightly, its amber eyes gazing directly at the camera, its mouth clearly moving as it speaks in a smooth, cynical voice: 'The case was cold, colder than a fish in winter. But every chicken has its secrets, and I, for one, intended to find them.'",
                              audio_url='https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250929/stjqnq/%E7%8B%90%E7%8B%B8.mp3',
                              size='1280*720',
                              duration=10,
                              negative_prompt="",
                              prompt_extend=True,
                              watermark=False,
                              seed=12345)
    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_t2v()
Exemplo de resposta
A video_url vale por 24 horas. baixe prontamente.
{
    "status_code": 200,
    "request_id": "167f3beb-3dd0-47fe-a83c-xxxxxx",
    "code": null,
    "message": "",
    "output": {
        "task_id": "5b65411f-d946-4e29-859e-xxxxxx",
        "task_status": "SUCCEEDED",
        "video_url": "https://dashscope-result-bj.oss-accelerate.aliyuncs.com/xxx.mp4?Expires=xxx",
        "submit_time": "2025-10-23 11:47:23.879",
        "scheduled_time": "2025-10-23 11:47:34.351",
        "end_time": "2025-10-23 11:52:35.323",
        "orig_prompt": "Shot from a low angle, in a medium close-up, with warm tones, mixed lighting (the practical light from the desk lamp blends with the overcast light from the window), side lighting, and a central composition. In a classic detective's office, wooden bookshelves are filled with old case files and ashtrays. A green desk lamp illuminates a case file spread out in the center of the desk. A fox, wearing a dark brown trench coat and a light gray fedora, sits in a leather chair, its fur crimson, its tail resting lightly on the edge, its fingers slowly turning yellowed pages. Outside, a steady drizzle falls beneath a blue sky, streaking the glass with meandering streaks. It slowly raises its head, its ears twitching slightly, its amber eyes gazing directly at the camera, its mouth clearly moving as it speaks in a smooth, cynical voice: 'The case was cold, colder than a fish in winter. But every chicken has its secrets, and I, for one, intended to find them '."
    },
    "usage": {
        "video_count": 1,
        "duration": 10,
        "size": "1280*720",
        "input_video_duration": 0,
        "output_video_duration": 10,
        "SR": 720
    }
}

Java

Certifique-se de usar o DashScope Java SDK versão 2.22.14 ou superior antes de execute o código abaixo.Versões antigas podem gerar erros como "url error, please check url!". Para atualize, consulte Instalar SDK.
defina Constants.baseHttpApiUrl conforme a região do modelo:
  • Pequim
  • Singapura
  • Virgínia
  • Frankfurt
Constants.baseHttpApiUrl = "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1";
  • Singapura
  • Virgínia
  • Pequim
  • Frankfurt
Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";Substitua WorkspaceId pelo seu ID do Workspace real.
  • Invocação síncrona
  • Invocação assíncrona
Exemplo de solicitação
// Copyright (c) Alibaba, Inc. and its affiliates.

// dashscope SDK version 2.18.2 or later
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.JsonUtils;
import com.alibaba.dashscope.utils.Constants;

import java.util.HashMap;
import java.util.Map;

public class Text2Video {

    static {
        // Singapore region URL. URLs vary by region. For more information, see https://www.alibabacloud.com/help/en/model-studio/text-to-video-api-reference.
        Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
    }

    // If no environment variable is configured, replace the value 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.
    public static String apiKey = System.getenv("DASHSCOPE_API_KEY");

    public static void text2Video() throws ApiException, NoApiKeyException, InputRequiredException {
        VideoSynthesis vs = new VideoSynthesis();
        Map<String, Object> parameters = new HashMap<>();
        parameters.put("prompt_extend", true);
        parameters.put("watermark", false);
        parameters.put("seed", 12345);

        VideoSynthesisParam param =
                VideoSynthesisParam.builder()
                        .apiKey(apiKey)
                        .model("wan2.6-t2v")
                        .prompt("Shot from a low angle, in a medium close-up, with warm tones, mixed lighting (the practical light from the desk lamp blends with the overcast light from the window), side lighting, and a central composition. In a classic detective office, wooden bookshelves are filled with old case files and ashtrays. A green desk lamp illuminates a case file spread out in the center of the desk. A fox, wearing a dark brown trench coat and a light gray fedora, sits in a leather chair, its fur crimson, its tail resting lightly on the edge, its fingers slowly turning yellowed pages. Outside, a steady drizzle falls beneath a blue sky, streaking the glass with meandering streaks. It slowly raises its head, its ears twitching slightly, its amber eyes gazing directly at the camera, its mouth clearly moving as it speaks in a smooth, cynical voice: 'The case was cold, colder than a fish in winter. But every chicken has its secrets, and I, for one, intended to find them'.")
                        .audioUrl("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250929/stjqnq/%E7%8B%90%E7%8B%B8.mp3")
                        .negativePrompt("")
                        .size("1280*720")
                        .duration(10)
                        .parameters(parameters)
                        .build();
        System.out.println("Please wait...");
        VideoSynthesisResult result = vs.call(param);
        System.out.println(JsonUtils.toJson(result));
    }

    public static void main(String[] args) {
        try {
            text2Video();
        } catch (ApiException | NoApiKeyException | InputRequiredException e) {
            System.out.println(e.getMessage());
        }
        System.exit(0);
    }
}
Exemplo de resposta
A video_url vale por 24 horas. baixe prontamente.
{
    "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",
        "orig_prompt": "Shot from a low angle, in a medium close-up, with warm tones, mixed lighting (the practical light from the desk lamp blends with the overcast light from the window), side lighting, and a central composition. In a classic detective office, wooden bookshelves are filled with old case files and ashtrays. A green desk lamp illuminates a case file spread out in the center of the desk. A fox, wearing a dark brown trench coat and a light gray fedora, sits in a leather chair, its fur crimson, its tail resting lightly on the edge, its fingers slowly turning yellowed pages. Outside, a steady drizzle falls beneath a blue sky, streaking the glass with meandering streaks. It slowly raises its head, its ears twitching slightly, its amber eyes gazing directly at the camera, its mouth clearly moving as it speaks in a smooth, cynical voice: 'The case was cold, colder than a fish in winter. But every chicken has its secrets, and I, for one, intended to find them '",
        "submit_time": "2026-01-22 23:13:40.553",
        "scheduled_time": "2026-01-22 23:13:49.415",
        "end_time": "2026-01-22 23:17:56.380"
    },
    "usage": {
        "video_count": 1,
        "duration": 10.0,
        "size": "1280*720",
        "input_video_duration": 0,
        "output_video_duration": 10,
        "SR": 720
    },
    "status_code": 200,
    "code": "",
    "message": ""
}

Códigos de erro

Se a chamada falhar, consulte Códigos de erro para solução.

FAQ

R: Não é possível converter diretamente. Seu backend deve recuperar a url, baixe o vídeo e carregá-lo em um armazenamento permanente, como o Alibaba Cloud object storage service (OSS), gerando novo link de acesso.
import requests

def download_and_save_video(video_url, save_path):
    try:
        response = requests.get(video_url, stream=True, timeout=300) # Set a timeout
        response.raise_for_status() # Raise an exception if the HTTP status code is not 200
        with open(save_path, 'wb') as f:
            for chunk in response.iter_content(chunk_size=8192):
                f.write(chunk)
        print(f"Video successfully downloaded to: {save_path}")
        # Add the logic to upload to permanent storage here
    except requests.exceptions.RequestException as e:
        print(f"Failed to download the 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)
R: Não. O link expira em 24 horas. baixe e armazene o vídeo, usando depois um link permanente para reprodução.
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