Todos os produtos
Search
Central de documentação

Alibaba Cloud Model Studio:Referência da API de Transformação de Estilo de Vídeo

Última atualização: Jun 29, 2026

Transforme vídeos de entrada em estilos artísticos, preservando a fluidez do movimento e a coerência do conteúdo. O serviço oferece suporte a oito estilos: mangá japonês, quadrinhos americanos, quadrinhos frescos, desenho animado 3D, desenho animado chinês, arte em papel, ilustração simples e pintura chinesa em tinta.

Importante

Este serviço de modelo está disponível apenas na região China (Beijing). Para chamar a API, use uma chave de API desta região.

Demonstração de desempenho

**Vídeo de entrada**

**Vídeo de saída (Mangá japonês)**

%E5%8E%9F%E8%A7%86%E9%A2%91.mp4

input_00002_%E6%BC%AB%E7%94%BBV4_00001.mp4

Para mais exemplos, consulte Apêndice: Mais demonstrações de efeitos de estilo.

Pré-requisitos

Antes de chamar a API, conclua as etapas a seguir:

  1. Obter uma chave de API na região China (Beijing).

  2. Definir a chave de API como variável de ambiente.

Como funciona

O processamento de vídeo demanda tempo; portanto, a API usa invocação assíncrona para evitar tempos limite. O fluxo de trabalho é o seguinte:

  1. Envie uma tarefa: Faça uma requisição POST com a URL do vídeo e os parâmetros de estilo. A API retorna um task_id exclusivo.

  2. Consulte os resultados: Use o task_id para verificar o status por meio de requisições GET. Quando a tarefa for concluída com sucesso, a resposta incluirá a URL do vídeo transformado.

Requisitos do vídeo de entrada

O vídeo de entrada deve atender aos seguintes requisitos:

Restrição

Requisito

Resolução

Cada lado deve ter entre 256 e 4.096 pixels. A proporção (lado maior:lado menor) não pode exceder 1,8.

Formato

MP4, AVI, MKV, MOV, FLV, TS, MPG e MXF

Duração

Máximo de 30 segundos

Tamanho do arquivo

Máximo de 100 MB

Codificação de URL

Codifique URLs de vídeo que contenham caracteres não ASCII (por exemplo, caracteres chineses).

Estilos suportados

Código do estilo

Nome do estilo

Observações

0

Mangá japonês

Padrão

1

Quadrinhos americanos

2

Quadrinhos frescos

3

Desenho animado 3D

4

Desenho animado chinês

Ideal para entradas com trajes antigos

5

Estilo arte em papel

6

Ilustração simples

7

Pintura chinesa em tinta

Etapa 1: Enviar uma tarefa de transformação de estilo de vídeo

POST https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis

Cabeçalhos da requisição

Cabeçalho

Tipo

Obrigatório

Descrição

Content-Type

string

Sim

Tipo de conteúdo. Defina como application/json.

Authorization

string

Sim

Chave de API para autenticação. Formato: Bearer sk-xxxx (chave de API do Model Studio).

X-DashScope-Async

string

Sim

Ative o processamento assíncrono. Deve ser definido como enable. Requisições HTTP suportam apenas processamento assíncrono. Se omitido, a API retorna o erro: "current user api does not support synchronous calls".

Corpo da requisição

Parâmetro

Tipo

Obrigatório

Descrição

model

string

Sim

Nome do modelo. Defina como video-style-transform.

input

object

Sim

Conteúdo de entrada. Consulte parâmetros de entrada.

parameters

object

Não

Parâmetros de processamento de vídeo. Consulte parâmetros.

parâmetros de entrada

Parâmetro

Tipo

Obrigatório

Descrição

video_url

string

Sim

URL pública do vídeo de entrada. Exemplo: https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250704/viwndw/%E5%8E%9F%E8%A7%86%E9%A2%91.mp4. O vídeo deve atender aos requisitos do vídeo de entrada.

parâmetros

Parâmetro

Tipo

Obrigatório

Padrão

Descrição

style

int

Não

0

Tipo de estilo. Valores válidos: 0-7. Consulte Estilos suportados para a lista completa.

video_fps

int

Não

15

Taxa de quadros (quadros por segundo, FPS) do vídeo de saída. Intervalo válido: [15, 25].

animate_emotion

bool

Não

true

Indica se as expressões faciais devem ser otimizadas. Ativar esta opção geralmente melhora a sincronia labial e das expressões. Para áreas faciais pequenas, desativar pode melhorar os resultados.

min_len

int

Não

720

Contagem de pixels do lado menor do vídeo de saída, que controla a resolução. Valores válidos: 720 e 540. Este parâmetro afeta o faturamento: um vídeo de 720p custa mais que um de 540p. Para detalhes, consulte Faturamento e limites de taxa.

use_SR

bool

Não

false

Indica se o processamento de super-resolução (SR) deve ser aplicado após a transformação de estilo. Melhora a qualidade do vídeo sem custo adicional. Definir min_len como 540 com SR ativado eleva a saída para 1080p, mantendo o faturamento na taxa de 540p. Isso aumenta o tempo de processamento e é recomendado para saídas de alta qualidade.

Exemplos de requisição

Gerar um vídeo de 720p

curl

curl --location --request POST 'https://dashscope.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": "video-style-transform",
    "input": {
        "video_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250704/viwndw/%E5%8E%9F%E8%A7%86%E9%A2%91.mp4"
    },
    "parameters": {
        "style": 0,
        "video_fps": 15
    }
}'

Python

import requests
import os

DASHSCOPE_API_KEY = os.getenv("DASHSCOPE_API_KEY")
# Replace this with your video URL
video_url = "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250704/viwndw/%E5%8E%9F%E8%A7%86%E9%A2%91.mp4"

response = requests.post(
            "https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis",
            headers={
                "Authorization": f"Bearer {DASHSCOPE_API_KEY}",
                "X-DashScope-Async": "enable",
            },
            json={
            "model": "video-style-transform",
            "input": {
                "video_url": video_url
            },
            "parameters": {
                "style": 0,
                "video_fps": 15
            }
        }
        )
print(response.json())

Gerar um vídeo de 540p

curl

curl --location --request POST 'https://dashscope.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": "video-style-transform",
    "input": {
        "video_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250704/viwndw/%E5%8E%9F%E8%A7%86%E9%A2%91.mp4"
    },
    "parameters": {
        "style": 0,
        "video_fps": 15,
        "min_len": 540
    }
}'

Python

import requests
import os

DASHSCOPE_API_KEY = os.getenv("DASHSCOPE_API_KEY")
# Replace this with your video URL
video_url = "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250704/viwndw/%E5%8E%9F%E8%A7%86%E9%A2%91.mp4"

response = requests.post(
            "https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis",
            headers={
                "Authorization": f"Bearer {DASHSCOPE_API_KEY}",
                "X-DashScope-Async": "enable",
            },
            json={
            "model": "video-style-transform",
            "input": {
                "video_url": video_url
            },
            "parameters": {
                "style": 0,
                "video_fps": 15,
                "min_len": 540
            }
        }
        )
print(response.json())

Resposta

Resposta de sucesso

{
    "output": {
        "task_id": "xxxxxxxx",
        "task_status": "PENDING"
    },
    "request_id": "7574ee8f-38a3-4b1e-9280-11c33ab46e51"
}

Resposta de erro

{
    "code": "InvalidApiKey",
    "message": "Invalid API-key provided.",
    "request_id": "fb53c4ec-1c12-4fc4-a580-xxxxxxxxxxxx"
}

Parâmetros da resposta

Parâmetro

Tipo

Descrição

output

object

Informações de saída da tarefa.

output.task_id

string

ID exclusivo da tarefa assíncrona. Use este ID para consultar o status e os resultados da tarefa.

output.task_status

string

Status da tarefa. Valores possíveis: PENDING, RUNNING, SUSPENDED, SUCCEEDED, FAILED.

request_id

string

ID exclusivo da requisição. Use este ID para rastrear e solucionar problemas.

code

string

Código de erro. Retornado apenas quando a requisição falha. Para detalhes, consulte Mensagens de erro.

message

string

Detalhes do erro. Retornado apenas quando a requisição falha. Para detalhes, consulte Mensagens de erro.

Etapa 2: Consultar o status e o resultado da tarefa

GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}
Importante

Os dados de resultado da tarefa (status e URL do vídeo) são válidos por 24 horas e depois removidos automaticamente. Consulte e salve os resultados prontamente.

Cabeçalhos da requisição

Cabeçalho

Tipo

Obrigatório

Descrição

Authorization

string

Sim

Chave de API para autenticação. Formato: Bearer sk-xxxx (chave de API do Model Studio).

Parâmetros de caminho

Parâmetro

Tipo

Obrigatório

Descrição

task_id

string

Sim

ID da tarefa retornado na Etapa 1.

Exemplos de requisição

Substitua {task_id} pelo task_id real obtido na resposta de envio da tarefa.

curl

curl -X GET \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}

Python

import requests
import os

DASHSCOPE_API_KEY = os.getenv("DASHSCOPE_API_KEY")
# Replace task_id with your task_id
task_id = "0c9c33e6-b2e7-41e5-*********"

task_response = requests.get(
        f"https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}",
        headers={
            "Authorization": f"Bearer {DASHSCOPE_API_KEY}"
        })
print(task_response.json())

Resposta

Tarefa concluída com sucesso

{
    "request_id": "b67df059-ca6a-9d51-afcd-xxxxxxxxxxxx",
    "output": {
        "task_id": "d76ec1e8-ea27-4038-8913-xxxxxxxxxxxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2024-05-16 13:50:01.247",
        "scheduled_time": "2024-05-16 13:50:01.354",
        "end_time": "2024-05-16 13:50:27.795",
        "output_video_url": "http://xxx/result.mp4"
    },
    "usage": {
        "duration": 3,
        "SR": 720
    }
}

Tarefa em execução

As tarefas enviadas entram em fila e depois são agendadas. O status muda para RUNNING quando a tarefa é agendada.

{
    "request_id": "e5d70b02-ebd3-98ce-9fe8-xxxxxxxxxxxx",
    "output": {
        "task_id": "13b1848b-5493-4c0e-xxxxxxxxxxxx",
        "task_status": "RUNNING",
        "submit_time": "2025-09-08 15:53:13.143",
        "scheduled_time": "2025-09-08 15:53:13.169"
    }
}

Falha na tarefa

{
    "request_id": "dccfdf23-b38e-97a6-a07b-xxxxxxxxxxxx",
    "output": {
        "task_id": "4cbabbdf-2c1f-43f4-b983-xxxxxxxxxxxx",
        "task_status": "FAILED",
        "submit_time": "2024-05-16 14:15:14.103",
        "scheduled_time": "2024-05-16 14:15:14.154",
        "end_time": "2024-05-16 14:15:14.694",
        "code": "InvalidParameter.FileDownload",
        "message": "download for input video error"
    }
}

Parâmetros da resposta

Parâmetro

Tipo

Descrição

request_id

string

ID exclusivo da requisição. Use este ID para rastrear e solucionar problemas.

output

object

Informações de saída da tarefa.

output.task_id

string

ID da tarefa. Válido por 24 horas.

output.task_status

string

Status da tarefa. Valores possíveis: PENDING, RUNNING, SUSPENDED, SUCCEEDED, FAILED, UNKNOWN.

output.submit_time

string

Horário em que a tarefa foi enviada. Fuso horário UTC+8. Formato: YYYY-MM-DD HH:mm:ss.SSS.

output.scheduled_time

string

Horário em que a tarefa começou a ser executada. Fuso horário UTC+8. Formato: YYYY-MM-DD HH:mm:ss.SSS.

output.end_time

string

Horário em que a tarefa foi concluída. Fuso horário UTC+8. Formato: YYYY-MM-DD HH:mm:ss.SSS.

output.output_video_url

string

URL do vídeo transformado. Retornada apenas quando task_status é SUCCEEDED. Exemplo: http://xxx/result.mp4.

output.code

string

Código de erro. Retornado apenas quando task_status é FAILED. Para detalhes, consulte Mensagens de erro.

output.message

string

Detalhes do erro. Retornados apenas quando task_status é FAILED. Para detalhes, consulte Mensagens de erro.

usage

object

Estatísticas de uso da tarefa. Retornadas apenas quando task_status é SUCCEEDED.

usage.duration

float

Duração do vídeo gerado em segundos.

usage.SR

int

Valor em pixels do lado menor do vídeo, usado para faturamento. Este valor corresponde ao valor de min_len definido na requisição.

Faturamento e limites de taxa

A cobrança ocorre apenas para tarefas bem-sucedidas. A taxa é calculada com base na duração do vídeo de saída (segundos) e na resolução selecionada.

Fórmula de faturamento: Taxa total = Duração do vídeo de saída (segundos) x Preço unitário para a resolução correspondente

A taxa final é calculada a partir dos campos duration e SR no objeto usage.

Preços

Modelo

Resolução

Preço unitário

video-style-transform

720p

$0,071677/segundo

video-style-transform

540p

$0,028671/segundo

Limites de taxa

Os limites de taxa são compartilhados entre contas e usuários RAM.

Tipo de limite

Valor

Consultas por segundo (QPS) para a API de envio de tarefas

2

Tarefas simultâneas

1

Exemplo de faturamento

Exemplo: Envie um vídeo de 10 segundos com resolução de 720p. Se a tarefa for bem-sucedida, a taxa será: 10 segundos × $0,071677/segundo = $0,71677.

Códigos de erro

Se a chamada do modelo falhar e retornar uma mensagem de erro, consulte Códigos de erro para obter a solução.

Apêndice: Mais demonstrações de efeitos de estilo

Nome do estilo

Vídeo original

Vídeo transformado

Mangá japonês (style=0)

%E5%8E%9F%E8%A7%86%E9%A2%91.mp4

input_00002_%E6%BC%AB%E7%94%BBV4_00001.mp4

Quadrinhos americanos (style=1)

car_%E5%8E%9F%E5%9B%BE.mp4

car_style_1.mp4

Quadrinhos frescos (style=2)

%E6%8C%A5%E6%89%8B_%E5%8E%9F%E5%9B%BE.mp4

%E6%8C%A5%E6%89%8B_style_2.mp4

Desenho animado 3D (style=3)

%E9%87%8E%E9%A4%90_%E5%8E%9F%E5%9B%BE.mp4

%E9%87%8E%E9%A4%90_style_3.mp4

Desenho animado chinês (style=4)

%E5%BC%B9%E7%90%B4_%E5%8E%9F%E5%9B%BE.mp4

%E5%BC%B9%E7%90%B4_style_4.mp4

Estilo arte em papel (style=5)

%E7%94%9F%E6%88%90_%E6%B1%BD%E8%BD%A6.mp4

%E6%B1%BD%E8%BD%A6%E8%8D%89%E5%8E%9F_%E7%BA%B8%E8%89%BA%E9%A3%8E%E6%A0%BC.mp4

Ilustração simples (style=6)

%E6%A1%8C%E9%9D%A2_%E5%8E%9F%E5%9B%BE.mp4

%E6%A1%8C%E9%9D%A2_style_6.mp4

Pintura chinesa em tinta (style=7)

%E5%8F%A4%E9%95%87_%E5%8E%9F%E5%9B%BE.mp4

%E5%8F%A4%E9%95%87_style_7.mp4

.inline-code___exakR {

font-family: monospace;

background-color: #f5f5f5;

padding: 2px 4px;

border-radius: 3px;

}