Introduction
Seedream 5.0 Pro Layer Decomposition sépare une image terminée en une image de fond et jusqu’à seize calques PNG transparents. Chaque calque vient avec un cadre de position et un nom : vous pouvez ainsi reconstituer la composition d’origine ou la réorganiser sur un canevas.
Développé par ByteDance (ID de modèle dola-seedream-5-0-pro-260628). Utilisez-le quand les calques doivent revenir exactement là où ils étaient.
Choisir un mode selon le matériau de départ
| Matériau de départ | Mode |
|---|---|
| Une image terminée dont il vous faut les éléments séparés | Seedream 5.0 Pro Séparation en calques |
| Une direction artistique ou un brief de design écrit | Seedream 5.0 Pro Texte vers image |
| Une image source validée à retravailler | Seedream 5.0 Pro Retouche d’image |
| La même séparation, elle aussi avec noms et cadres de position, à un prix par image plus bas | Seedream 5.0 Flash Séparation en calques |
Pro ou Flash pour les calques
Les deux paliers renvoient boundingBox et name pour chaque calque. Sur la même affiche de film, sans prompt, Pro a renvoyé neuf images et Flash huit. Les différences sont le prix et une limite de contenu. Pro coûte $0.042 par image produite en 1K et 1.5K et $0.084 en 2K ; Flash coûte $0.026 à tous les paliers. Pro refuse les images sources de niveau Très fort, tandis que Flash a décomposé le même type d'image en ses figures. Aucun des deux n’a été systématiquement plus rapide dans nos essais.
Fonctionnalités et points forts
Cadres de position et noms
Chaque calque renvoie boundingBox sous la forme [x1, y1, x2, y2] en pixels de l’image de fond et un name comme « Woman in red trench coat ». Dans notre essai sur l’affiche, en superposant les calques à leurs cadres, on retrouvait l’affiche d’origine. Le PNG d’un calque est souvent plus grand que le cadre qu’il occupe (un cadre de 671 par 139 est venu avec un PNG de 1233 par 256) : redimensionnez-le dans le cadre au moment de le replacer.
Une image de fond propre
Les éléments séparés sont retirés et l’arrière-plan est complété. En séparant la publicité de parfum, il est resté une surface de marbre noir vide là où se trouvaient le flacon, le ruban et le lettrage.
Pilotez avec des mots ou des coordonnées
Nommez les éléments, ou précisez-les avec des coordonnées <bbox>. Sans prompt, le modèle choisit lui-même les éléments principaux.
Calques PNG transparents
Les calques sont toujours des PNG transparents, quel que soit le output_format choisi. Ce réglage ne change que l’image de fond.
Paramètres de requête
| Paramètre | Obligatoire | Description |
|---|---|---|
image_url | Oui | Une image à séparer : png, jpeg, webp, bmp, tiff ou gif, 30 Mo au plus, de 262 144 à 36 000 000 de pixels au total, format compris entre 1:16 et 16:1. 1 caractères minimum |
prompt | Non | Facultatif, de n’importe quelle longueur. Laissez-le vide et le modèle choisit lui-même les éléments principaux ; nommez des éléments et il sépare ceux-là. 1 caractères minimum · 5000 caractères maximum |
resolution | Non | auto, 1k, 1.5k ou 2k. L’image de fond garde le format de l’entrée et chaque calque garde les proportions de son élément. |
output_format | Non | jpeg ou png pour l’image de fond uniquement. Les calques sont toujours des PNG transparents, quel que soit votre choix. |
Tarification
| Spécification | Prix |
|---|---|
| $0.042 / image |
| $0.042 / image |
| $0.084 / image |
| $0.084 / image |
Cas d’utilisation
Changer le texte d’une affiche
Sortez le calque du titre, remplacez-le ou restylez-le, puis remettez tout en pile aux cadres renvoyés.
Changer le fond d’un produit
Détachez le produit et son lettrage d’une publicité, gardez l’image de fond ou remplacez-la, et recomposez pour une nouvelle campagne.
Préparer des éléments de parallaxe ou d’animation
Transformez une illustration en calques ordonnés aux positions connues, prêts pour un mouvement de profondeur ou un rig.
Isoler une personne d’une scène
Demandez la personne seule et obtenez un calque transparent plus la scène sans elle.
Guide de prompt et conseils pratiques
Nommez les éléments voulus
Pour une affiche, listez-les en mots simples : « Separate the diner building, the tagline, the LATE SHIFT title, the woman in the red trench coat and the ADMIT ONE ticket stub. » Cet essai a renvoyé six images : l’image de fond et exactement ces cinq calques.
Entourer un élément avec un cadre englobant
Ajoutez <bbox>x1 y1 x2 y2</bbox> après le nom de l’élément. Les coordonnées sont normalisées de 0 à 1000 depuis le coin supérieur gauche : elles ne dépendent donc pas de la taille en pixels de l’image.
Separate the title text <bbox>179 58 809 197</bbox> and the parrot <bbox>330 274 641 991</bbox> into independent layers
Choisir une résolution
1k et 1.5k coûtent le même prix par image produite ; 2k et auto sont facturés au tarif 2K, car auto peut produire une sortie en 2K. Utilisez 1k ou 1.5k quand il ne vous faut qu’une séparation de travail.
Prévoir la réserve
Une requête réserve le coût de 17 images et rembourse la différence quand le nombre réel de calques est connu. Les résultats typiques comptent quelques images.
Limites de contenu
Seedream 5.0 Pro · Layer Decomposition. SpicyAPI n’ajoute aucun filtre de contenu côté plateforme sur ce point de terminaison. Les restrictions du modèle s’appliquent toujours et les résultats ne sont pas garantis. Lors de nos tests, il a découpé toutes les images sources non filtrées que nous avons essayées, sauf celles de niveau Très fort, que le modèle a refusées sans facturation. Vous êtes responsable du respect de notre politique de contenu.
Démarrage rapide de l’API
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "bytedance/seedream-5.0-pro/layer-decomposition",
"input": {
"image_url": "https://example.com/reference.png",
"output_format": "jpeg",
"resolution": "1.5k"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
La référence API détaille l’authentification, le schéma complet, le polling et la gestion des erreurs.











