Todos os produtos
Search
Central de documentação

Alibaba Cloud Model Studio:Fine-tuning video generation models

Última atualização: Jul 14, 2026

Ao utilizar o recurso de imagem para vídeo, se a otimização de prompt ou a chamada dos efeitos de vídeo oficiais não atenderem aos seus requisitos personalizados para ações, efeitos ou estilos específicos, utilize o ajuste fino do modelo.

Escopo de aplicação

  • Região aplicável: Os recursos descritos neste documento estão disponíveis apenas na região Singapore. Utilize uma chave de API criada nesta região.

  • Método de ajuste fino suportado: Ajuste fino SFT-LoRA eficiente.

  • Modelos suportados para ajuste fino:

    • Imagem para vídeo (baseado no primeiro quadro): wan2,7-i2v, wan2,6-i2v, wan2,5-i2v-preview, wan2,2-i2v-flash.

    • Imagem para vídeo (baseado no primeiro e último quadro): wan2,2-kf2v-flash.

Como ajustar um modelo

Imagem para vídeo (baseado no primeiro quadro)

Objetivo do ajuste fino: Treinar um modelo LoRA para o efeito de chuva de dinheiro.

Resultado esperado: Insira uma imagem de primeiro quadro. Não é necessário prompt. O modelo gera um vídeo com o efeito de chuva de dinheiro.

Imagem de primeiro quadro de entrada

image_3

Vídeo de saída (antes do ajuste fino)

Não é possível gerar um efeito de chuva de dinheiro consistente todas as vezes usando prompts. O movimento não é controlável.

Vídeo de saída (após o ajuste fino)

O modelo ajustado reproduz o efeito específico de chuva de dinheiro do conjunto de dados de treinamento sem necessidade de prompts.

Imagem para vídeo (baseado no primeiro e último quadro)

Objetivo do ajuste fino: Treinar um modelo LoRA para o efeito de revista de moda.

Resultado esperado: Insira uma imagem de primeiro quadro e uma imagem de último quadro. Não é necessário prompt. O modelo gera um vídeo com o efeito de revista de moda.

Imagem de primeiro quadro de entrada

3_first

Imagem de último quadro de entrada

3_last

Vídeo de saída (antes do ajuste fino)

Não é possível gerar um efeito de revista de moda consistente todas as vezes usando prompts. O movimento não é controlável.

Vídeo de saída (após o ajuste fino)

O modelo ajustado reproduz o efeito específico de revista de moda do conjunto de dados de treinamento sem necessidade de prompts.

Antes de executar o código abaixo, obtenha sua chave de API e host de API e configure sua chave de API.

Etapa 1: Carregar seu conjunto de dados

Carregue seu conjunto de dados local (no formato .zip) para o Alibaba Cloud Model Studio. Obtenha o ID do arquivo (file_idid).

Conjunto de dados de treinamento de exemplo: Consulte o conjunto de treinamento para detalhes sobre o formato.

Exemplo de solicitação

Este exemplo utiliza o modelo de imagem para vídeo baseado no primeiro quadro. Carregue apenas o conjunto de treinamento. O sistema divide automaticamente uma parte dele como conjunto de validação. O carregamento de um conjunto de dados leva vários minutos. O tempo exato depende do tamanho do arquivo.
curl --location --request POST 'https://dashscope-intl.aliyuncs.com/compatible-mode/v1/files' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--form 'file=@"./wan-i2v-training-dataset.zip"' \
--form 'purpose="fine-tune"'

Exemplo de resposta

Salve o id. Este é o identificador exclusivo do seu conjunto de dados carregado.

{
    "id": "file-ft-b2416bacc4d742xxxx",
    "object": "file",
    "bytes": 73310369,
    "filename": "wan-i2v-training-dataset.zip",
    "purpose": "fine-tune",
    "status": "processed",
    "created_at": 1766127125
}

Etapa 2: Ajustar o modelo

Etapa 2.1 Crie um trabalho de ajuste fino

Inicie o treinamento utilizando o ID do arquivo obtido na Etapa 1.

Nota

Os valores dos hiperparâmetros variam conforme o modelo. Para configurações de hiperparâmetros, consulte hiperparâmetros. Para mais exemplos de solicitação, consulte exemplos de solicitação.

Exemplo de solicitação

Substitua <replace with training dataset file ID> integralmente pelo id da etapa anterior.

Imagem para vídeo (baseado no primeiro quadro)

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "wan2.7-i2v",
    "training_file_ids": [
        "<your-training-dataset-file-id>"
    ],
    "training_type": "efficient_sft",
    "hyper_parameters": {
        "n_epochs": 400,
        "batch_size": 1,
        "learning_rate": 2e-5,
        "split": 0.9,
        "max_split_val_dataset_sample": 5,
        "eval_epochs": 50,
        "max_pixels": 102400,
        "save_total_limit": 10,
        "lora_rank": 32,
        "lora_alpha": 32
    }
}'

Imagem para vídeo (baseado no primeiro e último quadro)

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "wan2.2-kf2v-flash",
    "training_file_ids": [
        "<your-training-dataset-file-id>"
    ],
    "training_type": "efficient_sft",
    "hyper_parameters": {
        "n_epochs": 400,
        "batch_size": 4,
        "learning_rate": 2e-5,
        "split": 0.9,
        "max_split_val_dataset_sample": 5,
        "eval_epochs": 50,
        "max_pixels": 262144,
        "save_total_limit": 10,
        "lora_rank": 32,
        "lora_alpha": 32
    }
}'

Exemplo de resposta

Verifique estes três parâmetros principais em output:

  • job_id: ID do trabalho. Utilize-o para verificar o progresso.

  • finetuned_output: Nome do novo modelo ajustado. Utilize este nome para a implantação.

  • status: Status do treinamento. Após a criação do trabalho, o status inicial é PENDING. O treinamento ainda não começou.

{
    ...
    "output": {
        "job_id": "ft-202511111122-xxxx",
        "status": "PENDING",
        "finetuned_output": "xxxx-ft-202511111122-xxxx",
        ...
    }
}
Etapa 2.2 Verificar o status do trabalho de ajuste fino

Utilize o job_id da Etapa 2.1 para verificar o progresso. Consulte este endpoint periodicamente até que o status se torne SUCCEEDED.

Nota

Este trabalho de ajuste fino leva várias horas. O tempo exato depende do modelo. Aguarde pacientemente.

Exemplo de solicitação

Substitua <replace with fine-tuning job job_id> na URL integralmente pelo valor de job_id.

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes/<your-job-id>' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json'

Exemplo de resposta

Verifique estes dois parâmetros no campo output:

  • status: Quando este valor se tornar SUCCEEDED, o treinamento estará concluído. Você poderá implantar o modelo.

  • usage: Total de tokens utilizados para treinamento. Usado para faturamento.

{
    ...
    "output": {
        "job_id": "ft-202511111122-xxxx",
        "status": "SUCCEEDED",
        "usage": 432000,
        ...
    }
}

Etapa 3: Implantar o modelo ajustado

Etapa 3.1 Implantar o modelo como um service online

Após o status do trabalho de ajuste fino ser SUCCEEDED, implante o modelo como um service online.

Exemplo de solicitação

Substitua <replace with model name model_name> integralmente pelo valor de finetuned_output obtido ao criar o trabalho de ajuste fino.

Imagem para vídeo (baseado no primeiro quadro)

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/deployments' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model_name": "<your-model-name>",
    "aigc_config": {
        "use_input_prompt": false,
        "prompt": "Provide a video description based on the image content. The description must include the phrase “Then the s86b5p money rain effect begins, countless huge-sized US dollar bills (beige background/dark green patterns) pour down like a torrential rain, densely hitting and surrounding them. The bills continue to fall, while the camera slowly zooms in, they stretch their arms upward, neck slightly tilted back, expression surprised, completely immersed in this wild money rain.”\nOutput Template:\nThe video begins with a shot of [subject description]. [Environment description]. Then the s86b5p money rain effect begins, countless huge-sized US dollar bills (beige background/dark green patterns) pour down like a torrential rain, densely hitting and surrounding them. The bills continue to fall, while the camera slowly zooms in, they stretch their arms upward, neck slightly tilted back, expression surprised, completely immersed in this wild money rain.\nExample:\nThe video begins showing a young woman standing in front of a brick wall covered with ivy. She has long, smooth reddish-brown hair, wearing a white sleeveless dress, a shiny silver necklace, and a smile on her face. The brick wall in the background is covered with green vines, appearing rustic and natural. Then the s86b5p money rain effect begins, countless huge-sized US dollar bills (beige background/dark green patterns) pour down like a torrential rain, densely hitting and surrounding her. The bills continue to fall, while the camera slowly zooms in, she stretches her arms upward, neck slightly tilted back, expression surprised, completely immersed in this wild money rain.",
        "lora_prompt_default": "Then the s86b5p money rain effect begins, countless huge-sized US dollar bills (beige background/dark green patterns) pour down like a torrential rain, densely hitting and surrounding the main character. The bills continue to fall, while the camera slowly zooms in, the main character stretches their arms upward, neck slightly tilted back, with a surprised expression, completely immersed in this wild money rain."
    },
    "capacity": 1,
    "plan": "lora"
}'

Imagem para vídeo (baseado no primeiro e último quadro)

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/deployments' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model_name": "<your-model-name>",
    "aigc_config": {
        "use_input_prompt": false,
        "prompt": "Provide a video description based on the image content. The description must include the phrase “Then they begin the s86b5p transformation.”\nOutput Template:\nThe video begins with a shot of [subject description]. [Environment description]. Then they begin the s86b5p transformation.\nExample:\nThe video begins with a young woman in an outdoor setting. She has short, curly dark brown hair and a friendly smile. She is wearing a black Polo shirt with colorful floral embroidery. The background features green vegetation and distant mountains. Then she begins the s86b5p transformation.",
        "lora_prompt_default": "Then they begin the s86b5p transformation."
    },
    "capacity": 1,
    "plan": "lora"
}'

Exemplo de resposta

Verifique estes dois parâmetros em output:

  • deployed_model: Nome do modelo implantado. Utilize-o para verificar o status da implantação e chamar o modelo.

  • status: Status da implantação. Após implantar o modelo ajustado, o status inicial é PENDING. A implantação ainda não começou.

{
    ...
    "output": {
        "deployed_model": "xxxx-ft-202511111122-xxxx",
        "status": "PENDING",
        ...
    }
}
Etapa 3.2 Verificar o status da implantação

Consulte este endpoint periodicamente até que o status se torne RUNNING.

Nota

A implantação deste modelo ajustado leva cerca de 5 a 10 minutos.

Exemplo de solicitação

Substitua <replace with deployed_model> integralmente pelo valor de deployed_model obtido na Etapa 3.1.

Exemplo de resposta

Verifique estes dois parâmetros no campo output:

  • status: Quando o status se tornar RUNNING, o modelo foi implantado com sucesso. Você pode começar a chamá-lo.

  • deployed_model: Nome do modelo implantado.

{
    ...
    "output": {
        "status": "RUNNING",
        "deployed_model": "xxxx-ft-202511111122-xxxx",
        ...
    }
}

Etapa 4: Chamar o modelo para gerar vídeos

Após a implantação bem-sucedida do modelo (quando o status da implantação for RUNNING), você pode começar a chamar o modelo.

Etapa 4.1: Crie uma tarefa de geração de vídeo e obter o task_id

Exemplo de solicitação

Substitua <replace with deployed_model name> pelo valor de deployed_model obtido na etapa anterior.

Imagem para vídeo (baseado no primeiro quadro)

Resultado esperado: Insira uma imagem de primeiro quadro. Não é necessário prompt. O modelo gera automaticamente um vídeo com o "efeito de chuva de dinheiro" com base na imagem.

Chamada do modelo Wan2.7

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--header 'X-DashScope-Async: enable' \
--data '{
    "model": "<replace with deployed_model name>",
    "input": {
        "media": [
            {
                "type": "first_frame",
                "url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/en-US/20251219/xmvyqn/lora.webp"
            }
        ]
    },
    "parameters": {
        "resolution": "720P",
        "prompt_extend": false
    }
}'

Chamada do modelo Wan2.6/Wan2.5/Wan2.2

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--header 'X-DashScope-Async: enable' \
--data '{
    "model": "<replace with deployed_model name>",
    "input": {
        "img_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/en-US/20251219/xmvyqn/lora.webp"
    },
    "parameters": {
        "resolution": "720P",
        "prompt_extend": false
    }
}'

Exemplo de resposta

Copie e salve o task_id para consultar os resultados na próxima etapa.

{
    "output": {
        "task_status": "PENDING",
        "task_id": "0385dc79-5ff8-4d82-bcb6-xxxxxx"
    },
    "request_id": "4909100c-7b5a-9f92-bfe5-xxxxxx"
}

Descrição dos parâmetros de entrada

Nota

Ao chamar um modelo LoRA ajustado, o uso de parâmetros de entrada do Wan2.7 é praticamente o mesmo de Wan2.7 - imagem para vídeo. Para Wan2.6/Wan2.5/Wan2.2, consulte 万相-图生视频-基于首帧(2.1-2.6).

A tabela abaixo lista apenas o uso ou restrições de parâmetros específicos do LoRA. Para parâmetros gerais não listados aqui (como duration), consulte a documentação da API.

Campo

Tipo

Obrigatório

Descrição

Valor de exemplo

model

string

Sim

Nome do modelo.

Utilize um modelo ajustado implantado com sucesso e com status RUNNING.

xxxx-ft-202511111122-xxxx

input.prompt

string

Não

Prompt de texto.

A eficácia deste parâmetro depende da configuração aigc_config.use_input_prompt:

  • Se use_input_prompt=true, este parâmetro entra em vigor. O sistema gera o vídeo com base neste prompt.

  • Se use_input_prompt=false, este parâmetro é ignorado. O sistema utiliza o modelo predefinido aigc_config.prompt para gerar o prompt automaticamente.

-

parameters.resolution

string

Não

Resolução do vídeo gerado.

Modelos wan2,2 e wan2,5: 480P, 720P. O padrão é 720P.

Modelos wan2,6: 720P, 1080P. O padrão é 720P.

Modelos wan2,7: 720P, 1080P. O padrão é 1080P.

720P

parameters.prompt_extend

boolean

Não

Ative reescrita de prompt.

Ao chamar um modelo LoRA ajustado, desative esta opção. Defina como false.

false

Imagem para vídeo (baseado no primeiro e último quadro)

Resultado esperado: Insira uma imagem de primeiro quadro e uma imagem de último quadro. Não é necessário prompt. O modelo gera automaticamente um vídeo com o "efeito de revista de moda" com base nas imagens.

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/image2video/video-synthesis' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--header 'X-DashScope-Async: enable' \
--data '{
    "model": "<replace with deployed_model name>",
    "input": {
        "first_frame_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260113/typemn/kf2v-first.webp",
        "last_frame_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260113/ekzmff/kf2v_last.webp"
    },
    "parameters": {
        "resolution": "720P",
        "prompt_extend": false
    }
}'

Exemplo de resposta

Copie e salve o task_id para consultar os resultados na próxima etapa.

{
    "output": {
        "task_status": "PENDING",
        "task_id": "0385dc79-5ff8-4d82-bcb6-xxxxxx"
    },
    "request_id": "4909100c-7b5a-9f92-bfe5-xxxxxx"
}

Descrição dos parâmetros de entrada

Nota

Ao chamar um modelo LoRA ajustado, o uso de parâmetros de entrada é praticamente o mesmo da API de imagem para vídeo baseada no primeiro e último quadro.

A tabela abaixo lista apenas o uso ou restrições de parâmetros específicos do LoRA. Para parâmetros gerais não listados aqui (como duration), consulte a referência da API.

Campo

Tipo

Obrigatório

Descrição

Valor de exemplo

model

string

Sim

Nome do modelo.

Utilize um modelo ajustado implantado com sucesso e com status RUNNING.

xxxx-ft-202511111122-xxxx

input.prompt

string

Não

Prompt de texto.

A eficácia deste parâmetro depende da configuração aigc_config.use_input_prompt:

  • Se use_input_prompt=true, este parâmetro entra em vigor. O sistema gera o vídeo com base neste prompt.

  • Se use_input_prompt=false, este parâmetro é ignorado. Não o envie. O sistema utiliza o modelo predefinido aigc_config.prompt para gerar o prompt automaticamente.

-

input.first_frame_url

string

Sim

URL da imagem de primeiro quadro.

Para saber como enviar este parâmetro, consulte parâmetro first_frame_url.

https://help-static-aliyun-doc.aliyuncs.com/xxx.jpg

input.last_frame_url

string

Não

URL da imagem de último quadro.

Para saber como enviar este parâmetro, consulte parâmetro last_frame_url.

https://help-static-aliyun-doc.aliyuncs.com/xxx.jpg

parameters.resolution

string

Não

Resolução do vídeo gerado.

Modelos ajustados suportam 480P, 720P. O padrão é 720P.

720P

parameters.prompt_extend

boolean

Não

Ative reescrita de prompt.

Ao chamar um modelo LoRA ajustado, desative esta opção. Defina como false.

false

Etapa 4.2: Consultar resultados usando o task_id

Consulte o status da tarefa periodicamente usando o task_id até que o task_status se torne SUCCEEDED. Em seguida, obtenha a URL do vídeo.

Exemplo de solicitação

Substitua 86ecf553-d340-4e21-xxxxxxxxx pelo task_id real.
curl -X GET https://dashscope-intl.aliyuncs.com/api/v1/tasks/86ecf553-d340-4e21-xxxxxxxxx \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"

Exemplo de resposta

A URL do vídeo é válida por 24 horas. Baixe o vídeo prontamente.
{
    "request_id": "c87415d2-f436-41c3-9fe8-xxxxxx",
    "output": {
        "task_id": "a017e64c-012b-431a-84fd-xxxxxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2025-11-12 11:03:33.672",
        "scheduled_time": "2025-11-12 11:03:33.699",
        "end_time": "2025-11-12 11:04:07.088",
        "orig_prompt": "",
        "video_url": "https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/xxx.mp4?Expires=xxxx"
    },
    "usage": {
        "duration": 5,
        "video_count": 1,
        "SR": 480
    }
}

Crie um conjunto de dados personalizado

Além de utilizar os conjuntos de dados de exemplo neste guia, você pode criar seu próprio conjunto de dados para ajuste fino.

Seu conjunto de dados deve incluir um conjunto de treinamento (obrigatório) e pode incluir um conjunto de validação (opcional, suporta divisão automática a partir do conjunto de treinamento). Compacte todos os arquivos em um arquivo .zip. Utilize apenas letras inglesas, números, sublinhados ou hifens nos nomes dos arquivos.

Formato do conjunto de dados

Conjunto de treinamento: Obrigatório

Imagem para vídeo (baseado no primeiro quadro)

O conjunto de treinamento inclui imagens de primeiro quadro, vídeos de treinamento e um arquivo de anotação (data.jsonl).

  • Conjunto de treinamento de exemplo: wan-i2v-training-dataset.zip.

  • Estrutura de diretórios ZIP:

    wan-i2v-training-dataset.zip
    ├── data.jsonl        # Must be named data.jsonl. Max size: 20 MB.
    ├── image_1.jpeg      # Max resolution: 4096×4096. Formats: BMP, JPEG, PNG, WEBP.
    ├── video_1.mp4       # Max resolution: 4096×4096. Formats: MP4, MOV.
    ├── image_2.jpeg
    └── video_2.mp4
  • Arquivo de anotação (data.jsonl): Cada linha representa uma amostra de treinamento. Deve ser um objeto JSON. Estrutura:

    {
        "prompt": "The video begins showing a young woman standing in front of a brick wall covered with ivy. She has long, smooth reddish-brown hair, wearing a white sleeveless dress, a shiny silver necklace, and a smile on her face. The brick wall in the background is covered with green vines, appearing rustic and natural. Then the s86b5p money rain effect begins, countless huge-sized US dollar bills (beige background/dark green patterns) pour down like a torrential rain, densely hitting and surrounding her. The bills continue to fall, she stretches her arms upward, neck slightly tilted back, expression surprised, completely immersed in this wild money rain.",
        "first_frame_path": "image_1.jpg",
        "video_path": "video_1.mp4"        
    }

Imagem para vídeo (baseado no primeiro e último quadro)

O conjunto de treinamento inclui imagens de primeiro quadro, imagens de último quadro, vídeos de treinamento e um arquivo de anotação (data.jsonl).

  • Conjunto de treinamento de exemplo: wan-kf2v-training-dataset.zip.

  • Estrutura de diretórios ZIP:

    wan-kf2v-training-dataset.zip
    ├── data.jsonl                # Must be named data.jsonl. Max size: 20 MB.
    ├── image/                    # First-frame and last-frame images.
    │   ├── image_1_first.jpg     # Max resolution: 4096×4096. Formats: BMP, JPEG, PNG, WEBP.
    │   └── image_1_last.png
    └── video/                    # Training videos.
        ├── video_1.mp4           # Max resolution: 4096×4096. Formats: MP4, MOV.
        └── video_2.mov
  • Arquivo de anotação (data.jsonl): Cada linha representa uma amostra de treinamento. Deve ser um objeto JSON. Estrutura:

    {
        "prompt": "The video begins by showing a young woman in an outdoor setting. She has short, curly dark brown hair, a smile on her face, and looks very friendly. She is wearing a black polo shirt with colorful floral embroidery, with a background of green vegetation and distant mountains. Then she begins the s86b5p transformation.",
        "first_frame_path": "image/image_1_first.jpg",
        "last_frame_path": "image/image_1_last.jpg", 
        "video_path": "video/video_1.mp4"  
    }

Conjunto de validação: Opcional

Imagem para vídeo (baseado no primeiro quadro)

O conjunto de validação inclui imagens de primeiro quadro e um arquivo de anotação (data.jsonl). Vídeos não são necessários. Em cada ponto de avaliação, o trabalho de treinamento chama automaticamente o service de modelo para gerar vídeos de pré-visualização usando as imagens e prompts de validação.

  • Conjunto de validação de exemplo: wan-i2v-valid-dataset.zip.

  • Estrutura de diretórios ZIP:

    wan-i2v-valid-dataset.zip
    ├── data.jsonl       # Must be named data.jsonl. Max size: 20 MB.
    ├── image_1.jpeg     # Max resolution: 4096×4096. Formats: BMP, JPEG, PNG, WEBP.
    └── image_2.jpeg
  • Arquivo de anotação (data.jsonl): Cada linha representa uma amostra de validação. Deve ser um objeto JSON. Estrutura:

    {
        "prompt": "The video begins showing a scene of a young man standing in front of a cityscape. He is wearing a black and white checkered jacket over a black hoodie, with a smile on his face and a confident expression. The background is a city skyline at sunset, with a famous domed building and layered roofs visible in the distance, the sky filled with clouds showing warm orange-yellow hues. Then the s86b5p money rain effect begins, countless huge-sized US dollar bills (beige background/dark green patterns) pour down like a torrential rain, densely hitting and surrounding him. The bills continue to fall while the camera slowly zooms in, he stretches his arms upward, neck slightly tilted back, expression surprised, completely immersed in this wild money rain.",
        "first_frame_path": "image_1.jpg"
    }

Imagem para vídeo (baseado no primeiro e último quadro)

O conjunto de validação inclui imagens de primeiro quadro, imagens de último quadro e um arquivo de anotação (data.jsonl). Vídeos não são necessários. Em cada ponto de avaliação, o trabalho de treinamento chama automaticamente o service de modelo para gerar vídeos de pré-visualização usando as imagens e prompts de validação.

  • Conjunto de validação de exemplo: wan-kf2v-valid-dataset.zip.

  • Estrutura de diretórios ZIP:

    wan-kf2v-valid-dataset.zip
    ├── data.jsonl                 # Must be named data.jsonl. Max size: 20 MB.
    └── image/                     # First-frame and last-frame images.
        ├── image_1_first.jpg      # Max resolution: 4096×4096. Formats: BMP, JPEG, PNG, WEBP.
        └── image_1_last.jpg
  • Arquivo de anotação (data.jsonl): Cada linha representa uma amostra de validação. Deve ser um objeto JSON. Estrutura:

    {
        "prompt": "The video begins showing a scene of a young man standing in front of a cityscape. He is wearing a black and white checkered jacket over a black hoodie, with a smile on his face and a confident expression. The background is a city skyline at sunset, with a famous domed building and layered roofs visible in the distance, the sky filled with clouds showing warm orange-yellow hues. Then the s86b5p money rain effect begins, countless huge-sized US dollar bills (beige background/dark green patterns) pour down like a torrential rain, densely hitting and surrounding him. The bills continue to fall while the camera slowly zooms in, he stretches his arms upward, neck slightly tilted back, expression surprised, completely immersed in this wild money rain.",
        "first_frame_path": "image/image_1_first.jpg",
        "last_frame_path": "image/image_1_last.jpg",
    }

Escala de dados e limites

  • Volume de dados: Forneça pelo menos 10 amostras. Mais dados de treinamento resultam em melhores resultados. Recomendamos de 20 a 100 amostras para um desempenho estável.

  • Arquivo ZIP: Ao carregar via API, o tamanho total deve ser ≤ 1 GB.

  • Requisitos para imagens de treinamento:

    • Formatos: BMP, JPEG, PNG, WEBP.

    • Resolução ≤ 4096×4096.

    • Sem limite rígido para tamanho individual de arquivo (o sistema pré-processa automaticamente).

  • Requisitos para vídeos de treinamento:

    • Formatos: MP4, MOV.

    • Resolução ≤ 4096×4096.

    • Sem limite rígido para tamanho individual de arquivo (o sistema pré-processa automaticamente).

    • Duração por vídeo: recomendado de 2 a 5 segundos para modelos wan2,2; recomendado de 2 a 10 segundos para modelos wan2,5 ; recomendado de 2 a 10 segundos para modelos wan2,6 e wan2,7.

Coleta e limpeza de dados

1. Defina o cenário de ajuste fino

O Wanxiang suporta ajuste fino para imagem para vídeo nestes cenários:

  • Efeitos de vídeo fixos: Ensinar ao modelo uma mudança visual específica, como um carrossel ou troca mágica de figurino.

  • Ações de personagem fixas: Melhorar a capacidade do modelo de reproduzir movimentos corporais específicos, como passos de dança ou técnicas de artes marciais.

  • Movimento de câmera fixo: Replicar cinematografia complexa, como movimentos de push, pull, pan, tilt ou órbita.

2. Coletar ativos brutos
  • Geração e filtragem por IA: Utilize o modelo base Wanxiang para gerar vídeos em lote. Selecione manualmente amostras de alta qualidade que melhor correspondam ao seu efeito alvo. Este é o método mais comum.

  • Filmagem real: Se você precisar de alto realismo para cenas interativas (por exemplo, abraços, apertos de mão), utilize filmagens reais.

  • Renderização em software 3D: Para efeitos ou animações abstratas que exigem controle preciso, utilize software 3D (por exemplo, Blender, Cinema 4D).

3. Limpar os dados

Dimensão

Requisitos Positivos

Exemplo Negativo

Consistência

As características principais devem ser altamente uniformes.

Exemplo: Para treinar "rotação de 360 graus", todos os vídeos devem girar no sentido horário aproximadamente na mesma velocidade.

Direções mistas.

O conjunto de dados contém rotações horárias e anti-horárias. O modelo não sabe qual direção aprender.

Diversidade

Mais variedade em sujeitos e cenas é melhor.

Cubra diferentes sujeitos (homens, mulheres, crianças, animais, edifícios) e composições (close-ups, planos abertos, ângulos altos, ângulos baixos). Varie também a resolução e a proporção da tela.

Cena ou sujeito único.

Todos os vídeos mostram "uma pessoa de roupa vermelha girando diante de uma parede branca". O modelo pode tratar erroneamente "roupa vermelha" e "parede branca" como parte do efeito. Ele falha quando a roupa muda.

Equilíbrio

Os tipos de dados devem ser equilibrados.

Se existirem múltiplos estilos, suas quantidades devem ser aproximadamente iguais.

Desequilíbrio severo.

90% são vídeos retrato, 10% são vídeos paisagem. O modelo pode ter baixo desempenho em vídeos paisagem.

Pureza

Visuais limpos e claros.

Utilize ativos originais sem interferências.

Elementos interferentes.

Vídeos contêm legendas, logotipos, marcas d'água, barras pretas óbvias ou ruído. O modelo pode aprender a marca d'água como parte do efeito.

Duração

Duração do ativo ≤ duração alvo.

Se você deseja vídeos de 5 segundos, corte os ativos para 4-5 segundos.

Ativos muito longos.

Você quer vídeos de 5 segundos, mas fornece ativos de 8 segundos ao modelo. Isso leva a um aprendizado incompleto da ação e a uma sensação truncada.

Anotação de vídeo: Escrever prompts para vídeos

No arquivo de anotação do conjunto de dados (data.jsonl), cada vídeo possui um prompt correspondente. O prompt descreve o conteúdo do vídeo. A qualidade do prompt determina diretamente o que o modelo aprende.

Exemplo de prompt

The video begins with a young woman standing in front of a brick wall covered with ivy. She has long, smooth reddish-brown hair, wearing a white sleeveless dress, a shiny silver necklace, and a smile on her face. The background is a brick wall covered with green vines, appearing rustic and natural. Then the s86b5p money rain effect begins, countless huge-sized US dollar bills (beige background/dark green patterns) pour down like a torrential rain, densely hitting and surrounding her. The bills continue to fall, she stretches her arms upward, neck slightly tilted back, expression surprised, completely immersed in this wild money rain.

Fórmula de escrita de prompt

Prompt = [Descrição do sujeito] + [Descrição do fundo] + [Palavra-gatilho] + [Descrição do movimento]

Elemento do prompt

Descrição

Orientação

Exemplo

Descrição do sujeito

Descreva pessoas ou objetos presentes no quadro

Obrigatório

The video begins with a young woman...

Descrição do fundo

Descreva o ambiente onde o sujeito está localizado

Obrigatório

The background is a brick wall covered with green vines...

Palavra-gatilho

Uma palavra rara e sem significado

Recomendado

s86b5p ou m01aa

Descrição do movimento

Descreva detalhadamente as mudanças dinâmicas durante o efeito

Recomendado

Countless huge-sized US dollar bills (beige background/dark green patterns) pour down like a torrential rain...

Sobre palavras-gatilho

  • O que é uma palavra-gatilho?

    Ela atua como uma "âncora visual". Muitos movimentos complexos (por exemplo, um caminho de dança único ou efeito de luz) são difíceis de descrever em texto. Uma palavra-gatilho força o modelo a gerar exatamente aquele efeito visual quando vê a palavra.

  • Por que utilizá-la?

    O ajuste fino cria um mapeamento entre texto e características de vídeo. A palavra-gatilho vincula um efeito difícil de descrever a uma palavra única, permitindo que o modelo fixe no alvo.

  • Se temos uma palavra-gatilho, por que descrever o movimento em detalhes?

    Elas desempenham papéis diferentes e funcionam melhor juntas.

    • A descrição do movimento explica o que acontece na cena. Ela informa ao modelo ações físicas básicas e lógica. As descrições de movimento geralmente são consistentes entre as amostras.

    • A palavra-gatilho explica como a ação se parece especificamente. Ela representa mudanças e características únicas que palavras não conseguem descrever.

Como escrever bons prompts

Seguir regras de consistência para descrições de efeitos

Para todas as amostras que contenham o mesmo efeito, mantenha a parte da descrição do movimento o mais consistente possível. Aplique esta regra tanto aos conjuntos de treinamento quanto aos de validação.

  • Propósito: Quando o modelo vê s86b5p seguido pela mesma descrição fixa e sempre vê chuva de dinheiro, ele aprende que s86b5p = efeito visual de chuva de dinheiro.

  • Exemplo: Seja o sujeito uma "jovem mulher" ou um "homem de terno", o prompt termina da mesma maneira para o efeito de chuva de dinheiro: “...then the s86b5p money rain effect begins, countless US dollar bills pour down like a torrential rain...

    Tipo de amostra

    Conteúdo do prompt (Observe a consistência nas partes sublinhadas)

    Amostra de treinamento 1

    The video begins with a young woman standing in front of a brick wall... (descrição do ambiente omitida)... Then the s86b5p money rain effect begins, countless huge-sized US dollar bills (beige background/dark green patterns) pour down like a torrential rain, densely hitting and surrounding her. The bills continue to fall, she stretches her arms upward, neck slightly tilted back, expression surprised, completely immersed in this wild money rain.

    Amostra de treinamento 2

    The video begins with a man in a suit in a high-end restaurant... (descrição do ambiente omitida)... Then the s86b5p money rain effect begins, countless huge-sized US dollar bills (beige background/dark green patterns) pour down like a torrential rain, densely hitting and surrounding him. The bills continue to fall, he stretches his arms upward, neck slightly tilted back, expression surprised, completely immersed in this wild money rain.

    Amostra de validação 1

    The video begins with a young child standing in front of a cityscape... (descrição do ambiente omitida)... Then the s86b5p money rain effect begins, countless huge-sized US dollar bills (beige background/dark green patterns) pour down like a torrential rain, densely hitting and surrounding him. The bills continue to fall while the camera slowly zooms in, he stretches his arms upward, neck slightly tilted back, expression surprised, completely immersed in this wild money rain.

Utilizar IA para gerar prompts

Para obter prompts de alta qualidade, utilize modelos de linguagem grandes multimodais como Qwen-VL para auxiliar.

  1. Utilizar IA para gerar descrições iniciais

    1. Brainstorming de forma livre (encontrar inspiração): Se você não tem certeza de como descrever o efeito, deixe a IA explorar livremente.

      • Envie “Describe the video content in detail” e observe a saída do modelo.

      • Concentre-se nos termos que o modelo usa para trajetória de movimento (por exemplo, “pour down like a torrential rain”, “camera slowly zooms in”). Estes termos podem ser usados para otimização posterior.

    2. Prompting de formato fixo (padronizar saída): Assim que tiver uma ideia geral, crie um formato fixo para guiar a IA a gerar prompts que correspondam ao seu modelo.

      Código de exemplo

      Consulte compreensão visual para detalhes sobre chamadas de API.
      import os
      from openai import OpenAI
      
      client = OpenAI(
          # API keys differ between Beijing and Singapore regions. Get your API key: https://www.alibabacloud.com/help/zh/model-studio/get-api-key
          # If you haven’t set environment variables, replace the next line with: api_key="sk-xxx".
          api_key=os.getenv("DASHSCOPE_API_KEY"),
          # Base URL for Singapore region. For Beijing region, replace with: https://dashscope.aliyuncs.com/compatible-mode/v1
          base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
      )
      completion = client.chat.completions.create(
          model="qwen3-vl-plus",
          messages=[
              {"role": "user","content": [{
                  # When passing a video file directly, set type to video_url.
                  # With OpenAI SDK, frames are sampled every 0.5 seconds by default and cannot be changed. For custom frame rates, use DashScope SDK.
                  "type": "video_url",            
                  "video_url": {"url": "https://cloud.video.taobao.com/vod/Tm1s_RpnvdXfarR12RekQtR66lbYXj1uziPzMmJoPmI.mp4"}},
                  {"type": "text", "text": "Analyze the video carefully and generate a detailed video description using the following fixed format:"
                                          "Format template: The video begins with [subject description]. The background is [background description]. Then the s86b5p melting effect begins, [detailed motion description]."
                                          "Requirements:"
                                          "1.[Subject description]: Describe people or objects in the frame in detail, including appearance, clothing, and expressions."
                                          "2.[Background description]: Describe the environment, lighting, and weather in detail."
                                          "3.[Motion description]: Describe dynamic changes during the effect (e.g., how objects move, how lighting changes, how the camera moves)."
                                          "4.Integrate all content naturally into the format. Do not keep “[ ]” symbols or add unrelated text."}]
               }]
      )
      print(completion.choices[0].message.content)
  1. Extrair modelos de efeitos

    1. Execute o processo várias vezes em amostras com o mesmo efeito. Identifique frases precisas e de alta frequência usadas para descrever o efeito. Extraia uma "descrição de efeito" genérica.

    2. Copie e cole esta descrição de efeito padronizada em todas as amostras para esse efeito.

    3. Mantenha descrições únicas de "sujeito" e "fundo" para cada amostra. Substitua apenas a parte da "descrição de efeito" pelo modelo unificado.

  1. Revisão manual

    A IA pode alucinar ou cometer erros de detecção. Como etapa final, realize uma verificação manual. Por exemplo, confirme se as descrições da entidade e do fundo correspondem à cena real.

Avaliar o modelo usando um conjunto de validação

Especifique um conjunto de validação

Um trabalho de ajuste fino requer um conjunto de treinamento. Um conjunto de validação é opcional. Você pode optar por deixar o sistema dividir automaticamente ou carregar manualmente. Especifique da seguinte forma:

Método 1: Nenhum conjunto de validação carregado (o sistema divide automaticamente)

Quando você cria um trabalho de ajuste fino, se não carregar um conjunto de validação separado, ou seja, se o parâmetro validation_file_ids não for enviado, o sistema divide automaticamente uma parte do conjunto de treinamento para usar como conjunto de validação com base nos seguintes dois hiperparâmetros:

  • split: Proporção dos dados de treinamento a serem divididos. Por exemplo, 0,9 significa 90% para treinamento e 10% para validação.

  • max_split_val_dataset_sample: Número máximo de amostras para o conjunto de validação dividido automaticamente.

Regra de divisão do conjunto de validação: O sistema seleciona o menor valor entre dataset size × (1 - split) e max_split_val_dataset_sample.

  • Exemplo: Suponha que você carregue apenas um conjunto de treinamento com 100 amostras, split=0,9 (10% para validação) e max_split_val_dataset_sample=5.

    • Divisão teórica: 100 × 10% = 10 amostras.

    • Divisão real: min(10, 5)=5. Portanto, o sistema usa apenas 5 amostras para o conjunto de validação.

Método 2: Carregar um conjunto de validação manualmente (usando validation_file_ids)

Se preferir avaliar checkpoints usando seus próprios dados preparados em vez de depender de divisões aleatórias do sistema, carregue um conjunto de validação personalizado.

Nota: Uma vez que você escolha o carregamento manual, o sistema ignora as regras de divisão automática acima e valida apenas com os dados carregados por você.

Etapas: Carregar um conjunto de validação manualmente

  1. Preparar o conjunto de validação: Compacte os dados de validação em um arquivo .zip independente. Consulte formato do conjunto de validação.

  2. Carregar o conjunto de validação: Chame a API de carregamento de conjunto de dados para carregar este arquivo .zip. Obtenha um ID de arquivo dedicado.

  3. Especifique o conjunto de validação ao criar o trabalho: Ao chamar a API de criação de trabalho de ajuste fino, coloque este ID de arquivo no parâmetro validation_file_ids.

    {
        "model":"wan2.5-i2v-preview",
        "training_file_ids":[ "<training set file ID>" ],
        "validation_file_ids": [ "<custom validation set file ID>" ],
        ...
    }

Selecione o melhor checkpoint para implantação

Durante o treinamento, o sistema salva "snapshots" periódicos (checkpoints). Por padrão, o sistema gera o checkpoint final como o modelo ajustado. Mas checkpoints intermediários podem superar a versão final. Você pode escolher o melhor para implantação.

O sistema executa checkpoints no conjunto de validação e gera vídeos de pré-visualização em intervalos definidos pelo hiperparâmetro eval_epochs.

  • Avaliação: Julgue assistindo aos vídeos de pré-visualização diretamente.

  • Critérios de seleção: Escolha o checkpoint com a melhor qualidade visual e sem distorção de movimento.

Procedimento

Etapa 1: Visualize resultados de pré-visualização para checkpoints

Etapa 1.1 Listar checkpoints validados

Esta API retorna apenas checkpoints que passaram na validação e geraram vídeos de pré-visualização com sucesso. Checkpoints com falha não são listados.

Exemplo de solicitação

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes/<replace_with_fine-tuning_job_id>/validation-results' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' 

Exemplo de resposta

Esta API retorna uma lista de nomes de checkpoints que passaram na validação.

{
    "request_id": "da1310f5-5a21-4e29-99d4-xxxxxx",
    "output": [
        {
            "checkpoint": "checkpoint-160"
        },
        ...
    ]
}
Etapa 1.2 Visualize resultados de validação para um checkpoint

Selecione um checkpoint da lista acima (por exemplo, “checkpoint-160”) e visualize seu resultado em vídeo.

Exemplo de solicitação

  • <replace_with_fine-tuning_job_id>: Substitua integralmente pelo job_id de criação do trabalho de ajuste fino.

  • <replace_with_selected_checkpoint>: Substitua integralmente pelo valor do checkpoint, por exemplo, “checkpoint-160”.

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes/<replace_with_fine-tuning_job_id>/validation-details/<replace_with_selected_checkpoint>?page_no=1&page_size=10' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"

Exemplo de resposta

A URL do vídeo de pré-visualização é video_path. Ela é válida por 24 horas. Baixe e revise prontamente. Repita esta etapa para comparar múltiplos checkpoints e encontrar o melhor.

{
    "request_id": "375b3ad0-d3fa-451f-b629-xxxxxxx",
    "output": {
        "page_no": 1,
        "page_size": 10,
        "total": 1,
        "list": [
            {
                "video_path": "https://finetune-result.oss-cn-wulanchabu.aliyuncs.com/xxx.mp4?Expires=xxxx",
                "prompt": "The video begins with a young man sitting in a cafe...",
                "first_frame_path": "https://finetune-result.oss-cn-wulanchabu.aliyuncs.com/xxx.jpeg"
            }
        ]
    }
}

Etapa 2: Exportar o checkpoint e obter o nome do modelo para implantação

Etapa 2.1 Exportar o modelo

Suponha que “checkpoint-160” forneça o melhor resultado. Agora exporte-o.

Exemplo de solicitação

  • <replace_with_fine_tuning_job_id>: Substitua integralmente pelo job_id de criação do trabalho de ajuste fino.

  • <replace_with_checkpoint_to_export>: Substitua integralmente pelo valor do checkpoint, por exemplo, “checkpoint-160”.

  • <replace_with_exported_model_name_for_console_display>: Substitua integralmente por um nome de modelo personalizado para exibição no console, por exemplo, “wan2.5-checkpoint-160”. Este nome deve ser globalmente único. Nomes duplicados não são permitidos. Para orientação sobre parâmetros, consulte exportar checkpoint.

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes/<replace_with_fine-tuning_job_id>/export/<replace_with_checkpoint_to_export>?model_name=<replace_with_exported_model_name_for_console_display>' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"

Exemplo de resposta

O parâmetro de resposta output=true significa que a solicitação de exportação foi criada com sucesso.

{
    "request_id": "0817d1ed-b6b6-4383-9650-xxxxx",
    "output": true
}
Etapa 2.2 Consultar o novo nome do modelo após a implantação

Consulte todos os status de checkpoints para confirmar a conclusão da exportação e obter o nome único do modelo (model_name) para implantação.

Exemplo de solicitação

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes/<replace_with_fine-tuning_job_id>/checkpoints' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"

Exemplo de resposta

Na lista retornada, localize o checkpoint exportado (por exemplo, checkpoint-160). Quando seu status se tornar SUCCEEDED, a exportação foi bem-sucedida. O campo model_name é o novo nome do modelo para implantação e chamadas.

{
    "request_id": "b0e33c6e-404b-4524-87ac-xxxxxx",
    "output": [
         ...,
        {
            "create_time": "2025-11-11T13:27:29",
            "full_name": "ft-202511111122-496e-checkpoint-160",
            "job_id": "ft-202511111122-496e",
            "checkpoint": "checkpoint-160",                             
            "model_name": "xxxx-ft-202511111122-xxxx-c160", // Important field. Use for model deployment and calls.
            "model_display_name": "xxxx-ft-202511111122-xxxx", 
            "status": "SUCCEEDED" // Successfully exported checkpoint.
        },
        ...
        
    ]
}

Etapa 3: Implantar e chamar o modelo

Após exportar o checkpoint com sucesso e obter o model_name, siga estas etapas:

  • Implantação do modelo: No parâmetro de entrada model_name, insira o valor específico obtido após a exportação.

  • Chamada do modelo: Siga a documentação da API para chamar o modelo implantado.

Entrar em produção

Em produção, se o modelo treinado inicialmente apresentar baixo desempenho (por exemplo, visuais distorcidos, efeitos fracos, movimento impreciso), ajuste ao longo destas dimensões:

1. Verificar dados e prompts

  • Consistência de dados: A consistência é crítica. Verifique se há "amostras ruins" com direções opostas ou estilos muito diferentes.

  • Contagem de amostras: Aumente os dados de alta qualidade para mais de 20 amostras.

  • Prompt: Garanta que as palavras-gatilho sejam termos raros e sem significado (por exemplo, s86b5p). Evite palavras comuns (por exemplo, running) que causem interferência.

2. Ajustar hiperparâmetros: Consulte hiperparâmetros para detalhes.

  • n_epochs (épocas de treinamento)

    • Padrão: 400. Utilize o padrão, a menos que seja necessário. Se ajustar, siga a regra: “Total de etapas de treinamento ≥ 800”.

    • Fórmula de etapas totais: steps = n_epochs × ceiling (training set size / batch_size).

    • Fórmula mínima de n_epochs: n_epochs = 800 / ceiling (dataset size / batch_size).

    • Exemplo: Suponha um conjunto de treinamento de 5 amostras, usando o modelo Wan2.5 (batch_size=2).

      • Etapas por época: 5 / 2 = 2,5, arredondado para cima para 3. Total de épocas: n_epochs = 800 / 3 ≈ 267. Este é o mínimo recomendado. Você pode aumentar conforme necessário.

  • Você pode usar os valores padrão para learning_rate (taxa de aprendizado) e batch_size (tamanho do lote). Estes valores tipicamente não requerem modificação.

  • Faturamento

    Referência da API

    API de ajuste fino de modelos de geração de vídeo e imagem

    FAQ

    P: Como os volumes de dados dos conjuntos de treinamento e validação são calculados?

    R: O conjunto de treinamento é obrigatório, o conjunto de validação é opcional. Os métodos de cálculo são os seguintes:

    • Quando nenhum conjunto de validação é fornecido: O conjunto de treinamento carregado é o "tamanho total do conjunto de dados". O sistema divide automaticamente parte dos dados para validação.

      • Tamanho do conjunto de validação = min(total dataset size × (1 − split), max_split_val_dataset_sample). Para um exemplo, consulte especificar um conjunto de validação.

      • Tamanho do conjunto de treinamento = total dataset size − validation set size.

    • Quando um conjunto de validação é carregado manualmente: O sistema não divide mais o conjunto de validação a partir dos dados de treinamento.

      • Tamanho do conjunto de treinamento = Volume de dados do conjunto de treinamento carregado.

      • Tamanho do conjunto de validação = Volume de dados do conjunto de validação carregado.

    P: Como projetar uma boa palavra-gatilho?

    R: Siga estas regras:

    • Utilize combinações de letras sem significado, como sksstyle, a8z2_bbb.

    • Evite palavras comuns em inglês (por exemplo, beautiful, fire, dance). Isso evita poluir o entendimento original do modelo sobre essas palavras.

    P: O ajuste fino pode alterar a resolução ou duração do vídeo?

    R: Não. O ajuste fino aprende "conteúdo" e "dinâmica", não "especificações". O formato do vídeo de saída (resolução, taxa de quadros, duração máxima) ainda é determinado pelo modelo base.