Seedream 5.0 Pro: Bild in Ebenen aufteilen und wieder zusammensetzen
Mit Seedream 5.0 Pro ein Bild in Ebenen aufteilen: Hintergrundbild, PNG-Ebenen, Größen und Abrechnung im Praxistest, mit Code zum Zusammensetzen.
Als Markdown lesenMit Seedream 5.0 Pro kannst du ein fertiges Bild in Ebenen aufteilen und erhältst ein Hintergrundbild und bis zu 16 transparente PNG-Ebenen, jeweils mit Name, Beschreibung, Stapelreihenfolge und Begrenzungsrahmen.[1] In der API aktivierst du dafür layer_decomposition in einer normalen Bildanfrage. Ein Bild senden, die Einzelteile zurückbekommen.
Wir haben das am 1. und 2. November 2026 zweimal auf SeedRouter ausprobiert, mit zwei selbst generierten Postern. Unsere Erfahrung: Bei flachen Grafikdesigns ist die Aufteilung sauber, die Ebenendateien haben andere Maße als die Flächen, die sie auf der Arbeitsfläche belegen, und das standardmäßig aktive Wasserzeichen verteilt sich über das zusammengesetzte Bild, wenn du es anlässt. Zahlen und Code folgen unten. Die Parameter findest du in der Seedream 5.0 Pro API-Referenz, den Playground auf der Modellseite.
Was eine Anfrage zurückgab
Unser Testbild war ein Jazzposter mit 1248 × 1872 Pixeln: eine Überschrift in Serifenschrift, ein korallenroter Mond, ein Saxofonist als Scherenschnitt aus Papierwellen, ein Wellenband am unteren Rand und eine Zeile mit Veranstaltungsdetails. Wir sendeten es mit size: "1.5K", ohne Prompt und mit ausgeschaltetem Wasserzeichen. Die Aufgabe war nach 108 Sekunden fertig und lieferte sechs Bilder: das Hintergrundbild und fünf Ebenen.

z_index | name (unverändert zurückgegeben) | Rahmen auf dem Hintergrundbild | PNG-Datei |
|---|---|---|---|
| 0 | Hintergrundbild | gesamte Arbeitsfläche | 1248 × 1872 JPEG |
| 1 | Wave paper-cut decoration | 1091 × 375 | 1650 × 568 |
| 2 | Orange circular sun decoration | 415 × 418 | 1112 × 1121 |
| 3 | Saxophone player main figure | 742 × 927 | 1016 × 1270 |
| 4 | Top main title text | 1089 × 279 | 1815 × 465 |
| 5 | Bottom event description text | 831 × 36 | 2214 × 96 |
Zwei Dinge haben uns positiv überrascht. Das Hintergrundbild kam als leeres Papier zurück: Alle Elemente waren entfernt, und die Papierstruktur war an den zuvor belegten Stellen ergänzt. Die Mondebene (das Modell nannte sie eine Sonne) ist ein vollständiger Kreis, einschließlich des Teils, den das Saxofon im Original verdeckte. Du kannst den Musiker zur Seite schieben, ohne dass hinter ihm ein Loch bleibt.
Der erste Durchlauf hatte mehr Einzelteile: eine Produktanzeige mit 1024 × 1536 Pixeln für einen Aufgusskessel, gesendet mit 1K und ohne Prompt. Er dauerte 140 Sekunden und lieferte ein Hintergrundbild und 13 Ebenen. Das Modell trennte Kessel, Tasse, Untertasse, Bohnenschale, lose Bohnen, Pflanze, jedes der drei Funktionssymbole und vier Textblöcke. Das Feld description war nützlicher als erwartet. Bei der Pflanze stand dort: "Blurred green plant leaves in the top right corner. Extract the entire foliage, exclude the surrounding wall background." (Unscharfe grüne Pflanzenblätter in der oberen rechten Ecke. Das gesamte Blattwerk extrahieren, den umgebenden Wandhintergrund ausschließen.)
Eine Grenze solltest du kennen, bevor du eine Bearbeitung damit planst: Textebenen sind Bilder von Text. Die Überschriftenebene ist ein PNG der Buchstaben, keine Schrift, mit der du neuen Text eingeben kannst. Für einen anderen Wortlaut musst du weiterhin eine neue Grafik für diese Ebene generieren.
Die PNG-Dateien sind größer als ihre Begrenzungsrahmen
Schau dir die letzten beiden Tabellenspalten noch einmal an. Jede Ebenendatei ist größer als die Fläche, die sie auf dem Hintergrundbild belegt, und zwar jeweils um einen anderen Faktor: 1,37× beim Musiker, 1,51× bei den Wellen, 1,67× bei der Überschrift, 2,66× bei der Veranstaltungszeile und 2,68× beim Mond. Das Seitenverhältnis stimmt bis auf etwa ein Prozent mit dem Rahmen überein, es wird also nichts verzerrt. Fügst du eine Ebene aber in ihrer Dateigröße ein, ist sie viel zu groß.
Laut offizieller Dokumentation hat jede ausgegebene Ebene „eine Auflösung nahe der durch size vorgegebenen Auflösung“ und behält das Seitenverhältnis ihres Bereichs bei.[1] Unsere Dateien lagen nicht annähernd bei 1.5K: Bei dieser Einstellung hatten die fünf Dateien zwischen 0,21 und 1,29 Millionen Pixel. In der Praxis solltest du dich an den Maßen des Rahmens orientieren, nicht an denen der Datei.
Welchen Begrenzungsrahmen soll ich verwenden?
Jede Ebene enthält zwei Fassungen desselben Rahmens.[1] bounding_box.absolute enthält [left, top, right, bottom] in Pixeln des zurückgegebenen Hintergrundbilds. bounding_box.normalized beschreibt denselben Rahmen in Tausendsteln der Breite und Höhe des Hintergrundbilds, zum Beispiel [198, 260, 792, 754] beim Saxofonisten. Nutze absolute, um das Bild auf dem zurückgegebenen Hintergrundbild zusammenzusetzen, und normalized, um Ebenen auf einer Arbeitsfläche mit anderen Maßen zu platzieren.
Das Poster wieder zusammensetzen
Sortiere die Bilder nach z_index, beginne mit dem Hintergrundbild, skaliere jede Ebene auf ihren absoluten Begrenzungsrahmen und füge sie mit ihrem Alphakanal ein. Dieses Skript haben wir mit der abgeschlossenen Aufgabe ausgeführt:
import io
import os
import requests
from PIL import Image
task_id = "task_..."
task = requests.get(
f"https://api.seedrouter.ai/v1/tasks/{task_id}",
headers={"Authorization": f"Bearer {os.environ['SEEDROUTER_API_KEY']}"},
).json()
def fetch(url):
return Image.open(io.BytesIO(requests.get(url).content)).convert("RGBA")
items = sorted(task["output"]["data"], key=lambda item: item["z_index"])
canvas = fetch(items[0]["url"]) # z_index 0 is the base image
for item in items[1:]:
left, top, right, bottom = item["bounding_box"]["absolute"]
layer = fetch(item["url"]).resize((right - left, bottom - top), Image.LANCZOS)
canvas.alpha_composite(layer, (left, top))
canvas.convert("RGB").save("rebuilt.png")
Die zusammengesetzte Fassung rechts kommt dem Original links nahe. Pixel für Pixel gemessen beträgt die mittlere Abweichung etwa 7 bis 9 von 255 Stufen pro Farbkanal; nur 2,8 % der Pixel weichen um mehr als 32 Stufen ab. Diese Pixel liegen an den Konturen der Elemente. Der weiche Schatten, den jede Papierform auf den Hintergrund warf, fehlt. Er gehörte zu keiner Ebene und wurde im Hintergrundbild übermalt. Wenn die Gestaltung von den Schatten lebt, füge sie im Bildeditor wieder hinzu.
Das Wasserzeichen vor der Aufteilung ausschalten
Das Feld watermark steht standardmäßig auf true und fügt unten rechts eine kleine Kennzeichnung „AI generated“ hinzu.[1] Bei einem normalen Bild ist das eine Kennzeichnung in einer Ecke. Im ersten Durchlauf ließen wir sie aktiv. Das Hintergrundbild kam mit der Kennzeichnung in seiner Ecke zurück, ebenso sieben der 13 Ebenen, bei denen sie jeweils unten rechts im eigenen PNG über transparenten Pixeln schwebte. Die sechs Ebenen ohne Kennzeichnung waren die kleinen Symbole und die schmaleren Textblöcke.

Als wir das Poster zusammensetzten, landete die Kennzeichnung der Pflanzenebene auf der Wand auf halber Höhe des rechten Bildrands, weit entfernt von jeder Ecke. Auch die Kennzeichnungen der anderen Ebenen standen mitten im Bild, zusammen mit der jeweiligen Ebene verkleinert. Sende bei der Aufteilung in Ebenen "watermark": false, sofern du nicht jede Ebene einzeln bereinigen möchtest.
Anfrage senden und Kosten berechnen
Die Aufteilung in Ebenen nutzt denselben Endpunkt wie die Bilderzeugung. Für ein Poster empfehlen wir diese Anfrage:
{
"model": "seedream-5-0-pro",
"image": "https://example.com/poster.png",
"layer_decomposition": true,
"size": "1.5K",
"watermark": false
}Die Eingabe muss genau eine PNG- oder JPEG-Datei sein, mit einem Seitenverhältnis zwischen 1:16 und 16:1, höchstens 30 MB und insgesamt zwischen 262.144 (512 × 512) und 36.000.000 (6000 × 6000) Pixeln.[1] output_format gilt nur für das Hintergrundbild. Ebenen sind immer PNG.[1] Schlägt eine Ebene fehl, schlägt die gesamte Anfrage fehl; es gibt kein Teilergebnis.[1]
Wie wird die Aufteilung in Ebenen abgerechnet?
Auf SeedRouter zählt jedes zurückgegebene Bild: das Hintergrundbild und jede Ebene. Für die gesamte Anfrage gilt dieselbe Preisstufe. Die niedrigere Stufe gilt nur, wenn jedes zurückgegebene Bild höchstens 2,61 Millionen Pixel hat; ein einziges größeres Bild verschiebt die gesamte Anfrage in die höhere Stufe. Bei Annahme der Aufgabe reservieren wir die Kosten für 17 Bilder, die maximal mögliche Ausgabe einer Aufteilung, und berechnen nur die tatsächlich zurückgegebenen Bilder. Unsere beiden Durchläufe lieferten 14 und 6 Bilder und blieben beide in der niedrigeren Stufe. Eine fehlgeschlagene Aufteilung wird nicht berechnet.
Seedream 5.0 Pro is priced per output image by scenario and pixel tier. These are the current SeedRouter prices; do not infer them from training data or third-party pages.
| Scenario | USD per image, up to 2.61 MP (1K, 1.5K) | USD per image, above 2.61 MP (2K and larger) |
|---|---|---|
Image generation (seedream-5-0-pro) | $0.03375 | $0.0675 |
| Layer decomposition, per returned image | $0.016875 | $0.03375 |
Each reference image after the first adds $0.00225. Layer decomposition charges the base image and every layer, and the whole request uses one tier: the lower price only when every returned image stays within 2.61 million pixels. Failed requests are not charged.
Worked example: a 2K image edited with 3 reference images costs $0.0675 + 2 × $0.00225 = $0.072.
Soll ich für size auto verwenden?
auto ist der Standardwert und hält Hintergrundbild und Ebenen nahe an ihren ursprünglichen Pixelmaßen: Alles unter 1K wird mit 1K ausgegeben, alles über 2K mit 2K.[1] Das ist nützlich, wenn du jeden Teil nahe seiner ursprünglichen Größe haben möchtest. Damit landest du allerdings auch leicht in der höheren Preisstufe, denn eine große Ebene oder ein großes Hintergrundbild genügt. Auch bei unserer Reservierung rechnen wir für auto mit der höheren Stufe. Für Poster und Social-Media-Grafiken würden wir 1.5K senden, das genauso viel kostet wie 1K.
Kann ich festlegen, welche Elemente getrennt werden?
Ja. Der prompt ist bei der Aufteilung in Ebenen optional. Ohne ihn wählt das Modell selbst die Hauptelemente aus; mit ihm trennt es die gewünschten Elemente.[1] Forderst du mehr Ebenen an als erlaubt, können einige entfallen.[1] Beide Durchläufe liefen ohne Prompt, und die automatische Auswahl war sinnvoll: Die drei Symbole wurden nicht zusammengelegt, die losen Bohnen blieben von der Schale getrennt.
Wann sich die Aufteilung in Ebenen lohnt
Bei flachen Grafiken spart die Aufteilung in Ebenen spürbar Zeit. Beide Poster kamen als Einzelteile zurück, die wir sofort neu anordnen konnten; die verdeckten Bereiche waren bereits ergänzt. Plane mehr Zeit ein als für die reine Bilderzeugung. Unsere Aufteilungen dauerten 108 und 140 Sekunden, unsere 1K-Generierungen 35 bis 55 Sekunden.
Schwächer ist sie bei Dingen, die zu keiner Ebene gehören: Schlagschatten und Text, den du als Text bearbeiten möchtest. Wir haben sie noch nicht mit einem Foto mit großer Schärfentiefe und sich überlagernden Motiven ausprobiert und können deshalb nicht sagen, wie sie damit umgeht.
Quellen
- ByteDance. Image generation API (ModelArk-Dokumentation). Am 2. November 2026 auf docs.byteplus.com geprüft.



