De imagens do Seedream 5.5 a GIF: exportação local testada
Planeje uma sequência em loop, confira a ordem dos quadros PNG e controle a duração do GIF. Inclui um kit local testado; a geração com Seedream não foi testada.
Para fazer um GIF de imagens Seedream 5.5, primeiro obtenha PNGs separados com enquadramento consistente; depois defina sua ordem e duração em um exportador de animação. Uma imagem transparente, uma folha de contato e um GIF animado são entregas diferentes. Não presuma que pedir “um GIF” a um modelo de imagem produz uma animação para download.
A página do Seedream 5.5 da ByteDance demonstra uma sequência de imagens de um personagem correndo em camadas transparentes separadas. Isso permite explorar um fluxo de trabalho baseado em quadros; mas não comprova um endpoint GIF nativo, um parâmetro de contagem de quadros ou controles de exportação de um determinado serviço. Este artigo testa a etapa local de conversão de PNG para GIF, com um marcador de teste original gerado matematicamente. Nós não geramos os quadros de amostra com Seedream 5.5, e o prompt abaixo é um modelo inicial ainda não testado.
Baixe e execute o exemplo funcional
O Kit de exemplo para download contém os quadros PNG originais, uma nota sobre sua origem, o exportador, um gerador de imagens sintéticas de teste, o GIF resultante real e seu relatório de inspeção. Nada nos scripts chama um modelo ou envia um arquivo.
Você precisa de Python 3 com Pillow e FFmpeg disponíveis em seu PATH. Use seu gerenciador de pacotes normal para FFmpeg. Extraia o ZIP em uma nova pasta de trabalho e abra um terminal nessa pasta, onde export_gif.py e fixture/ estejam visíveis. No macOS ou Linux, instale Pillow e execute:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install Pillow
python export_gif.py fixture output --fps 10 --matte '#fff8ee'
No Windows, ative o ambiente virtual com .venv\Scripts\activate em vez da linha source, ou use o executável Python do ambiente diretamente.
O ambiente testado utilizou FFmpeg 9.0.2; o kit registra a versão instalada e as propriedades da saída em report.json. Instalar a versão atual do Pillow sem fixar seu número é conveniente para uma avaliação. Para um fluxo de trabalho de produção repetido, fixe a versão que passar nas suas verificações.
O diretório de saída não pode existir antes da execução. Isso impede que uma nova execução acidental sobrescreva uma animação aceita. Os quadros de origem permanecem inalterados. Se uma tentativa malsucedida deixar uma pasta contendo FAILED.txt, inspecione a falha e use uma pasta de saída diferente para a próxima tentativa.

Resultado real da exportação local, usando quadros de teste renderizados por código. Esta não é uma geração de Seedream, e sua aparência simples não diz nada sobre a qualidade visual de Seedream.
Nossa execução produziu um GIF 320 × 180 com 12 quadros codificados, duração total de 1.200 ms e valor de loop 0, significando repetição contínua nos metadados GIF. O arquivo tinha 6.366 bytes. Essas medições descrevem este pequeno exemplo sintético, não o tamanho ou qualidade que você deve esperar de uma animação de personagem detalhada.
Defina o movimento antes de solicitar imagens
Um briefing de animação útil contém uma ação, uma referência estacionária e uma transição de fechamento. “Mascote bonito, bela iluminação” descreve um estilo de imagem, mas não diz nada sobre movimento. Decida o que muda entre os quadros e o que deve permanecer fixo: tamanho da tela, posição da câmera, escala do personagem, linha de base, paleta e detalhes de identidade.
Para um primeiro loop, use uma ação isolada, como um breve aceno. Evite combinar um giro, um salto, movimento de câmera, troca de acessórios e um fundo em movimento. Cada mudança adicional torna mais difícil distinguir o movimento pretendido da alterações indesejadas da geração. Seis poses distintas podem estabelecer a ideia, mas seis quadros não garantem movimento suave. A duração dos quadros e a diferença entre as poses determinam a percepção do movimento.
Antes de tentar o prompt, confirme que o serviço utilizado oferece Seedream 5.5 e pode entregar os arquivos necessários. Na consulta ao catálogo da Ofox em 10 de novembro de 2026, encontramos 5.0 Pro e Flash, mas não 5.5. O guia de versões e acesso explica este limite. Não use outra versão e identifique o resultado como 5.5.
Aqui está um briefing completo para um serviço onde o acesso é confirmado:
Create a six-pose sequence for a short looping wave by the character
in my reference. Keep the camera fixed and use the same full canvas,
character scale, foot baseline, clothing and colors in every pose.
Pose order:
0 — neutral, arm resting;
1 — arm lifting;
2 — hand raised and tilted left;
3 — hand raised and tilted right;
4 — arm lowering;
5 — almost neutral, positioned to transition back to pose 0.
The face, torso, feet and background framing should remain stable.
Only the waving arm and hand should move. Avoid new objects or text.
Return separate PNG images with transparent backgrounds if this
service supports that export. Do not draw a checkerboard background.
If only a contact sheet is available, use an exact 3-column × 2-row
grid with equal cells, no gutters, no labels and no outer border.
Salve o prompt, identificação do modelo, referência e os originais baixados juntos. Se a interface não puder retornar seis quadros separados ou uma folha de quadros bem organizada, não suponha que um parâmetro oculto da API resolverá o problema. Use as opções reais de exportação do serviço, ou escolha uma rota diferente com uma saída de animação verificada.
Separe as poses sem alterar o alinhamento
Mantenha uma tela completa com as mesmas dimensões para cada quadro. Recortar cada imagem separadamente até os limites do conteúdo visível pode fazer com que um personagem estacionário pareça saltar: a origem local do desenho move-se, mesmo que a intenção fosse manter o personagem no lugar. Use o mesmo retângulo de recorte e a mesma escala em toda a sequência.
Se você recebeu arquivos separados, renomeie-os na ordem de movimento pretendida:
frames/
frame-000.png
frame-001.png
frame-002.png
frame-003.png
frame-004.png
frame-005.png
Inspecione as fotos antes de renomear. A ordem de download não é necessariamente a ordem das poses. Não ordene por tamanho de arquivo nem presuma que os nomes atribuídos pelo serviço indiquem a sequência cronológica.
Se a saída for uma folha de quadros, verifique se ela realmente contém a grade solicitada antes de cortar. Um layout 3 × 2 com painéis desiguais ou um título ao redor não é uma sprite sheet pronta para recorte. Em um editor de imagens ou um conversor de sprite sheet, especifique os limites reais das células e inspecione todas as células extraídas. Um recorte em células de tamanho igual não corrige um desenho que ultrapassa os limites de uma célula. Nosso tutorial de GIF do Image 2.6 contém um exemplo de conversão de sprite sheet testado separadamente, com os devidos créditos; não é evidência de que Seedream produziu aquela folha original.
Mantenha a resolução original até que o alinhamento esteja correto. Exportar todos os quadros para uma tela menor antes de encontrar um erro de recorte pode esconder o defeito na pré-visualização enquanto torna as correções posteriores mais difíceis.
Escolha o fundo deliberadamente
O PNG pode conter transparência parcial. GIF usa transparência baseada em paleta e não preserva os mesmos valores alfa contínuos. Um brilho fraco, borda de vidro ou contorno de cabelo suavizado pode, portanto, ficar diferente após uma conversão GIF transparente. A alteração da extensão não preserva essas propriedades.
O exportador fornecido toma a rota previsível: aplica cada imagem sobre uma cor de fundo explícita (matte) antes de quantizar e codificar o GIF. O fundo creme padrão é uma escolha de design, não uma saída transparente. Defina --matte '#ffffff' para um destino com fundo branco, ou use a cor de fundo real da página de destino. Se o GIF aparecer em muitos fundos, esse método pode não atender à tarefa.
Quando a transparência parcial verdadeira importa, mantenha a sequência PNG original e avalie um formato de animação com capacidade alfa no aplicativo de destino. APNG e WebP animado são alternativas possíveis, mas o suporte depende do editor, sistema de conteúdo e local de reprodução. Não prometa que um aplicativo de chat ou espaço publicitário os aceita sem testar esse destino. Veja o guia PNG transparente para verificar se os arquivos originais têm alfa útil em vez de um fundo pintado.
A documentação de GIF do Pillow descreve a duração do quadro, os controles de repetição e descarte de quadros (disposal). É uma referência de formato de arquivo, não uma especificação para geração Seedream.
Controle a duração e confira a transição do loop
A 10 quadros por segundo, cada quadro dura 100 ms. Doze quadros, portanto, duram 1,2 segundos. O exportador restringe a taxa de quadros para 5, 10, 20, 25 ou 50 fps de modo que cada duração do quadro é exatamente representável nas unidades centésimos de segundo do GIF. Esta é uma restrição deliberada do nosso script, não um limite de Seedream.
A transição do último para o primeiro quadro é tão importante quanto suas transições internas. Se a pose final estiver longe da primeira, a repetição contínua expõe um salto visível. Se o primeiro e último quadros são idênticos e ambos são exibidos por um intervalo completo, a pose repetida pode criar uma pausa indesejada. Às vezes, uma pausa é intencional; inspecione a animação resultante em vez de aplicar uma regra universal.
As 12 posições de marcadores do exemplo estão em torno de um caminho fechado e não duplicam a primeira posição no final. É projetado para testar a ordenação e o tempo, não para modelar o movimento natural de personagens. Para sua própria sequência, confira a consistência do personagem em uma folha de quadros e depois reproduza a animação no tamanho pretendido. Uma folha estática não pode revelar um ritmo estranho.
O que o exportador verifica — e o que não pode julgar
O script requer PNGs numerados consecutivamente, dimensões correspondentes, pelo menos dois quadros e alguma variação entre eles. Ele recusa uma pasta de saída existente e rejeita quadros superdimensionados antes da conversão. Após a codificação, ele reabre o GIF e verifica se ele tem vários quadros, a duração total esperada e uma configuração de repetição contínua. Os hashes de origem são registrados para posterior comparação.
A codificação usa Filtros de geração de paletas e de uso de paletas da FFmpeg. Eles ajudam a criar uma paleta consistente através da sequência; não restauram detalhes perdidos nem tornam coerentes poses inconsistentes. Um codificador GIF também pode mesclar quadros idênticos enquanto mantém sua duração combinada, então a contagem de quadros codificados nem sempre é a mesma que a contagem de arquivos fonte.

Captura de tela do nosso registro local de testes, em inglês. Documenta a validação e exportação de arquivos, não uma interface de modelo ou uma geração de Seedream.
| Sintomas | Verificar primeiro | Próxima ação |
|---|---|---|
| Apenas uma imagem aparece | Decodificar o arquivo baixado e contar quadros | Encontre os quadros originais separados ou uma exportação de animação genuína |
| O personagem muda de posição inesperadamente | Dimensões da tela, origem compartilhada e recorte | Realinhar na mesma tela antes de codificar |
| Aparece um retângulo branco | Se o PNG tinha alfa; cor de fundo escolhida | Inspecione o alfa e escolha o fundo ou formato corretos |
| As bordas parecem ásperas | Conversão de paleta e alfa, tamanho da prévia | Manter os originais do PNG; conferir sobre o fundo real de destino |
| O movimento dá um salto ao reiniciar | Espaçamento entre pose final e primeira | Revise poses ou timing, não o nome do arquivo |
| Uma solicitação ao modelo falhou | Modelo, serviço e formato de solicitação exatos | Use o guia de resolução de problemas da API da imagem (em inglês); não reutilize os parâmetros GIF de outro modelo |
Para a produção, aceitação significa mais do que um arquivo chamado .gif: ele é reproduzido no destino previsto, contém a ação certa, preserva o personagem, tem bordas aceitáveis e atende ao limite de tamanho de arquivo desse destino. Mantenha os quadros editáveis ao lado da exportação final. Se sua prioridade é um GIF gerado nativamente em vez de montagem de quadros, use o guia de escolha entre Seedream 5.5 e Image 2.6 para escolher uma rota com um contrato de saída verificado.
Você pode Abrir o Chat Ofox para preparar o briefing de movimento e trabalhar com ferramentas de imagem disponíveis. Este link é um acesso geral ao Chat, não a confirmação de que Seedream 5.5 está disponível lá; verifique o modelo e as opções de exportação antes de gastar créditos.
O exportador para download é intencionalmente limitado: no máximo 16 milhões de pixels por quadro e 64 milhões de pixels no total da sequência de entrada. Reduza a resolução ou divida materiais maiores antes de executá-lo; é um pequeno fluxo de trabalho local, não um codificador para processamento em lote em produção.


