Seedance 2.5 ist jetzt auf EvoLink verfügbarSeedance 2.5 testen
Ein flaches Poster zerfällt in ein Basisbild und separate transparente Ebenen für Text, Motiv und Dekoration
Tutorial

Ein Bild mit der Seedream 5.0 Pro Layerize API in bearbeitbare Ebenen zerlegen

Jacey
Jacey
Founder
15. August 2026
9 Min. Lesezeit
Die meiste sogenannte „KI-Bildbearbeitung" bedeutet immer noch, das ganze Bild neu zu generieren und zu hoffen, dass die gelungenen Teile überleben. Seedream 5.0 Pro Layerize macht etwas anderes: Sie übergeben ein fertiges Bild und bekommen dieses Bild zerlegt zurück — ein Basisbild plus separate transparente PNG-Ebenen, jede davon ein Element, das sich einzeln verschieben, skalieren oder ersetzen lässt.
Der kürzeste Weg: POST https://api.evolink.ai/v1/images/generations mit model: "doubao-seedream-5.0-pro-layerize" und genau einer Bild-URL. Zurück kommt eine Task-ID, kein Bild — das Modell arbeitet asynchron und braucht etwa 120 Sekunden. Anschließend GET /v1/tasks/{task_id} abfragen, bis status auf completed steht, und die Ebenen aus result_data auslesen.
Dieser Leitfaden behandelt die Stellen, an denen es leicht schiefgeht: die drei Wege festzulegen, welche Elemente zerlegt werden, warum die Abrechnung pro Ausgabebild die Ebenenanzahl zur entscheidenden Größe macht, und die Eingabebeschränkungen, die strenger sind als bei normaler Generierung.

Was Sie zurückbekommen

Eine Anfrage erzeugt 1 bis 17 Ausgabebilder: ein Basisbild plus bis zu 16 Ebenen.
AusgabeFormatInhalt
Basisbildfolgt output_format (Standard jpeg)Der Hintergrund, hinter allem Abgehobenen rekonstruiert
Ebenen 1–16immer PNG mit Alphakanal, unabhängig von output_formatJe ein Element, überall sonst transparent

Bemerkenswert ist das Basisbild. Wenn Layerize eine Überschrift von einem Poster abhebt, bleibt dort kein Loch — was darunter lag, wird rekonstruiert. Genau das unterscheidet dieses Verfahren von einer Segmentierungsmaske, und deshalb landet die Ausgabe ohne Nacharbeit direkt im Design-Tool.

Die Ebenenanzahl legen Sie nicht fest. Kein Parameter steuert sie; das Zerlegungsergebnis entscheidet. Und es gibt keinen Teilerfolg — schlägt eine einzige Ebene fehl, scheitert die gesamte Anfrage und wird vollständig erstattet.

Drei Wege, Ebenen anzusteuern

Das Feld prompt ist optional, und jeder der drei Wege passt zu einer anderen Aufgabe.
Drei Auswahlmodi der Seedream 5.0 Pro Layerize API: automatische Vollzerlegung, semantische Elementauswahl und exakte Bounding-Box-Auswahl
Drei Auswahlmodi der Seedream 5.0 Pro Layerize API: automatische Vollzerlegung, semantische Elementauswahl und exakte Bounding-Box-Auswahl

1. Prompt weglassen — automatische Vollzerlegung

{
  "model": "doubao-seedream-5.0-pro-layerize",
  "image_urls": ["https://example.com/poster.png"],
  "quality": "auto",
  "output_format": "jpeg"
}

Ohne jeden Prompt findet das Modell alle wesentlichen Elemente selbst — Textblöcke, Motive, Dekoration, Hintergrund — und zerlegt jedes in eine eigene Ebene. Das ist der Hauptzweck des Modells; ein komplexes Poster kommt regelmäßig mit zehn oder mehr Ebenen zurück.

Ein Implementierungsdetail, über das viele stolpern: den Schlüssel ganz weglassen, keinen leeren String senden. "prompt": "" wird stromaufwärts als „der Nutzer hat eine leere Anweisung übergeben" gelesen und verliert damit die automatische Erkennung. Der Request-Body darf den Schlüssel prompt schlicht nicht enthalten.

2. Natürliche Sprache — die gewünschten Elemente benennen

{
  "model": "doubao-seedream-5.0-pro-layerize",
  "prompt": "Trenne den Papagei und den Titeltext heraus",
  "image_urls": ["https://example.com/poster.png"],
  "quality": "2K"
}

Sinnvoll, wenn Sie nur zwei oder drei Elemente brauchen und keine vollständige Zerlegung bezahlen wollen. Die Elemente werden semantisch erkannt, „der Titeltext" genügt also, ohne dass Sie dessen Position kennen müssen.

3. Bbox-Koordinaten — die exakte Region festnageln

{
  "model": "doubao-seedream-5.0-pro-layerize",
  "prompt": "Titeltext<bbox>179 58 809 197</bbox>, 1 Papagei<bbox>330 274 641 991</bbox>",
  "image_urls": ["https://example.com/poster.png"],
  "quality": "1.5K"
}
Das <bbox>-Tag nimmt vier Zahlen in normalisierten 01000-Koordinaten (keine Pixel), geschrieben als links oben rechts unten. Greifen Sie darauf zurück, wenn natürliche Sprache mehrdeutig wird — zwei ähnliche Produkte im selben Bild oder mehrere Textblöcke, bei denen „die Überschrift" beides meinen könnte.
Ein praktisches Vorgehen: erst eine automatische Zerlegung laufen lassen, aus den gefundenen Ebenen die Werte von bounding_box.normalized ablesen und dann mit diesen Koordinaten erneut anfragen, um genau die gewünschte Aufteilung zu erhalten.

Der asynchrone Ablauf

Schritt 1 — Task abgeben

curl -X POST https://api.evolink.ai/v1/images/generations \
  -H "Authorization: Bearer $EVOLINK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedream-5.0-pro-layerize",
    "image_urls": ["https://example.com/poster.png"],
    "quality": "auto"
  }'

Die Antwort ist ein Task-Handle, kein Bild:

{
  "id": "task-unified-1757165031-seedream5prolayerize",
  "object": "image.generation.task",
  "model": "doubao-seedream-5.0-pro-layerize",
  "status": "pending",
  "progress": 0,
  "type": "image",
  "task_info": { "can_cancel": true, "estimated_time": 120 },
  "usage": { "billing_rule": "per_call", "credits_reserved": 39.168 }
}
Beachten Sie credits_reserved — das ist eine vorab reservierte Schätzung, bemessen auf den ungünstigsten Fall. Abgerechnet wird nach den Bildern, die tatsächlich zurückkommen.

Schritt 2 — bis zum Abschluss abfragen

curl https://api.evolink.ai/v1/tasks/task-unified-1757165031-seedream5prolayerize \
  -H "Authorization: Bearer $EVOLINK_API_KEY"
status durchläuft pendingprocessingcompleted (oder failed). Rechnen Sie mit rund 120 Sekunden; alle 5 Sekunden abzufragen reicht völlig. Wer nicht pollen möchte, übergibt bei der Abgabe eine callback_url — ausschließlich HTTPS, keine internen IPs, ausgelöst nach bestätigter Abrechnung, mit bis zu 3 Wiederholungen nach 1 s / 2 s / 4 s.

Schritt 3 — die Ebenen auslesen

Jeder Eintrag in result_data trägt Metadaten, mit denen sich die Komposition auf jeder Leinwand rekonstruieren lässt:
FeldBedeutung
z_indexStapelreihenfolge. 0 ist das Basisbild, Ebenen beginnen bei 1
bounding_box.absolutePosition im Pixelkoordinatensystem des Basisbilds
bounding_box.normalizedDasselbe Rechteck in 01000-Koordinaten
nameVom Modell erzeugte Bezeichnung, z. B. „scharlachroter Ara"
descriptionAusführlichere Beschreibung des Elements
Das Basisbild trägt nur z_index: 0 — ohne name und bounding_box. Nach z_index sortieren und jede Ebene an ihrem absolute-Rechteck einsetzen reproduziert das Original exakt.
Speichern Sie die Dateien zügig: Die erzeugten Bildlinks verfallen nach 24 Stunden.

Die Eingabebeschränkungen sind strenger als bei normaler Generierung

Hier scheitern mehr Anfragen als irgendwo sonst im Ablauf, denn Layerize akzeptiert nicht alles, was die normale Seedream-Generierung annimmt.

BeschränkungWert
Anzahl BilderGenau 1. Keines oder zwei und mehr ergeben einen Fehler
Formatenur .png, .jpeg, .jpgwebp wird abgelehnt
Dateigrößehöchstens 30 MB
Gesamtpixelinsgesamt 262.144 bis 36.000.000 — 512×512 ist das kleinste Quadrat, das genügt
Seitenverhältniszwischen 1:16 und 16:1
URLmuss vom Server direkt abrufbar sein oder einen direkten Download auslösen
Zwei Punkte erwischen Anwender immer wieder. webp ist bei normaler Generierung in Ordnung und wird hier abgelehnt — wenn Ihre Pipeline webp ablegt, konvertieren Sie vor dem Aufruf. Und die Untergrenze von 262.144 Pixeln liegt höher als bei normaler Generierung, Thumbnails scheitern also.
Auch quality ist enger gefasst: Der Ebenenmodus akzeptiert ausschließlich Stufen (auto, 1K, 1.5K, 2K). Ein Seitenverhältnis wie 16:9 oder explizite Pixelmaße wie 2048x2048 führen zu einem Fehler. Bei auto folgt die Ausgabe der Eingabe — unverändert, wenn das Original zwischen 921.600 und 4.624.220 Pixeln liegt, hochgesetzt auf 1K darunter, gedeckelt auf 2K darüber.

Abrechnung: Ausgabebilder zählen, nicht Anfragen

Das überrascht die meisten bei der ersten Rechnung. Jedes Ausgabebild wird nach seiner eigenen Pixelzahl eingestuft — nicht nach der Größe des Basisbilds und nicht pro Anfrage.

Auf EvoLink läuft Layerize 20 % unter dem BytePlus-Listenpreis:

PositionBytePlus-ListeEvoLink
Eingabebild0,003 $0,0024 $
Ausgabebild, niedrige Stufe (≤ 2.610.000 px)0,0225 $0,018 $
Ausgabebild, hohe Stufe (> 2.610.000 px)0,045 $0,036 $
1K und 1.5K kosten gleich viel — beide fallen in die niedrige Stufe. Die Stufe wird pro Bild bestimmt, ein 2K-Basisbild wird also hoch abgerechnet, während die kleinen davon abgehobenen Textebenen niedrig eingestuft werden.

Zwei durchgerechnete Beispiele:

Eine einfache 1K-Zerlegung in drei Ebenen: 1 Eingabebild (0,0024 $) + 1 Basisbild (0,018 $) + 3 Ebenen (0,054 $) = 0,0744 $
Ein 2K-Poster, das in 8 kleine Textebenen zerfällt: 1 Eingabebild (0,0024 $) + 1 Basisbild hohe Stufe (0,036 $) + 8 Ebenen niedrige Stufe (0,144 $) = 0,1824 $
Die Lehre daraus: Die Ebenenanzahl treibt die Kosten stärker als die Auflösung. Acht kleine Textebenen kosten das Vierfache des 2K-Basisbilds. Wenn Sie nur Produkt und Überschrift brauchen, sagen Sie das im Prompt, statt eine vollständige automatische Zerlegung laufen zu lassen — von zehn auf zwei Elemente zu reduzieren ist eine echte Ersparnis, keine Detailoptimierung.

Vier Stolperfallen

  1. "prompt": "" senden, statt den Schlüssel wegzulassen. Das killt die automatische Erkennung — die stärkste Eigenschaft des Modells.
  2. Erwarten, dass output_format: "png" die Ebenen beeinflusst. Es steuert nur das Basisbild. Ebenen sind immer PNG mit Alphakanal.
  3. Einen Fehlschlag als Teilerfolg behandeln. Es gibt keinen Teilerfolg. Scheitert eine Ebene, scheitert alles und wird vollständig erstattet — die Retry-Logik sollte also von „alles oder nichts" ausgehen.
  4. Die Links verfallen lassen. Nach 24 Stunden sind sie weg. Laden Sie im selben Job herunter, in dem Sie pollen.

Häufige Fragen

Wie viele Ebenen bekomme ich?

Zwischen 1 und 16 Ebenen plus das Basisbild, also höchstens 17 Ausgabebilder. Eine bestimmte Anzahl lässt sich nicht anfordern — das Zerlegungsergebnis entscheidet.

Kann ich steuern, welche Elemente zu Ebenen werden?

Ja, auf drei Wegen: den Prompt weglassen für die automatische Vollzerlegung, Elemente in natürlicher Sprache beschreiben, oder sie mit <bbox>-Tags in normalisierten 0–1000-Koordinaten festnageln.

Sind die Ebenen wirklich transparente PNGs?

Ja — jede Ebene ist ein PNG mit Alphakanal, unabhängig von output_format. Diese Einstellung betrifft nur das Basisbild.

Wie lange dauert ein Aufruf?

Etwa 120 Sekunden. Das ist deutlich langsamer als normale Bildgenerierung, weshalb die API asynchron arbeitet. Wer nicht pollen will, nutzt callback_url.

Was passiert, wenn eine Ebene fehlschlägt?

Die gesamte Anfrage scheitert — einen Teilerfolg gibt es nicht — und wird vollständig erstattet.

Funktioniert das mit jedem Bild?

Es braucht ein PNG oder JPEG mit mindestens 262.144 Gesamtpixeln — etwa 512×512 — unter 30 MB, mit einem Seitenverhältnis zwischen 1:16 und 16:1. webp wird abgelehnt, obwohl die normale Generierung es annimmt.


Zum Ausprobieren im Browser gibt es die Seedream 5.0 Pro Modellseite — das Playground hat einen Layer-Split-Modus mit denselben drei Auswahloptionen. Aktuelle Preise stehen auf der Preisseite, und die Release-Notiz fasst zusammen, was ausgeliefert wurde.

Bereit, Ihre KI-Kosten um 89 % zu senken?

Starten Sie noch heute mit EvoLink und erleben Sie die Vorteile intelligenter API-Routing.