Seedream 5.5: Einzelbilder mit geprüftem Workflow als GIF exportieren
Planen Sie eine Bildfolge, prüfen Sie die Reihenfolge der PNG-Dateien und steuern Sie die GIF-Dauer. Der lokale Export ist getestet, die Seedream-Generierung nicht.
Um ein GIF aus Seedream 5.5-Bildern zu erstellen, beschaffen Sie zuerst separate PNGs mit einheitlichem Bildausschnitt; dann legen Sie ihre Reihenfolge und Dauer in einem Exportprogramm für Animationen fest. Ein transparentes Bild, ein Kontaktblatt und ein animiertes GIF sind unterschiedliche Ergebnisse. Gehen Sie nicht davon aus, dass die Aufforderung an ein Bildmodell, „ein GIF“ zu erstellen, eine herunterladbare Animation erzeugt.
Die Produktseite von Seedream 5.5 von ByteDance zeigt eine Bildfolge einer laufenden Figur auf separaten transparenten Ebenen. Das spricht dafür, einen Workflow mit Einzelbildern zu erproben. Es belegt jedoch weder einen nativen GIF-Endpunkt noch einen Parameter für die Bildanzahl oder bestimmte Exportfunktionen eines Dienstes. Dieser Artikel testet die lokale PNG-zu-GIF-Stufe mit einem eigens mathematisch erzeugten Testmarker. Wir haben die Beispielbilder nicht mit Seedream 5.5 generiert, und der folgende Prompt ist eine ungetestete Startvorlage.
Funktionsfähiges Beispiel herunterladen und ausführen
Das Beispielpaket zum Herunterladen enthält die ursprünglichen PNG-Einzelbilder, ihren Herkunftsnachweis, das Exportprogramm, einen Generator für synthetische Testbilder, das tatsächlich resultierende GIF und den zugehörigen Prüfbericht. Nichts in den Skripten ruft ein Modell auf oder lädt eine Datei hoch.
Sie benötigen Python 3 mit Pillow sowie FFmpeg im PATH. Verwenden Sie Ihren normalen Paketmanager für FFmpeg. Entpacken Sie die ZIP-Datei in einen neuen Arbeitsordner und öffnen Sie ein Terminal in diesem Ordner, in dem export_gif.py und fixture/ sichtbar sind. Unter macOS oder Linux installieren Sie Pillow und führen Sie aus:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install Pillow
python export_gif.py fixture output --fps 10 --matte '#fff8ee'
Aktivieren Sie unter Windows die virtuelle Umgebung mit .venv\Scripts\activate anstelle der source-Zeile oder verwenden Sie direkt die ausführbare Python-Datei der Umgebung.
Die getestete Umgebung verwendete FFmpeg 9.0.2; das Kit zeichnet die installierte Version und die Ausgabeeigenschaften in report.json auf. Für einen ersten Versuch ist es praktisch, die aktuelle Pillow-Version ohne feste Versionsbindung zu installieren. Für wiederholbare Produktionsabläufe sollten Sie die Version festlegen, die Ihre eigenen Prüfungen bestanden hat.
Das Ausgabeverzeichnis darf nicht bereits vorhanden sein. Dies verhindert, dass eine versehentliche Wiederholung eine akzeptierte Animation überschreibt. Die Ausgangsbilder bleiben unverändert. Wenn ein fehlgeschlagener Versuch einen Ordner mit FAILED.txt hinterlässt, prüfen Sie den Fehler und verwenden Sie für den nächsten Versuch einen anderen Ausgabeordner.

Tatsächliches Ergebnis des lokalen Exports unter Verwendung von per Code erzeugten Testbildern. Dies ist keine Seedream-Generation, und ihre einfache Erscheinung sagt nichts über die visuelle Qualität von Seedream aus.
Unser Lauf produzierte ein 320 × 180 GIF mit 12 codierten Frames, 1.200 ms Gesamtdauer und Schleifenwert 0, was eine kontinuierliche Wiederholung in den GIF-Metadaten bedeutet. Die Datei war 6.366 Bytes groß. Diese Messungen beschreiben dieses kleine synthetische Testbeispiel, nicht die Größe oder Qualität, die Sie von einer detaillierten Figurenanimation erwarten sollten.
Definieren Sie Bewegung, bevor Sie Bilder anfordern
Ein brauchbares Animationsbriefing enthält eine Aktion, eine stationäre Referenz und einen abschließenden Übergang. “Süßes Maskottchen, schöne Beleuchtung” beschreibt einen Bildstil, sagt aber nichts über Bewegung aus. Entscheiden Sie, was sich zwischen den Frames ändert und was festgelegt bleiben muss: Canvas-Größe, Kameraposition, Größe des Motivs, Standlinie, Palette und Identitätsdetails.
Verwenden Sie für eine erste Schleife eine isolierte Aktion wie ein kurzes Winken. Kombinieren Sie nicht gleich eine Drehung, einen Sprung, eine Kamerabewegung, wechselnde Requisiten und einen bewegten Hintergrund. Jede zusätzliche Änderung macht es schwieriger, die beabsichtigte Bewegung von unbeabsichtigten Veränderungen bei der Generierung zu unterscheiden. Sechs verschiedene Posen können die Bewegungsidee zeigen, aber sechs Frames garantieren keine flüssige Bewegung. Timing und Poseabstand bestimmen, wie sich die Aktion anfühlt.
Bevor Sie den Prompt ausprobieren, bestätigen Sie, dass der gewählte Dienst Seedream 5.5 tatsächlich anbietet und die erforderlichen Dateien liefern kann. Bei unserer Prüfung des Ofox-Katalogs am 10. November 2026 fanden wir 5.0 Pro und Flash, aber nicht 5.5. Der Leitfaden zu Versionen und Zugang erklärt diese Grenze. Verwenden Sie nicht ersatzweise eine andere Version und bezeichnen Sie deren Ergebnis als 5.5.
Hier ist ein vollständiges Ausgangsbriefing für einen Dienst, bei dem der Zugriff bestätigt wird:
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.
Speichern Sie den Prompt, die Modellbezeichnung, die Referenz und die heruntergeladenen Originale zusammen. Wenn die Schnittstelle nicht sechs separate Frames oder einen sauber aufgebauten Kontaktbogen zurückgeben kann, schließen Sie nicht, dass ein verstecktes API-Flag es löst. Verwenden Sie die tatsächlichen Exportoptionen des Dienstes oder wählen Sie eine andere Route mit einer verifizierten Animationsausgabe.
Posen trennen und die Ausrichtung beibehalten
Halten Sie für jeden Frame eine vollständige, gleichgroße Leinwand bereit. Wenn Sie jedes Bild separat bis zum sichtbaren Inhalt beschneiden, kann eine eigentlich stillstehende Figur zu springen scheinen: Der lokale Ursprung der Zeichnung bewegt sich, obwohl die Pose an Ort und Stelle bleiben sollte. Verwenden Sie durchgehend dasselbe Zuschnittrechteck und dieselbe Skalierung.
Wenn Sie separate Dateien erhalten haben, benennen Sie sie in der beabsichtigten Bewegungsreihenfolge um:
frames/
frame-000.png
frame-001.png
frame-002.png
frame-003.png
frame-004.png
frame-005.png
Überprüfen Sie die Bilder vor dem Umbenennen. Die Download-Reihenfolge entspricht nicht unbedingt der Reihenfolge der Posen. Sortieren Sie nicht nach Dateigröße oder nehmen Sie an, dass ein vom Dienst zugewiesener Dateiname eine Chronologie ausdrückt.
Wenn es sich bei der Ausgabe um einen Kontaktbogen handelt, überprüfen Sie, ob er tatsächlich das angeforderte Raster enthält, bevor Sie ihn zerschneiden. Ein 3 × 2-Layout mit unterschiedlich großen Feldern oder einem umgebenden Titel ist kein sauberes Sprite-Sheet. Geben Sie in einem Bildeditor oder einem Spritesheet-Konverter die realen Zellgrenzen an und prüfen Sie alle extrahierten Zellen. Ein rechnerisch gleichmäßiger Zuschnitt kann keine Zeichnung reparieren, die über eine Zellgrenze hinausragt. Unser GIF-Tutorial zu Image 2.6 enthält ein separat getestetes Beispiel zur Umwandlung eines Kontaktbogens mit Quellenangabe; es ist kein Beweis dafür, dass Seedream diesen ursprünglichen Kontaktbogen produziert hat.
Behalten Sie die Quellauflösung, bis die Ausrichtung korrekt ist. Wenn Sie alle Frames auf eine kleinere Leinwand exportieren, bevor Sie einen Beschnittfehler finden, kann der Fehler in der Vorschau ausgeblendet werden, während spätere Reparaturen erschwert werden.
Wählen Sie den Hintergrund bewusst
PNG kann teilweise Transparenz enthalten. GIF verwendet palettenbasierte Transparenz und behält nicht die gleichen kontinuierlichen Alpha-Werte. Ein schwaches Leuchten, ein Glasrand oder eine geglättete Haarkante können daher nach einer transparenten GIF-Konvertierung anders aussehen. Das Ändern der Erweiterung bewahrt diese Eigenschaften nicht.
Das mitgelieferte Exportprogramm verwendet eine vorhersehbare Methode: Es legt jedes Eingabebild auf eine ausdrücklich gewählte Hintergrundfarbe (Matte), bevor es das GIF quantisiert und kodiert. Der Standard-Creme-Hintergrund ist eine Designwahl, keine transparente Ausgabe. Legen Sie --matte '#ffffff' für einen weißen Zielhintergrund fest oder verwenden Sie die tatsächliche Hintergrundfarbe der Zielseite. Wenn das GIF auf vielen Hintergründen erscheint, passt diese Route möglicherweise nicht zu der Aufgabe.
Wenn echte teilweise Transparenz wichtig ist, behalten Sie die ursprüngliche PNG-Sequenz bei und bewerten Sie ein alphafähiges Animationsformat in der tatsächlichen Zielanwendung. APNG und animiertes WebP sind mögliche Alternativen, aber die Unterstützung hängt vom Editor, dem Inhaltssystem und der Wiedergabeoberfläche ab. Versprechen Sie nicht ohne Prüfung, dass eine Chat-App oder ein Werbeplatz diese Formate unterstützt. Siehe Leitfaden für transparente PNGs, um zu überprüfen, ob die Originaldateien brauchbare Alpha-Transparenz anstelle eines gemalten Hintergrunds haben.
Die GIF-Dokumentation von Pillow beschreibt Bilddauer, Wiederholung und das Verhalten beim Entfernen vorheriger Frames (Disposal). Sie beschreibt das Dateiformat, nicht die Bildgenerierung mit Seedream.
Bilddauer steuern und den Übergang im Loop prüfen
Bei 10 Frames pro Sekunde dauert jeder Frame 100 ms. Zwölf Frames dauern somit 1,2 Sekunden. Das Exportprogramm beschränkt die Bildrate auf 5, 10, 20, 25 oder 50 fps, so dass jede Bilddauer in den Hundertstel-Sekunden-Einheiten von GIF genau darstellbar ist. Dies ist eine bewusste Einschränkung unseres Skripts, keine Seedream-Grenze.
Der Übergang vom letzten zum ersten Bild ist genauso wichtig wie die Übergänge innerhalb der Sequenz. Wenn die letzte Pose weit von der ersten entfernt ist, zeigt die kontinuierliche Wiederholung einen sichtbaren Sprung. Wenn der erste und der letzte Frame identisch sind und beide für ein volles Intervall gehalten werden, kann die wiederholte Pose eine unerwünschte Pause erzeugen. Manchmal ist eine Pause absichtlich; prüfen Sie die resultierende Animation, anstatt eine universelle Regel anzuwenden.
Die 12 Markerpositionen des Beispiels liegen um einen geschlossenen Pfad und duplizieren nicht die erste Position am Ende. Es wurde entwickelt, um Ordnung und Timing zu testen, nicht um natürliche Bewegungen von Figuren zu modellieren. Für Ihre eigene Sequenz prüfen Sie anhand eines Kontaktblatts, ob die Figur konsistent dargestellt ist und spielen dann die Animation in der vorgesehenen Größe ab. Ein statisches Kontaktblatt kann keinen unangenehmen Rhythmus aufdecken.
Was das Exportprogramm überprüft – und was es nicht beurteilen kann
Das Skript erfordert fortlaufend nummerierte PNGs, übereinstimmende Dimensionen, mindestens zwei Frames und einige Variationen zwischen ihnen. Es lehnt einen vorhandenen Ausgabeordner ab und lehnt übergroße Frames vor der Konvertierung ab. Nach dem Codieren öffnet es das GIF wieder und überprüft, ob es mehrere Frames, die erwartete Gesamtdauer und eine kontinuierliche Schleifeneinstellung hat. Hashes der Quelldateien werden für einen späteren Vergleich aufgezeichnet.
Die Kodierung verwendet FFmpegs Palettenerzeugungs- und Palettennutzungsfilter. Diese helfen, eine konsistente Palette über die Sequenz zu erstellen; sie stellen keine verlorenen Zeichnungsdetails wieder her oder machen inkonsistente Posen kohärent. Ein GIF-Encoder kann auch identische Frames zusammenführen, wobei deren Gesamtdauer erhalten bleibt, so dass die Anzahl der codierten Frames nicht immer mit der Anzahl der Quelldateien übereinstimmt.

Screenshot unserer lokalen Testaufzeichnung in englischer Sprache. Er dokumentiert Dateivalidierung und Exportergebnisse, nicht eine Modellschnittstelle oder eine Seedream-Generation.
| Symptom | Erste Kontrolle | Angemessener nächster Schritt |
|---|---|---|
| Nur ein Bild erscheint | Dekodieren Sie die tatsächlich heruntergeladene Datei und zählen Sie die Frames | Finden Sie die separaten Ausgangsbilder oder einen echten Animationsexport |
| Die Figur springt ungewollt | Leinwandmaße, gemeinsamer Ursprung und Zuschnitt | Neuausrichten auf derselben Canvas vor der Kodierung |
| Ein weißes Rechteck erscheint | Alpha-Kanal der PNG-Datei und gewählte Hintergrundfarbe | Alpha prüfen und dann den richtigen Hintergrund oder das richtige Format auswählen |
| Kanten sehen rau aus | Paletten- und Alpha-Konvertierung, Vorschaugröße | Bewahren Sie PNG-Originale auf; prüfen Sie den tatsächlichen Platzierungshintergrund |
| Sprung beim Neustart des Loops | Abstand zwischen letzter und erster Pose | Überarbeiten Sie Posen oder Timing, nicht den Dateinamen |
| Eine Modellanfrage schlägt fehl | Exaktes Modell, Service und unterstütztes Anforderungsformat | Verwenden Sie den Leitfaden zur Fehlerbehebung bei Bild-APIs (Englisch); übernehmen Sie nicht die GIF-Parameter eines anderen Modells |
Für die Produktion bedeutet Akzeptanz mehr als eine Datei mit dem Namen .gif: Sie lässt sich am vorgesehenen Ziel abspielen, enthält die richtige Aktion, bewahrt das Motiv, hat akzeptable Kanten und erfüllt die Dateigrößengrenze dieser Oberfläche. Behalten Sie die editierbaren Frames neben dem endgültigen Export. Wenn Ihre Priorität eher ein nativ generiertes GIF statt einer zusammengesetzten Bildfolge ist, verwenden Sie Entscheidungsleitfaden zu Seedream 5.5 und Image 2.6, um eine Route mit nachweislich unterstützten Ausgabeanforderungen auszuwählen.
Sie können Ofox Chat öffnen, um das Bewegungsbriefing vorzubereiten und mit verfügbaren Bildwerkzeugen zu arbeiten. Dieser allgemeine Chat-Zugang bestätigt nicht, dass Seedream 5.5 dort verfügbar ist. Prüfen Sie Modell und Exportoptionen, bevor Sie Credits einsetzen.
Das herunterladbare Exportprogramm ist absichtlich begrenzt: höchstens 16 Millionen Pixel pro Frame und 64 Millionen Pixel in der gesamten Eingabesequenz. Verkleinern oder teilen Sie größeres Material, bevor Sie es ausführen; es ist ein kleiner lokaler Workflow, kein Encoder für umfangreiche Produktionsserien.


