curl --request POST \
--url https://api.evolink.ai/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "doubao-seedream-5.5-layerize",
"image_urls": [
"https://example.com/poster.png"
],
"quality": "auto",
"output_format": "png",
"n": 30,
"model_params": {
"text_recognition": true
}
}
'
{
"created": 1757165031,
"id": "task-unified-1793612934-seedream55layerize",
"model": "doubao-seedream-5.5-layerize",
"object": "image.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": true,
"estimated_time": 150
},
"type": "image",
"usage": {
"billing_rule": "per_image",
"credits_reserved": 55.624,
"user_group": "default"
}
}{
"error": {
"code": "invalid_request",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: doubao-seedream-5.5-layerize",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}Seedream 5.5
Seedream 5.5 décomposition en calques
- Seedream 5.5 Décomposition en calques (doubao-seedream-5.5-layerize) sépare une image en une image de fond et plusieurs calques indépendants
- Fournissez
1image d’entrée.promptest facultatif ; s’il est omis, le modèle identifie et sépare automatiquement les principaux éléments - Utilisez
npour limiter le nombre d’images produites etmodel_params.text_recognitionpour activer la reconnaissance de texte - Traitement asynchrone : utilisez l’ID de tâche retourné pour consulter son état
- Les liens d’image générés sont valides pendant 24 heures, veuillez les enregistrer rapidement
Détails de sortie
output_formatdéfinit le format de l’image de fond. Les calques indépendants sont toujours des PNG avec canal alpha- Chaque image de
result_datacomprendz_index(ordre d’empilement :0pour l’image de fond, à partir de1pour les calques) etbackground(opaquepour l’image de fond,transparentpour les calques). Les calques comprennent aussibounding_box(absoluteutilise les coordonnées en pixels de l’image de fond ;normalizedva de0à1000),nameetdescription - Si un calque échoue, toute la tâche échoue avec remboursement intégral. Aucun résultat partiel n’est renvoyé
Facturation
- L’image de fond et chaque calque sont facturés individuellement. L’image d’entrée est facturée séparément
- À la création de la tâche, des crédits sont réservés pour
1image d’entrée et jusqu’ànimages de sortie. À la fin, le montant est ajusté au nombre réel d’images produites et les crédits inutilisés sont automatiquement restitués
POST
/
v1
/
images
/
generations
curl --request POST \
--url https://api.evolink.ai/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "doubao-seedream-5.5-layerize",
"image_urls": [
"https://example.com/poster.png"
],
"quality": "auto",
"output_format": "png",
"n": 30,
"model_params": {
"text_recognition": true
}
}
'
{
"created": 1757165031,
"id": "task-unified-1793612934-seedream55layerize",
"model": "doubao-seedream-5.5-layerize",
"object": "image.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": true,
"estimated_time": 150
},
"type": "image",
"usage": {
"billing_rule": "per_image",
"credits_reserved": 55.624,
"user_group": "default"
}
}{
"error": {
"code": "invalid_request",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: doubao-seedream-5.5-layerize",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}Autorisations
##Toutes les API nécessitent une authentification Bearer Token##
Obtenir une clé API :
Visitez la Page de gestion des clés API pour obtenir votre clé API
Ajouter à l'en-tête de requête :
Authorization: Bearer YOUR_API_KEY
Corps
application/json
URL de l'image à décomposer (obligatoire)
Remarque :
- Exactement
1image est requise ; l'omettre ou en transmettre2ou plus renvoie une erreur - Formats pris en charge :
.png,.jpeg,.jpg(plus strict que la génération classique : webp et autres sont rejetés) - Taille d'image : pas plus de
30MB - Total de pixels :
[262144, 6000×6000], soit au moins512×512(borne inférieure plus élevée que pour la génération classique) - Rapport d'aspect (largeur/hauteur) :
[1/16, 16] - L'URL de l'image doit être directement consultable par le serveur, ou déclencher un téléchargement direct lors de l'accès (ces URL se terminent généralement par une extension de fichier image, telle que
.pngou.jpg) - L’image d’entrée est facturée séparément
Required array length:
1 elementExemple:
["https://example.com/poster.png"]
Éléments à extraire (facultatif)
Trois façons de l'utiliser :
- L'omettre : le modèle détecte tous les éléments principaux de l'image et les sépare un par un
- Langage naturel : par ex.
Extraire le perroquet et le texte du titre; les éléments sont identifiés sémantiquement et transformés en calques - Coordonnées exactes : utiliser des balises
<bbox>pour préciser la position, par ex.texte du titre<bbox>179 58 809 197</bbox>; les coordonnées normalisées (0~1000) sont recommandées
Exemple:
"Extraire le perroquet et le texte du titre"
Nombre maximal d’images produites, image de fond comprise. Valeur par défaut : 30.
Détails :
- Plage autorisée : de
2à100. Les valeurs hors de cette plage renvoient400sans facturation - La décomposition s’arrête à cette limite ; les éléments restants peuvent être fusionnés ou omis. Une valeur plus élevée permet une séparation plus fine
- Une valeur de
nplus élevée réserve davantage de crédits. À la fin, le montant est ajusté au nombre réel d’images produites et les crédits inutilisés sont automatiquement restitués
Plage requise:
2 <= x <= 100Exemple:
30
Résolution de sortie. Valeur par défaut : auto.
Options : auto, 1K, 1.5K, 2K
Remarques :
- Seules les options de résolution ci-dessus sont acceptées. Un ratio (comme
16:9) ou des dimensions en pixels (comme2048x2048) renvoient une erreur autoaligne la sortie sur l'image d'entrée : si la taille d'origine se situe dans[921600, 4624220]pixels, elle est conservée ; en dessous de 1K la sortie est en 1K, au-dessus de 2K elle est en 2K- Chaque calque conserve son propre rapport d'aspect issu de l'image d'origine, et l'image de fond conserve celui de l'entrée
Options disponibles:
auto, 1K, 1.5K, 2K Exemple:
"auto"
Adresse de rappel HTTPS après l'achèvement de la tâche
Moment du rappel :
- Déclenché lorsque la tâche est terminée, échouée ou annulée
- Envoyé après confirmation de la facturation
Restrictions de sécurité :
- Seul le protocole HTTPS est pris en charge
- Les rappels vers les adresses IP internes sont interdits (127.0.0.1, 10.x.x.x, 172.16-31.x.x, 192.168.x.x, etc.)
- La longueur de l'URL ne doit pas dépasser
2048caractères
Mécanisme de rappel :
- Délai d'expiration :
10secondes - Maximum
3tentatives en cas d'échec (tentatives après1seconde/2secondes/4secondes) - Le format du corps de réponse du rappel est cohérent avec le format de réponse de l'API de requête de tâche
- Un code de statut 2xx renvoyé par l'adresse de rappel est considéré comme un succès, les autres codes de statut déclenchent une nouvelle tentative
Exemple:
"https://your-domain.com/webhooks/image-task-completed"
Réponse
Tâche de génération d'image créée avec succès