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 separación en capas
- Seedream 5.5 Descomposición en capas (doubao-seedream-5.5-layerize) separa una imagen en una imagen base y varias capas independientes
- Proporciona
1imagen de entrada.promptes opcional; si se omite, el modelo identifica y separa automáticamente los elementos principales - Usa
npara limitar el número de imágenes de salida ymodel_params.text_recognitionpara activar el reconocimiento de texto - Procesamiento asíncrono: usa el ID de tarea devuelto para consultar su estado
- Los enlaces de imágenes generadas son válidos por 24 horas, guárdalos oportunamente
Detalles de salida
output_formatdetermina el formato de la imagen base. Las capas independientes siempre son PNG con canal alfa- Cada imagen de
result_dataincluyez_index(orden de apilado:0para la imagen base, desde1para las capas) ybackground(opaquepara la imagen base,transparentpara las capas). Las capas también incluyenbounding_box(absoluteusa coordenadas de píxel del sistema de la imagen base;normalizedva de0a1000),nameydescription - Si falla una capa, falla toda la tarea y se reembolsa el importe completo. No se devuelven resultados parciales
Facturación
- La imagen base y cada capa se cobran individualmente. La imagen de entrada se cobra por separado
- Al crear la tarea se reservan créditos para
1imagen de entrada y hastanimágenes de salida. Al finalizar, se liquida el importe según el número real de imágenes de salida y los créditos no utilizados se devuelven automáticamente
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"
}
}Autorizaciones
##Todas las APIs requieren autenticación Bearer Token##
Obtener API Key:
Visita la Página de gestión de API Key para obtener tu API Key
Agregar al encabezado de la solicitud:
Authorization: Bearer YOUR_API_KEY
Cuerpo
application/json
URL de la imagen que se va a separar (obligatorio)
Nota:
- Se requiere exactamente
1imagen; omitirla o enviar2o más devuelve un error - Formatos admitidos:
.png,.jpeg,.jpg(más estricto que la generación normal: webp y otros se rechazan) - Tamaño de imagen: no más de
30MB - Total de píxeles:
[262144, 6000×6000], es decir, al menos512×512(límite inferior más alto que en la generación normal) - Relación de aspecto (ancho/alto):
[1/16, 16] - La URL de la imagen debe ser directamente visible por el servidor, o debe activar la descarga directa al acceder (normalmente estas URLs terminan con una extensión de archivo de imagen, como
.pngo.jpg) - La imagen de entrada se cobra por separado
Required array length:
1 elementEjemplo:
["https://example.com/poster.png"]
Qué elementos separar (opcional)
Tres formas de usarlo:
- Omitirlo: el modelo detecta todos los elementos principales de la imagen y los separa uno a uno
- Lenguaje natural: p. ej.
Separa el loro y el texto del título; los elementos se identifican semánticamente y se convierten en capas - Coordenadas exactas: usa etiquetas
<bbox>para fijar la posición, p. ej.texto del título<bbox>179 58 809 197</bbox>; se recomiendan coordenadas normalizadas (0~1000)
Ejemplo:
"Separa el loro y el texto del título"
Número máximo de imágenes de salida, incluida la imagen base. El valor predeterminado es 30.
Detalles:
- Rango permitido: de
2a100. Los valores fuera del rango devuelven400sin cargo - La descomposición termina al alcanzar el límite; los elementos restantes pueden fusionarse u omitirse. Un valor mayor permite una separación más detallada
- Un valor de
nmayor reserva más créditos. Al finalizar, se liquida el importe según el número real de imágenes de salida y los créditos no utilizados se devuelven automáticamente
Rango requerido:
2 <= x <= 100Ejemplo:
30
Resolución de salida. El valor predeterminado es auto.
Opciones: auto, 1K, 1.5K, 2K
Notas:
- Solo se admiten las opciones de resolución indicadas. Enviar una proporción (como
16:9) o dimensiones en píxeles (como2048x2048) devuelve un error autohace que la salida siga a la imagen de entrada: si el tamaño original está dentro de[921600, 4624220]píxeles se mantiene tal cual; por debajo de 1K se emite en 1K y por encima de 2K en 2K- Cada capa conserva su propia proporción de la imagen original y la imagen base conserva la proporción de la entrada
Opciones disponibles:
auto, 1K, 1.5K, 2K Ejemplo:
"auto"
Dirección de callback HTTPS después de completar la tarea
Momento del callback:
- Se activa cuando la tarea se completa, falla o se cancela
- Se envía después de completar la confirmación de facturación
Restricciones de seguridad:
- Solo se admite el protocolo HTTPS
- El callback a direcciones IP internas está prohibido (127.0.0.1, 10.x.x.x, 172.16-31.x.x, 192.168.x.x, etc.)
- La longitud de la URL no debe exceder
2048caracteres
Mecanismo de callback:
- Tiempo de espera:
10segundos - Máximo
3reintentos en caso de fallo (reintentos después de1segundo/2segundos/4segundos) - El formato del cuerpo de respuesta del callback es consistente con el formato de respuesta de la API de consulta de tareas
- La dirección de callback que devuelve un código de estado 2xx se considera exitosa, otros códigos de estado activarán reintentos
Ejemplo:
"https://your-domain.com/webhooks/image-task-completed"
Respuesta
Tarea de generación de imagen creada exitosamente