← 網誌 · Como uma foto parada vira um loop de 6 segundos: notas de implementação e armadilhas

Como uma foto parada vira um loop de 6 segundos: notas de implementação e armadilhas

Isto é sobre implementação, não uma explicação de como difusão funciona. O que cada etapa faz entre a foto entrar e o vídeo sair, e quais escolhas aparentemente sensatas se revelaram erradas.

2026-08-20 作者 William Hsu

這篇講什麼
  1. O caminho completo
  2. O loop de vaivém
  3. Três ideias que a medição provou erradas
  4. Lidar com as falhas deu mais trabalho que o modelo

O caminho completo

  1. Recepção e checagem: conferir formato e tamanho e passar uma verificação de conteúdo. Movimentos de pessoa também rodam um detector de rostos. Se a foto é de um pássaro e alguém escolhe um movimento de pessoa, o modelo cria um humano do nada.
  2. Codificação: a foto e a instrução são codificadas juntas. É a etapa mais lenta, quase 20 segundos.
  3. Amostragem: só 4 passos, graças ao LoRA turbo.
  4. Decodificação: transformar o resultado de volta em imagens, 73 quadros.
  5. Pós: 73 quadros a 24 fps dão 3,04 segundos; tocados para frente e para trás viram um loop contínuo de 6,08 segundos.

Por que 73 quadros? A contagem de quadros deste modelo precisa ser 17n+5, e 73 é o único valor utilizável perto de três segundos. Não está no artigo: você descobre batendo nisso.

A cara do erro: a foto é de um pássaro, mas foi escolhido um movimento de pessoa, e o modelo fez brotar um humano (com movimento de animal a mesma foto sai certa)

O loop de vaivém

O começo e o fim de um clipe gerado de três segundos quase nunca combinam, então repetir direto mostra um corte óbvio. Tocar para frente e depois para trás deixa as duas pontas idênticas e a emenda some.

Um resultado pronto: loop de vaivém contínuo de 6,08 segundos

O preço é uma sensação de ida e volta, então os movimentos precisam evitar qualquer coisa com direção clara. “Acenar” funciona: a mão volta de qualquer jeito. “Virar e olhar” tem de ser desenhado para parar depois de virar, senão, ao tocar de trás para frente, a cabeça se vira de volta.

Três ideias que a medição provou erradas

1. Mandar o modelo não mexer a câmera faz ele aproximar mais

O instinto é acrescentar “camera does not move” ao prompt. A medição disse o contrário: com essa linha o deslocamento do fundo foi de 6,6 para 39,2. O mais provável é que a própria frase leve a atenção do modelo para a ideia de câmera. O prompt final não menciona câmera e descreve só o que a pessoa faz.

2. Se o modelo desenha a moldura, ela sai torta

A ideia era o resultado já vir com uma moldura antiga. O modelo consegue desenhar, mas sai diferente a cada vez e nunca simétrica. Sobrepor com CSS na página faz a moldura ficar sempre certa, deixa quem assiste trocar ou tirar quando quiser, e mantém o arquivo baixado limpo.

3. Fotos de baixa resolução não quebram necessariamente

Eu presumi que uma foto muito pequena não funcionaria, e cheguei a escrever isso na página do guia. Depois testei uma imagem de 96 pixels: animou muito bem, só com o detalhe borrado. Desmenti a mim mesmo e reescrevi a página.

Lidar com as falhas deu mais trabalho que o modelo

Colocar o modelo para rodar foi uma parte pequena. O resto foi lidar com o que o mundo real faz:

Nenhum desses é problema do modelo, e cada um deles faz o site parecer quebrado.

這篇文章寫的是本站實際的實作與量測。工具本身在老照片動起來與變老變年輕,都可以直接試。

← 上一篇為什麼你上傳的照片不該留在雲端:一天被掃描 417 次的實際紀錄

看其他文章