GPT Image 2.5 Flare & Sunburst sont disponibles sur EvoLinkEssayer GPT Image 2.5
Aller au contenu de l’article
Illustration conceptuelle d’un design ivoire séparé en plaques transparentes avec un objet bleu et une touche corail
Tutoriel

Seedream 5.5 : recomposer les calques et modifier le texte

Recomposez les calques PNG de Seedream 5.5 avec leurs rectangles et leur ordre, créez du texte modifiable depuis l’OCR disponible et vérifiez vos variantes.

JessieCOO
11 min de lecture

La décomposition en calques de Seedream 5.5 renvoie une image de fond, des calques PNG transparents et des métadonnées de placement. Pour obtenir un design modifiable, votre application doit redimensionner et positionner chaque calque, conserver l'ordre de superposition et créer des objets texte à partir de l'OCR disponible. Télécharger les PNG n'est que le début.

Ce guide s'adresse aux ingénieurs qui développent des variantes publicitaires, des affiches multilingues ou des outils de création avec EvoLink. Il suit la documentation de la route vérifiée le 13 novembre 2026. Les illustrations utilisent un exemple officiel BytePlus attribué et des schémas explicatifs, pas des résultats de tests de l'API EvoLink. Pour un seul élément détouré réutilisable, consultez le guide du PNG transparent.

Définir ce qui doit rester modifiable

Partez d'une affiche validée et d'un changement précis : déplacer un produit, remplacer un titre ou créer une autre version linguistique. Le livrable dépend de cette modification.

LivrableCe qu'il permet de modifierCe que votre application doit encore faire
Un PNG transparentPosition de l'image entièreComposition et export
Image de fond et calques PNGPosition et visibilité des éléments séparésRedimensionnement, placement, superposition et contrôle
Calques et OCR enrichiTexte reconnu et style approximatifObjets texte natifs, choix des polices, mise en page et sauvegarde
La décomposition n'exporte pas directement un PSD et ne récupère pas le fichier de création d'origine. Plusieurs objets peuvent partager un calque et le texte peut rester une image matricielle. Vérifiez que l'élément à modifier est bien séparé avant de construire votre flux de travail. La section choix du modèle distingue génération classique et Layerize.

Demander les éléments nécessaires

Sur EvoLink, utilisez doubao-seedream-5.5-layerize avec exactement une image PNG ou JPEG accessible. La génération classique accepte d'autres entrées : ne transposez pas sa configuration à plusieurs références dans cette route. Conservez la clé côté serveur.
Pour un premier inventaire, omettez le prompt facultatif et demandez l'OCR avec model_params.text_recognition: true. Pour des éléments précis, utilisez le ciblage en langage naturel ou par bbox documenté, sans supposer que chaque objet visible sera isolé. Même demandé, l'OCR reste facultatif dans la réponse.
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.5-layerize",
    "image_urls": ["YOUR_PUBLIC_IMAGE_URL"],
    "quality": "auto",
    "output_format": "png",
    "n": 30,
    "model_params": {"text_recognition": true}
  }'
Remplacez YOUR_PUBLIC_IMAGE_URL par une URL d'image accessible au serveur. n: 30 est un plafond comprenant l'image de fond, pas une promesse de 30 sorties. EvoLink accepte n de 2 à 100 et peut renvoyer moins d'images. La résolution se règle avec quality: auto, 1K, 1.5K ou 2K, et non avec un ratio comme 16:9.
Conservez l'id de tâche renvoyé, puis interrogez GET /v1/tasks/{task_id} jusqu'à la fin ou traitez l'échec. Lisez le contenu réel de result_data, sans présumer une longueur fixe. Selon la documentation de la route, l'échec d'un calque fait échouer toute la demande, qui est remboursée. Sauvegardez rapidement les fichiers terminés : les liens sont valables 24 heures. Le contrat complet figure dans la documentation de l'API Layerize.

Recomposer les calques PNG de Seedream 5.5

L'image de fond a z_index: 0. Les valeurs supérieures se placent au-dessus. Le placement provient de bounding_box, dont le repère est l'image de fond produite. L'affiche d'entrée et le fichier du calque ne sont pas des repères interchangeables.
Affiche officielle BytePlus, image de fond et composition reconstruite
Affiche officielle BytePlus, image de fond et composition reconstruite
Exemple officiel BytePlus Seedream 5.5 : entrée à gauche, image de fond au centre et composition locale des calques PNG fournis à droite. Les vues sont réduites pour l'affichage. Il s'agit d'une composition de fichiers officiels, pas d'un test de génération EvoLink ni d'une preuve de restitution à l'identique.
Pour [left, top, right, bottom], la largeur affichée vaut right - left et la hauteur bottom - top. Redimensionnez le calque dans ce rectangle, puis placez-le en (left, top). Les deux dernières valeurs ne sont pas une largeur et une hauteur. Ne collez pas systématiquement les fichiers à leurs dimensions natives.
Dans l'exemple officiel, le fichier du calque de présentation mesure 1166×899, mais son rectangle dans l'image de fond est [1142, 528, 1474, 784], soit 332×256 pixels. Les dimensions du fichier ne suffisent donc pas à restituer la mise en page. Cette observation décrit l'exemple publié, sans garantir les dimensions d'autres sorties.
Le manifeste local suivant est un adaptateur applicatif, pas une réponse API. Après téléchargement, transposez l'image de fond ainsi que le fichier, le rectangle et le z_index de chaque calque dans cette structure. Les coordonnées sont illustratives : remplacez-les par vos métadonnées réelles.
La documentation des tâches utilise results pour les URL ; la description Layerize ajoute placement et OCR dans result_data. Sauvegardez la réponse complète, téléchargez les fichiers et établissez une association vérifiable avec les métadonnées avant de créer le manifeste. Identifiez le fond par z_index: 0, pas par un nom supposé. Ne joignez pas les collections par indice sans règle explicite du contrat actuel ; consultez la documentation réelle si le lien est ambigu. Aucune génération EvoLink n’a été exécutée pour ce guide, uniquement une composition locale de fichiers d’exemple.
{
  "base": "base.png",
  "layers": [
    {"file": "layer-1.png", "box": [120, 80, 420, 280], "z": 1}
  ]
}
Installez Pillow avec python -m pip install pillow. Enregistrez le bloc suivant sous reassemble.py, placez layers.json et les images ensemble, puis lancez python reassemble.py layers.json. Le script contrôle la géométrie locale et l'ordre avant d'exporter un aperçu. Il ne recrée pas de texte modifiable et ne certifie pas la qualité du modèle.
import json
import sys
from pathlib import Path
from PIL import Image

manifest = Path(sys.argv[1])
data = json.loads(manifest.read_text())
root = manifest.parent
with Image.open(root / data["base"]) as image:
    canvas = image.convert("RGBA")
width, height = canvas.size
layers = data["layers"]
orders = [item["z"] for item in layers]
if any(type(z) is not int or z <= 0 for z in orders):
    raise ValueError("Layer order must be a positive integer")
if len(set(orders)) != len(orders):
    raise ValueError("Duplicate layer order")
for item in sorted(layers, key=lambda layer: layer["z"]):
    box = item["box"]
    if len(box) != 4 or any(type(v) is not int for v in box):
        raise ValueError("Expected four integer box coordinates")
    left, top, right, bottom = box
    if not (0 <= left < right <= width and 0 <= top < bottom <= height):
        raise ValueError("Box outside the base image or empty")
    with Image.open(root / item["file"]) as image:
        layer = image.convert("RGBA").resize(
            (right - left, bottom - top), Image.Resampling.LANCZOS
        )
    canvas.alpha_composite(layer, dest=(left, top))
canvas.save(root / "reassembled.png")
Arrêtez le traitement pour inspection si un rectangle manque ou n'est pas fiable, si l'ordre est dupliqué ou si les coordonnées sont invalides. Ne placez pas silencieusement le calque à l'origine. Préservez l'alpha pendant le redimensionnement et la composition ; vérifiez halos et structures fines avec les contrôles d'alpha et de contours.

Transformer l'OCR en texte modifiable

Pour les calques de texte régulier, text_recognition peut contenir le texte intégral, lines, leurs bounding_box et des runs stylés. Le guide officiel définit aussi ces rectangles de lignes dans le repère de l'image de fond. N'ajoutez pas une seconde fois le décalage du calque parent.
Utilisez le texte reconnu comme point de départ. Vérifiez son contenu et l'ordre de lecture, associez similar_font_family à une police disponible sous licence et appliquez foreground_color ainsi que les attributs pris en charge par votre éditeur. La police et les attributs sont estimés. Les écritures artistiques ou manuscrites peuvent ne pas avoir d'OCR : prévoyez alors une reconstruction manuelle ou conservez le calque matriciel.

Lorsque vous remplacez un calque texte par des objets natifs, masquez sa version matricielle pour éviter la superposition des anciens et nouveaux caractères. Si un même calque contient plusieurs lignes et que vous n'en remplacez qu'une, masquez ou supprimez uniquement cette ligne en conservant les autres. Vous pouvez aussi recréer tous les textes nécessaires avant de masquer le calque matriciel entier. Sauvegardez les objets texte, les choix de polices et la mise en page dans le document de votre application. Les données OCR seules ne constituent pas un design modifiable enregistré.

Si similar_font_family vaut unknown, choisissez explicitement une police de repli couvrant les glyphes requis et disposant de la licence nécessaire, puis contrôlez la mise en page. Un attribut false signifie que le modèle n’a pas reconnu ce style, pas que l’original en est dépourvu. Ce sont des indices de reconnaissance, pas des attributs exacts du design.

Adapter le design sans le déformer

Schéma du repère de l'image de fond et d'une autre mise en page
Schéma du repère de l'image de fond et d'une autre mise en page
Schéma de coordonnées, pas une sortie du modèle. Une mise à l'échelle uniforme conserve les positions relatives ; un autre ratio exige une décision de mise en page.
À ratio identique, appliquez une échelle commune à toute la composition. Pour les rectangles normalisés, calculez les deux coins avec x = normalized_x × target_width / 1000 et y = normalized_y × target_height / 1000. Pour les rectangles absolus, partez des dimensions réelles de l'image de fond produite. Gardez une méthode cohérente dans tout le flux.

Transformer une affiche carrée en publicité verticale demande davantage qu'une multiplication des coordonnées. Choisissez entre conserver des marges, recadrer ou réorganiser les éléments. Des échelles horizontale et verticale différentes peuvent étirer produits et caractères. Déplacer un objet peut aussi révéler des défauts de fond reconstruit : inspectez la zone découverte sans supposer qu'elle correspond à la scène initialement masquée.

Pour une variante linguistique, remplacez d'abord un titre. Vérifiez les glyphes disponibles, les retours à la ligne, la hauteur du bloc, la hiérarchie visuelle et les chevauchements avec le premier plan. Conservez séparément les états source et modifié pour permettre leur comparaison. Traduction et recomposition relèvent de l'application ; recevoir de l'OCR ne les réalise pas automatiquement.

Contrôler le résultat avant de multiplier les variantes

SymptômePremier contrôleÉtape suivante
Calque trop grand ou mal placéConvention du rectangle, dimensions de base et redimensionnementCorriger la transformation avant une autre requête au modèle
Mauvaise superpositionz_index croissant et visibilité conservéeRétablir l'empilement voulu
Texte dédoublé ou lignes manquantesVisibilité du texte matriciel et périmètre du remplacementGarder une représentation choisie pour chaque ligne
OCR absent ou style inexactTexte régulier et champs OCR réellement présentsReconstruire le texte manuellement ou garder le calque matriciel

Contrôlez la source recomposée avant toute modification, puis le résultat à sa taille de livraison. Vérifiez identité du produit, contours, fond complété, occultations, texte et export final. Un placement correct ne prouve ni une restitution pixel à pixel ni la qualité du design.

Budgétez les images réellement produites. EvoLink documente une réservation pour une entrée plus n sorties au tarif 2K, puis un règlement selon les images générées et leurs paliers de pixels. Un plafond supérieur peut immobiliser plus de solde sans être nécessaire à la modification. Utilisez la section tarifaire existante ; ce guide ne reproduit pas sa grille.
Pour la prochaine tâche, ouvrez Seedream 5.5 Layerize. EvoLink regroupe choix du modèle, clés, solde et tâches asynchrones dans la même intégration ; votre application assure composition, documents modifiables et validation.

Questions fréquentes

Seedream 5.5 renvoie-t-il un PSD ?

La route EvoLink documentée renvoie des images et des métadonnées, pas un PSD natif. Un éditeur ou un exporteur doit créer le document.

n: 30 signifie-t-il 30 calques de premier plan ?

Non. Ce plafond inclut toutes les images de sortie, fond compris. Leur nombre réel peut être inférieur : lisez les éléments retournés.

Faut-il utiliser les dimensions natives du PNG ?

Utilisez son rectangle dans l'image de fond. Le fichier peut être plus grand ; redimensionnez-le avant la composition.

Peut-on recomposer avec des coordonnées normalisées ?

Oui, convertissez chaque coin de l'intervalle 0–1000 vers les dimensions du canevas cible. Un autre ratio demande toujours un choix explicite entre adaptation, recadrage et réorganisation.

Chaque calque texte contient-il de l'OCR ?

Non. Demandez la reconnaissance, puis vérifiez la présence de text_recognition. Les textes réguliers sont pris en charge ; les écritures stylisées ou manuscrites peuvent nécessiter une intervention manuelle.

L'OCR identifie-t-il exactement la police d'origine ?

Non. similar_font_family est une approximation, pas une preuve d'identité ou de licence. Choisissez une police disponible et contrôlez le résultat.

Faut-il régénérer des calques mal alignés ?

Vérifiez d'abord ordre, interprétation des rectangles et échelle. Ces erreurs de composition peuvent être corrigées localement. Un contenu visuel manquant ou inutilisable peut nécessiter une retouche ou une nouvelle décomposition.

Non. Ils expliquent le flux documenté à partir d'un exemple officiel et d'opérations locales. Ils ne mesurent ni taux de réussite API, ni fidélité de reconstruction, ni vitesse.

Sources

Intégrez des modèles d’IA via une API unifiée

Comparez les modèles et les tarifs actuels, puis suivez la documentation API pour intégrer le modèle adapté à votre usage.