Claude Opus 5.5 è disponibile su SeedRouter

Seedream 5.0 Pro: separazione in livelli, risultati e ricostruzione

Separazione in livelli con Seedream 5.0 Pro via API: immagine di fondo, PNG trasparenti, ricostruzione e fatturazione, con il codice usato nei test.

Leggi in Markdown

La separazione in livelli di Seedream 5.0 Pro prende un’immagine finita e restituisce un’immagine di fondo più un massimo di 16 livelli PNG trasparenti, ciascuno con nome, descrizione, ordine di sovrapposizione e riquadro di delimitazione.[1] Nell’API si attiva con layer_decomposition nella normale richiesta di immagini. Invia un’immagine e ne ricevi le parti.

L’abbiamo eseguita due volte su SeedRouter, l’1 e il 2 novembre 2026, su due poster che avevamo generato noi. In breve: la scomposizione è pulita sui progetti di grafica piatta, i file dei livelli non hanno le dimensioni che occupano sulla tela e la filigrana predefinita finisce sparsa sull’immagine ricostruita se la lasci attiva. Qui sotto trovi numeri e codice. I parametri sono nella documentazione API di Seedream 5.0 Pro; il Playground è sulla pagina del modello.

Cosa ha restituito una richiesta

L’immagine di prova era un poster jazz da 1248 × 1872: un titolo con grazie, una luna color corallo, un sassofonista ritagliato da onde di carta, una fascia di onde in basso e una riga con i dettagli dell’evento. L’abbiamo inviata con size: "1.5K", senza prompt e con la filigrana disattivata. L’attività si è conclusa in 108 secondi e ha restituito sei immagini: l’immagine di fondo e cinque livelli.

Il poster jazz e i cinque livelli trasparenti restituiti da Seedream 5.0 Pro: onde, luna, sassofonista, titolo e riga dell’evento

z_indexname (come restituito)Riquadro sull’immagine di fondoFile PNG
0immagine di fondointera tela1248 × 1872 JPEG
1Wave paper-cut decoration1091 × 3751650 × 568
2Orange circular sun decoration415 × 4181112 × 1121
3Saxophone player main figure742 × 9271016 × 1270
4Top main title text1089 × 2791815 × 465
5Bottom event description text831 × 362214 × 96

Due cose ci hanno sorpreso in positivo. L’immagine di fondo è tornata come carta vuota, con ogni elemento rimosso e la trama ricostruita dove prima si trovavano gli elementi. E il livello della luna (che il modello ha chiamato sole) è un cerchio completo, compresa la parte coperta dal sassofono nell’originale. Puoi spostare il musicista di lato senza lasciare un buco dietro di lui.

La prima prova era più complessa: una pubblicità da 1024 × 1536 per un bollitore da caffè filtro, inviata a 1K senza prompt. Ha richiesto 140 secondi e ha restituito un’immagine di fondo più 13 livelli. Il modello ha separato il bollitore, la tazza, il piattino, la ciotola di chicchi, i chicchi sparsi, la pianta, ciascuna delle tre icone delle caratteristiche e quattro blocchi di testo. Il campo description è stato più utile del previsto. Per la pianta diceva: "Blurred green plant leaves in the top right corner. Extract the entire foliage, exclude the surrounding wall background." (Foglie verdi sfocate di una pianta nell’angolo in alto a destra. Estrai tutto il fogliame, escludendo lo sfondo del muro circostante.)

Un limite da conoscere prima di pianificare una modifica: i livelli di testo sono immagini di testo. Il livello del titolo è un PNG delle lettere, non un font con cui riscriverle. Per cambiare le parole serve comunque generare una nuova grafica per quel livello.

I file PNG sono più grandi dei loro riquadri

Guarda di nuovo le ultime due colonne della tabella. Ogni file di livello è più grande dell’area che copre sull’immagine di fondo, ogni volta con un fattore diverso: 1,37× per il musicista, 1,51× per le onde, 1,67× per il titolo, 2,66× per la riga dell’evento e 2,68× per la luna. Le proporzioni corrispondono a quelle del riquadro con uno scarto di circa l’uno per cento, quindi non ci sono distorsioni, ma un livello incollato alle sue dimensioni native sarà troppo grande.

La documentazione ufficiale dice che ogni livello viene prodotto a «una risoluzione vicina a quella specificata da size» e mantiene le proporzioni della propria area.[1] I nostri non erano vicini a 1.5K: con quell’impostazione, i cinque file andavano da 0,21 a 1,29 milioni di pixel. In pratica, fidati delle dimensioni del riquadro, non del file.

Quale riquadro di delimitazione devo usare?

Ogni livello contiene due versioni dello stesso riquadro.[1] bounding_box.absolute è [left, top, right, bottom] in pixel dell’immagine di fondo restituita. bounding_box.normalized è lo stesso riquadro in millesimi della larghezza e dell’altezza dell’immagine di fondo, per esempio [198, 260, 792, 754] per il sassofonista. Usa absolute per ricostruire sull’immagine di fondo restituita e normalized per posizionare i livelli su una tela di qualsiasi altra dimensione.

Ricostruire il poster dai livelli

Ordina le immagini per z_index, parti dall’immagine di fondo, ridimensiona ogni livello al suo riquadro assoluto e incollalo con il suo canale alfa. Questo è lo script che abbiamo eseguito sull’attività completata:

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")

Il poster jazz originale a sinistra e la versione ricostruita dai suoi livelli Seedream 5.0 Pro a destra

La ricostruzione a destra è simile all’originale a sinistra. Misurata pixel per pixel, la differenza media è di circa 7–9 valori su 255 per canale colore e solo il 2,8% dei pixel differisce di oltre 32 valori. Questi pixel si trovano sui contorni degli elementi. L’ombra morbida che ogni forma di carta proiettava sul fondo è scomparsa. Non apparteneva a nessun livello ed è stata cancellata dall’immagine di fondo. Se l’aspetto dipende dalle ombre, aggiungile di nuovo nel tuo editor.

Disattiva la filigrana prima della scomposizione in livelli

Il campo watermark è impostato su true per default e aggiunge una piccola scritta "AI generated" nell’angolo in basso a destra.[1] Su un’immagine normale significa una scritta in un angolo. Nella prima prova l’avevamo lasciata attiva. L’immagine di fondo è tornata con la scritta nel suo angolo, e anche sette dei 13 livelli avevano una propria scritta, ciascuna nell’angolo in basso a destra del rispettivo PNG, sospesa su pixel trasparenti. I sei livelli senza scritta erano le icone piccole e i blocchi di testo meno alti.

Il poster del bollitore ricostruito dai suoi livelli Seedream 5.0 Pro, con la scritta "AI generated" del livello della pianta segnalata sul muro e ingrandita

Quando abbiamo ricostruito quel poster, la scritta del livello della pianta è finita sul muro, a metà del bordo destro, ben lontana da un angolo. Anche gli altri livelli con la scritta l’hanno collocata all’interno dell’immagine, rimpicciolita insieme al livello. Invia "watermark": false con la scomposizione in livelli, a meno che tu non voglia ripulire ogni livello.

Inviare la richiesta e capire quanto costa

La scomposizione in livelli usa lo stesso endpoint della generazione. Questa è la richiesta che consigliamo per un poster:

{
  "model": "seedream-5-0-pro",
  "image": "https://example.com/poster.png",
  "layer_decomposition": true,
  "size": "1.5K",
  "watermark": false
}

L’input deve essere esattamente un PNG o JPEG, con proporzioni tra 1:16 e 16:1, fino a 30 MB e un numero totale di pixel compreso tra 262.144 (512 × 512) e 36.000.000 (6000 × 6000).[1] output_format si applica solo all’immagine di fondo. I livelli sono sempre PNG.[1] Se un livello fallisce, fallisce l’intera richiesta; non viene restituito un risultato parziale.[1]

Come viene fatturata la scomposizione in livelli?

Su SeedRouter conta ogni immagine restituita: l’immagine di fondo e ciascun livello. La richiesta applica un’unica fascia tariffaria a tutte. Rimane nella fascia inferiore solo se ogni immagine restituita non supera 2,61 milioni di pixel; basta un’immagine più grande per portare tutta la richiesta nella fascia superiore. Quando l’attività viene accettata riserviamo il costo di 17 immagini, il massimo che una scomposizione può restituire, e addebitiamo solo quelle ricevute. Le nostre due prove hanno restituito 14 e 6 immagini e sono rimaste entrambe nella fascia inferiore. Una scomposizione fallita non viene addebitata.

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.

ScenarioUSD 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.

Conviene usare size auto?

auto è l’impostazione predefinita e mantiene l’immagine di fondo e ogni livello vicini alle dimensioni originali in pixel: ciò che è più piccolo di 1K viene restituito a 1K, ciò che è più grande di 2K a 2K.[1] È utile quando vuoi che ogni parte resti vicina alle sue dimensioni originali. È anche un modo facile per finire nella fascia superiore, perché basta un livello grande o un’immagine di fondo grande. Anche la nostra prenotazione dell’importo considera auto come fascia superiore. Per poster e grafiche social invieremmo 1.5K, che costa quanto 1K.

Posso scegliere quali parti separare?

Sì. Il prompt è facoltativo per la scomposizione in livelli. Senza, il modello individua da solo gli elementi principali; con un prompt, separa ciò che chiedi.[1] Chiedere più livelli del limite può farne omettere alcuni.[1] Entrambe le nostre prove erano senza prompt e le scelte automatiche erano sensate: il modello non ha unito le tre icone e ha tenuto separati i chicchi sparsi dalla ciotola.

Quando vale la pena usare la scomposizione in livelli

Sui lavori di grafica piatta, la scomposizione in livelli fa risparmiare davvero tempo. Entrambi i poster sono tornati in parti che potevamo subito riorganizzare, con le aree nascoste già ricostruite. Aspettati tempi più lunghi rispetto alla semplice generazione. Le nostre scomposizioni hanno richiesto 108 e 140 secondi; le generazioni a 1K da 35 a 55 secondi.

Funziona meno bene quando il valore sta in ciò che non appartiene a nessun livello: ombre proiettate e testo che vuoi modificare come testo. Non l’abbiamo ancora provata su una fotografia con ampia profondità di campo e soggetti sovrapposti, quindi non possiamo dire come la gestisca.

Riferimenti

  1. ByteDance. Image generation API (documentazione ModelArk). Consultato il 2 novembre 2026 su docs.byteplus.com.

Guide correlate