Guia de Início Rápido do LongCat-Video Edit (Image-to-Video)¶
Este guia mostra como treinar e validar o fluxo imagem-para-vídeo do LongCat-Video. Você não precisa trocar de flavour; o mesmo checkpoint final cobre texto-para-vídeo e imagem-para-vídeo. A diferença vem dos seus datasets e das configurações de validação.
1) Diferenças do modelo vs LongCat-Video base¶
| Base (text2video) | Edit / I2V | |
|---|---|---|
| Flavour | final |
final (mesmos pesos) |
| Condicionamento | nenhum | requer frame de condicionamento (primeiro latente mantido fixo) |
| Encoder de texto | Qwen-2.5-VL | Qwen-2.5-VL (mesmo) |
| Pipeline | TEXT2IMG | IMG2VIDEO |
| Entradas de validação | apenas prompt | prompt e imagem de condicionamento |
| Buckets / stride | buckets de 64px, (frames-1)%4==0 |
igual |
Padrões principais herdados
- Flow matching com shift 12.0.
- Buckets de aspecto forçados a 64px.
- Encoder de texto Qwen-2.5-VL; negativos vazios adicionados automaticamente quando CFG está ligado.
- Frames padrão: 93 (satisfaz (frames-1)%4==0).
2) Mudanças no config (CLI/WebUI)¶
{
"model_family": "longcat_video",
"model_flavour": "final",
"model_type": "lora",
"train_batch_size": 1,
"gradient_checkpointing": true,
"lora_rank": 8,
"learning_rate": 1e-4,
"validation_resolution": "480x832",
"validation_num_video_frames": 93,
"validation_num_inference_steps": 40,
"validation_guidance": 4.0,
"validation_using_datasets": true,
"eval_dataset_id": "longcat-video-val"
}
Mantenha aspect_bucket_alignment em 64. O primeiro frame latente guarda a imagem inicial; não altere isso. Fique com 93 frames (já atende a regra (frames - 1) % 4 == 0) a menos que você tenha um forte motivo para mudar.
Setup rápido:
Preenchamodel_family, model_flavour, output_dir, data_backend_config e eval_dataset_id. Mantenha os padrões acima a menos que saiba que precisa de valores diferentes.
Opções de atenção em CUDA:
- Em CUDA, o LongCat-Video prefere automaticamente o kernel block-sparse Triton incluído quando presente e recua para o dispatcher padrão caso contrário. Não é necessário toggle manual.
- Para forçar xFormers, defina attention_implementation: "xformers" no seu config/CLI.
3) Dataloader: pare clipes com frames iniciais¶
- Crie dois datasets:
- Clipes: os vídeos alvo + legendas (instruções de edição). Marque
is_i2v: truee definaconditioning_datapara o ID do dataset de frame inicial. - Frames iniciais: uma imagem por clipe, com os mesmos nomes de arquivo, sem legendas.
- Mantenha ambos na grade de 64px (ex.: 480x832). Altura/largura devem ser divisíveis por 16. Contagem de frames deve atender
(frames - 1) % 4 == 0; 93 já é válido. - Use caches VAE separados para clipes vs frames iniciais.
Exemplo de multidatabackend.json:
[
{
"id": "longcat-video-train",
"type": "local",
"dataset_type": "video",
"is_i2v": true,
"instance_data_dir": "/data/video-clips",
"caption_strategy": "textfile",
"resolution": 480,
"cache_dir_vae": "/cache/vae/longcat/video",
"conditioning_data": ["longcat-video-cond"]
},
{
"id": "longcat-video-cond",
"type": "local",
"dataset_type": "conditioning",
"instance_data_dir": "/data/video-start-frames",
"caption_strategy": null,
"resolution": 480,
"cache_dir_vae": "/cache/vae/longcat/video-cond"
}
]
Veja opções e requisitos de caption_strategy em DATALOADER.md.
4) Especificidades de validação¶
- Adicione uma pequena divisão de validação com a mesma estrutura pareada do treino. Defina
validation_using_datasets: truee aponteeval_dataset_idpara essa divisão (por exemplo,longcat-video-val) para que a validação obtenha o frame inicial automaticamente. - Prévias na WebUI: inicie
simpletuner server, escolha LongCat-Video edit e envie o frame inicial + prompt. - Guidance: 3.5–5.0 funciona; negativos vazios são preenchidos automaticamente quando CFG está ligado.
- Para prévias ou treino com pouca VRAM, defina
musubi_blocks_to_swap(comece com 4–8) e, opcionalmente,musubi_block_swap_devicepara streamar os últimos blocos do transformer da CPU durante o forward/backward. Isso troca algum throughput por menor pico de VRAM. - O frame de condicionamento fica fixo durante a amostragem; apenas os frames posteriores são denoised.
5) Início de treinamento (CLI)¶
Após o config e o dataloader estarem definidos:
Garanta que os frames de condicionamento estejam presentes nos dados de treino para que o pipeline consiga construir latentes de condicionamento.6) Solução de problemas¶
- Imagem de condicionamento ausente: forneça um dataset de condicionamento via
conditioning_datacom nomes de arquivo correspondentes; definaeval_dataset_idpara o ID da sua divisão de validação. - Erros de altura/largura: mantenha as dimensões divisíveis por 16 e na grade de 64px.
- Primeiro frame deriva: reduza o guidance (3.5–4.0) ou diminua steps.