> ## Documentation Index
> Fetch the complete documentation index at: https://docs.comfy.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Usa Seedream 5.5 261028 con Comfy Router

> Llama a byteplus/seedream-5-5-261028 con Comfy Router: endpoint, forma de la solicitud y respuesta que devuelve Router.

Referencia de la API para `byteplus/seedream-5-5-261028`, servido por Comfy Router desde BytePlus.

**Entrada:** Texto, Imagen · **Salida:** Imagen

## Inicio rápido

Crea una clave en [tu espacio de trabajo de Comfy](https://platform.comfy.org/profile/api-keys?onboarding=router) y expórtala como `COMFY_API_KEY`. Los fragmentos de Python y TypeScript usan los SDK de Comfy (`pip install comfy-sdk` y `npm install @comfyorg/sdk`); el fragmento de cURL es la misma llamada sobre HTTP sin procesar.

**ID del modelo:** `byteplus/seedream-5-5-261028`

**Endpoint:** `POST https://api.comfy.org/v2/models/byteplus/seedream-5-5-261028`

> [tab] Esperar el resultado
>
> ```python Python theme={null}
> from comfy_sdk import Comfy
>
> # Lee COMFY_API_KEY del entorno.
> # El SDK crea automáticamente una clave de idempotencia y la reutiliza para los reintentos automáticos.
> with Comfy() as client:
>     result = client.models.run(
>         "byteplus/seedream-5-5-261028",
>         {
>             "prompt": "A red fox trotting through a snowy pine forest, cinematic lighting",
>             "response_format": "url",
>             "watermark": False,
>         },
>     )
>
> print(result)
> ```
>
> ```typescript TypeScript theme={null}
> import { comfy } from "@comfyorg/sdk";
>
> // Lee COMFY_API_KEY del entorno.
> // El SDK crea automáticamente una clave de idempotencia y la reutiliza para los reintentos automáticos.
> const { data } = await comfy.models.run("byteplus/seedream-5-5-261028", {
>   prompt: "A red fox trotting through a snowy pine forest, cinematic lighting",
>   response_format: "url",
>   watermark: false,
> });
>
> console.log(data);
> ```
>
> ```bash cURL theme={null}
> curl https://api.comfy.org/v2/models/byteplus/seedream-5-5-261028 \
>   -H "X-API-Key: $COMFY_API_KEY" \
>   -H "Idempotency-Key: $(uuidgen)" \
>   -H "Content-Type: application/json" \
>   -d "{\"prompt\": \"A red fox trotting through a snowy pine forest, cinematic lighting\", \"response_format\": \"url\", \"watermark\": false}"
> ```

> [tab] Encolar y recoger más tarde
>
> El mismo cuerpo, enviado a `POST https://api.comfy.org/v2/models/byteplus/seedream-5-5-261028/requests`. Router responde `201` con un `request_id` en cuanto se admite la ejecución, y el resultado se recoge cuando está listo, desde este proceso o desde otro. [Entrega en cola](https://docs.comfy.org/es/development/comfy-router/queue.md) explica el estado, la cancelación y la recogida.
>
> ```python Python theme={null}
> import asyncio
> from comfy_sdk import AsyncComfy
>
> # Lee COMFY_API_KEY del entorno.
> # Cada llamada a submit() genera su propia Idempotency-Key y la reutiliza para los reintentos automáticos.
> async def main():
>     async with AsyncComfy() as client:
>         handle = await client.models.submit(
>             "byteplus/seedream-5-5-261028",
>             {
>                 "prompt": "A red fox trotting through a snowy pine forest, cinematic lighting",
>                 "response_format": "url",
>                 "watermark": False,
>             },
>         )
>         print("request_id:", handle.request_id)  # con el ID del modelo, es todo lo que necesita otro proceso
>
>         # Consulta hasta que la solicitud se complete, esperando el Retry-After que indica el servidor.
>         async for update in handle.iter_events():
>             print(update.status, update.queue_position)
>
>         # La carga propia del proveedor, el mismo valor que devuelve models.run().
>         # Una solicitud fallida o cancelada lanza aquí el error tipado de Router.
>         result = await handle.get()
>
>     print(result)
>
> asyncio.run(main())
> ```
>
> ```typescript TypeScript theme={null}
> import { comfy } from "@comfyorg/sdk";
>
> // Lee COMFY_API_KEY del entorno.
> // Cada llamada a submit() genera su propia Idempotency-Key y la reutiliza para los reintentos automáticos.
> const handle = await comfy.models.submit("byteplus/seedream-5-5-261028", {
>   prompt: "A red fox trotting through a snowy pine forest, cinematic lighting",
>   response_format: "url",
>   watermark: false,
> });
> console.log("requestId:", handle.requestId); // con el ID del modelo, es todo lo que necesita otro proceso
>
> // Consulta hasta que la solicitud se complete, esperando el Retry-After que indica el servidor.
> for await (const update of handle.events()) {
>   console.log(update.status, update.queuePosition);
> }
>
> // El mismo resultado que devuelve models.run(). Una solicitud fallida o cancelada se rechaza aquí.
> const result = await handle.get();
>
> console.log(result.data);
> ```
>
> ```bash cURL theme={null}
> # 1. Envía. Router responde 201 con request_id, status_url, response_url y cancel_url.
> curl https://api.comfy.org/v2/models/byteplus/seedream-5-5-261028/requests \
>   -H "X-API-Key: $COMFY_API_KEY" \
>   -H "Idempotency-Key: $(uuidgen)" \
>   -H "Content-Type: application/json" \
>   -d "{\"prompt\": \"A red fox trotting through a snowy pine forest, cinematic lighting\", \"response_format\": \"url\", \"watermark\": false}"
>
> # 2. Consulta hasta que el estado sea COMPLETED, esperando los segundos de Retry-After que indica cada respuesta.
> REQUEST_ID="<request_id from the 201 body>"
> curl -i https://api.comfy.org/v2/models/byteplus/seedream-5-5-261028/requests/$REQUEST_ID/status \
>   -H "X-API-Key: $COMFY_API_KEY"
>
> # 3. Recoge. 200 con la salida nativa del modelo, 202 con el cuerpo del estado mientras sigue en ejecución.
> curl https://api.comfy.org/v2/models/byteplus/seedream-5-5-261028/requests/$REQUEST_ID \
>   -H "X-API-Key: $COMFY_API_KEY"
> ```

## Esquema

### Entrada

**background** `string`

Controla si la imagen generada tiene un fondo transparente (canal alfa). Es compatible con seedream-5.0-pro, 5.0-flash y los modelos Seedream más recientes cuyo propio esquema lo documenta.
auto: El modelo decide a partir del prompt y de output\_format. Con output\_format jpeg, la salida siempre es opaca.
transparent: Devuelve una imagen RGBA con fondo transparente. Con output\_format jpeg la llamada devuelve un error.
opaque: Devuelve una imagen RGB con fondo opaco. Es el valor predeterminado de seedream-5.0-pro.
seedream-5.0-pro solo admite salida transparente en imagen a imagen, con una única imagen de entrada png que tenga canal alfa.
No se admite en el escenario de separación de capas: si lo envías con layer\_decomposition habilitado, la llamada devuelve un error.

Valores posibles: `auto`, `transparent`, `opaque`

**guidance\_scale** `number`

Controla cuánto se ajusta la imagen de salida al prompt de entrada. Alcance \[1, 10]. Los valores más altos producen un mayor apego al prompt. No es compatible con seedream-5.0-pro, 5.0-lite, 4.5 ni 4.0.

Alcance: `1` a `10`

Formato: `float`

**image** `string | string[]`

La imagen o las imágenes que se van a editar, como una URL accesible o una carga útil Base64 con prefijo data-URI. Idéntico al campo compartido de Seedream salvo por el límite de imágenes de referencia, que en este modelo es 10 en lugar de 14.

**layer\_decomposition** `boolean` (default: false)

Controla si la separación de capas está habilitada. Solo seedream-5.0-pro, 5.0-flash y 5.5 admiten este parámetro.
true: Modo de separación de capas. El modelo descompone la única imagen de entrada en una imagen base más varias capas (hasta 16; hasta 99 en seedream-5.5) y devuelve la información de posición y contenido de cada capa producida, incluidos el orden de apilamiento (`z_index`), la caja delimitadora (`bounding_box`), el nombre (`name`) y la descripción (`description`).
false: Modo estándar de generación de imágenes; no se realiza separación de capas.
Notas sobre el modo de separación de capas: solo se admite una única imagen de entrada (si pasas varias imágenes, la llamada devuelve un error); si alguna capa individual no se genera, falla toda la solicitud, ya que no se admite el éxito parcial; se devuelven como máximo 17 imágenes (1 imagen base + 16 capas). seedream-5.5 devuelve como máximo layer\_decomposition\_options.max\_images imágenes (1 imagen base + hasta 99 capas). sequential\_image\_generation, sequential\_image\_generation\_options, tools y stream devuelven un error si se pasan.

**layer\_decomposition\_options** `object`

Opciones del modo de separación de capas. Solo seedream-5.5 admite este parámetro y solo se aplica cuando layer\_decomposition es true.

**layer\_decomposition\_options.max\_images** `integer` (default: 30)

El número total máximo de imágenes que devuelve esta solicitud, contando la imagen base y las capas. Alcance: \[2, 100]. Cuando el prompt no indica cómo dividir la imagen, el modelo planifica las capas a partir de max\_images y de la complejidad de la imagen de entrada; un valor mayor suele dar capas más finas.

Alcance: `2` a `100`

**model** `string`

Identificador del modelo. Modelos admitidos: seedream-4-0-250828, seedream-4-5-251128, seedream-5-0-260128, seedream-5-0-pro-260628, seedream-5-0-flash-260915 y seedream-5-5-261028. Una llamada v1 directa a POST /proxy/byteplus/api/v3/images/generations DEBE proporcionarlo: el proxy rechaza cualquier otro valor, y también su omisión, con un 400. NO aparece en la lista `required` de este esquema porque Comfy Router lo rellena desde el segmento de ruta `{model}` de /v2/models/byteplus/\{model}, así que quien llama a Router lo omite.

**optimize\_prompt\_options** `object`

Configuración de la función de optimización de prompt. Solo seedream-5.0-pro/5.0-lite/4.5/5.5 (solo admiten el modo estándar; seedream-5.5 devuelve un error con fast) y seedream-4.0 admiten este parámetro.

**optimize\_prompt\_options.mode** `string` (default: "standard")

Define el modo de la función de optimización de prompt. standard = Mayor calidad y más tiempo de generación. fast = Más rápido, pero con una calidad más promedio.

Valores posibles: `standard`, `fast`

**output\_format** `string` (default: "jpeg")

Especifica el formato de la imagen de salida. Solo seedream-5.0-pro, 5.0-flash, 5.0-lite y 5.5 admiten este parámetro. seedream-5.5 usa png de forma predeterminada. En el escenario de separación de capas, output\_format solo controla el formato de la imagen base; todas las capas se devuelven siempre como png.

Valores posibles: `png`, `jpeg`

**prompt** `string`

Descripción de texto para la generación o transformación de la imagen.
Opcional en el escenario de separación de capas (seedream-5.0-pro, 5.0-flash o 5.5 con layer\_decomposition habilitado): si proporcionas un prompt, el modelo reconoce y separa los elementos que indiques según la intención del prompt; si no proporcionas ninguno, el modelo detecta automáticamente todos los elementos principales de la imagen y los separa en capas independientes.

**response\_format** `string` (default: "url")

Especifica el formato de la imagen generada que se devuelve en la respuesta

Valores posibles: `url`, `b64_json`

**seed** `integer` (default: -1)

Semilla aleatoria para controlar la estocasticidad de la generación de imágenes. Alcance: \[-1, 2147483647]. Si no se especifica, se genera una semilla automáticamente. Para reproducir la misma salida, usa el mismo valor de semilla.

Alcance: `-1` a `2147483647`

**sequential\_image\_generation** `string`

Controla si se deshabilita la función de generación por lote. Este parámetro solo se admite en seedream-5.0-lite, 4.5 y 4.0 (no es compatible con seedream-5.0-pro, 5.0-flash ni 5.5). Valores válidos:
auto: En modo automático, el modelo determina automáticamente si devuelve varias imágenes y cuántas imágenes contendrá cada una, según el prompt del usuario.
disabled: Desactiva la función de generación por lote. El modelo solo generará una imagen.

Valores posibles: `auto`, `disabled`

**sequential\_image\_generation\_options** `object`

Solo seedream-5.0-lite, 4.5 y 4.0 admiten este parámetro (no lo admiten seedream-5.0-pro, 5.0-flash ni 5.5).
Configuración de la función de generación de imágenes por lote. Este parámetro solo tiene efecto cuando sequential\_image\_generation está establecido en auto.

**sequential\_image\_generation\_options.max\_images** `integer` (default: 15)

Especifica el número máximo de imágenes a generar en esta solicitud. Número de imágenes de referencia de entrada + Número de imágenes generadas ≤ 15.

Alcance: `1` a `15`

**size** `string`

"seedream-4-0-250828": Establece la especificación de la imagen generada. Hay dos métodos disponibles, pero no se pueden usar juntos.
Método 1 | Especifica la resolución. Valores opcionales: 1K, 2K, 4K
Método 2 | Especifica el ancho y el alto en píxeles. Predeterminado: 2048x2048, píxeles totales: \[1024x1024, 4096x4096], relación de aspecto: \[1/16, 16]
"seedream-4-5-251128": Dos métodos disponibles.
Método 1 | Especifica la resolución. Valores opcionales: 2K, 4K
Método 2 | Especifica el ancho y el alto en píxeles. Predeterminado: 2048x2048, píxeles totales: \[2560x1440, 4096x4096], relación de aspecto: \[1/16, 16]
"seedream-5-0-260128": Dos métodos disponibles.
Método 1 | Especifica la resolución. Valores opcionales: 2K, 3K
Método 2 | Especifica el ancho y el alto en píxeles. Predeterminado: 2048x2048, píxeles totales: \[2560x1440, \~3072x3072], relación de aspecto: \[1/16, 16]
"seedream-5-0-pro-260628": Dos métodos disponibles (no se pueden usar juntos).
Método 1 | Especifica la resolución y describe en el prompt la relación de aspecto, la forma o el propósito de la imagen; el modelo decide el tamaño final. Valores opcionales: 1K, 2K
Método 2 | Especifica el ancho y el alto en píxeles. Predeterminado: 1024x1024, píxeles totales: \[1024x1024 (1048576), 2048x2048 (4194304)], relación de aspecto: \[1/16, 16]
"seedream-5-0-flash-260915": Dos métodos disponibles (no se pueden usar juntos).
Método 1 | Especifica la resolución y describe en el prompt la relación de aspecto, la forma o el propósito de la imagen; el modelo decide el tamaño final. Valores opcionales: 1K, 1.5K, 2K. Predeterminado: 2K
Método 2 | Especifica el ancho y el alto en píxeles. Píxeles totales: \[1280x720 (921600), 2048x2048x1.1025 (4624220)], relación de aspecto: \[1/16, 16]
"seedream-5-5-261028": Dos métodos disponibles (no se pueden usar juntos).
Método 1 | Especifica la resolución. Valores opcionales: 1K, 1.5K, 2K. Predeterminado: 2K
Método 2 | Especifica el ancho y el alto en píxeles. Píxeles totales: \[1280x720 (921600), 2048x2048x1.1025 (4624220)], relación de aspecto: \[1/16, 16]
"seedream-5-0-pro-260628", "seedream-5-0-flash-260915" y "seedream-5-5-261028" con layer\_decomposition habilitado: Solo se admite el método basado en la resolución. Valores opcionales: 1K, 1.5K, 2K, auto. Predeterminado: auto.
La imagen base se genera a la resolución especificada con la relación de aspecto de la imagen de entrada original; cada capa se genera cerca de la resolución especificada, manteniendo la relación de aspecto que tenía en la imagen original.
auto: La salida se basa en el tamaño y la relación de aspecto de la imagen de entrada. Las entradas dentro de \[1280x720, \~2048x2048] se generan con el tamaño original de entrada; las entradas menores de 1K se generan a 1K; las entradas mayores de 2K se generan a 2K.

**stream** `boolean` (default: false)

Comfy Router fija en false un flag stream proporcionado explícitamente porque captura un resultado JSON completo. En el proxy v1, este campo controla si se habilita el modo de salida en streaming. Solo seedream-5.0-lite, 4.5 y 4.0 admiten este parámetro (no lo admiten seedream-5.0-pro, 5.0-flash ni 5.5). false = Todas las imágenes de salida se devuelven a la vez. true = Cada imagen de salida se devuelve inmediatamente después de generarse.

**watermark** `boolean` (default: true)

Especifica si se agrega una marca de agua a la imagen generada. false = Sin marca de agua, true = Agrega una marca de agua con la etiqueta 'AI generated'

Generado a partir del esquema que Router publica en `GET /v2/models/byteplus/seedream-5-5-261028/openapi.json`, el mismo documento contra el que valida una llamada antes de que la solicitud llegue al proveedor.

### Salida

**created** `integer`

Marca de tiempo Unix (en segundos) que indica la hora en que se creó la solicitud

**data** `object[]`

Contiene información sobre las imágenes generadas.
En el escenario de separación de capas, el primer elemento del arreglo es la imagen base (z\_index=0) y los elementos siguientes son las capas, ordenadas por z\_index creciente.

**data\[].b64\_json** `string`

Datos de la imagen codificados en Base64 (si response\_format es "b64\_json")

**data\[].background** `string`

El tipo de fondo que realmente tiene la imagen: transparent u opaque. En el escenario de separación de capas, la imagen base siempre es opaca y cada capa es transparente. Solo seedream-5.5 devuelve este campo.

**data\[].bounding\_box** `object`

La información de la caja delimitadora de la región que ocupa la capa actual dentro de la imagen base. Solo las capas devuelven este campo; la imagen base cubre todo el lienzo y no devuelve bounding\_box. Se devuelve solo cuando layer\_decomposition es true.

**data\[].bounding\_box.absolute** `integer[]`

Las coordenadas absolutas en píxeles de la caja delimitadora de la capa, en el sistema de coordenadas de la imagen base de salida, con la esquina superior izquierda en (0, 0). Formato de coordenadas: \[left, top, right, bottom].

**data\[].bounding\_box.normalized** `integer[]`

Las coordenadas cuantizadas por mil (normalizadas) de la caja delimitadora de la capa, asignadas proporcionalmente a un rango entero discreto de \[0, 1000] según el tamaño de la imagen base y truncadas a un máximo de 1000. Formato de coordenadas: \[left, top, right, bottom].

**data\[].description** `string`

Una descripción detallada del elemento separado actual, que ofrece características de capa más ricas (como color, estado y material) que name. Solo las capas devuelven este campo; la imagen base no lo hace. Se devuelve solo cuando layer\_decomposition es true.

**data\[].name** `string`

El nombre o etiqueta del elemento separado actual, generado automáticamente por el modelo a partir de las características del sujeto separado. Solo las capas devuelven este campo; la imagen base no lo hace. Se devuelve solo cuando layer\_decomposition es true.

**data\[].output\_format** `string`

El formato de archivo de la imagen de salida. Solo seedream-5.0-pro y 5.5 admiten este campo.

**data\[].size** `string`

El ancho y el alto de la imagen en píxeles, en el formato \<width>x\<height>. Solo seedream-5.0-pro, 5.0-lite, 5.5, 4.5 y 4.0 admiten este parámetro.

**data\[].url** `string (uri)`

URL para descargar la imagen (si response\_format es "url")

Formato: `uri`

**data\[].z\_index** `integer`

El orden de apilamiento de la capa, que aumenta de abajo hacia arriba: 0 es la capa más baja (la imagen base) y los valores mayores quedan más arriba. Úsalo para recomponer las capas en la imagen completa con el orden de apilamiento correcto. Se devuelve solo cuando layer\_decomposition es true.

**error** `object`

Información de error (si existe)

**error.code** `string`

Código de error del ModelArk de origen. SensitiveContentDetected, InputTextSensitiveContentDetected, InputImageSensitiveContentDetected, InputVideoSensitiveContentDetected, InputAudioSensitiveContentDetected, OutputTextSensitiveContentDetected, OutputImageSensitiveContentDetected, OutputVideoSensitiveContentDetected y OutputAudioSensitiveContentDetected identifican rechazos por políticas de contenido. Una familia puede tener un motivo separado por punto, como InputImageSensitiveContentDetected.PrivacyInformation, OutputVideoSensitiveContentDetected.PolicyViolation u OutputImageSensitiveContentDetected.DeepFake. Es una cadena abierta, no una enumeración: otros códigos describen fallos de validación y del proveedor. Router reconoce las familias de políticas en las respuestas de error HTTP 400 y en las respuestas HTTP 200 de tareas fallidas, sin sobrescribir los fallos de transporte.

**error.message** `string`

Mensaje de error

**model** `string`

El ID del modelo usado para la solicitud

**usage** `object`

**usage.generated\_images** `integer`

Número de imágenes generadas por el modelo

**usage.input\_images** `integer`

El número de imágenes de entrada al modelo. Solo seedream-5.0-pro y 5.5 admiten este campo.

**usage.output\_tokens** `integer`

El número de tokens usados para la imagen generada por el modelo.

**usage.total\_tokens** `integer`

El número total de tokens consumidos por esta solicitud.

## Ejemplos

### Entrada

```json theme={null}
{
  "prompt": "A red fox trotting through a snowy pine forest, cinematic lighting",
  "response_format": "url",
  "watermark": false
}
```

### Salida

```json theme={null}
{
  "created": 1767225600,
  "data": [
    {
      "size": "1024x1024",
      "url": "https://example.invalid/byteplus/seedream-4-0-250828/generated.png"
    }
  ],
  "model": "seedream-5-5-261028",
  "usage": {
    "generated_images": 1
  }
}
```

## Antes de lanzar

Los SDK crean una `Idempotency-Key` y la reutilizan para los reintentos automáticos. Para los reintentos manuales, reutiliza la clave original. Router puede mantener la conexión abierta hasta 10 minutos.

Cuando una solicitud falla, Router envía un encabezado de respuesta `X-Comfy-Error-Type` que explica el motivo. Un `422` significa que Router rechazó la entrada antes de llamar al proveedor, y un `413` significa que el cuerpo de la solicitud era más grande de lo que Router acepta. Descarga los recursos generados de inmediato, porque [las URL de resultados pueden caducar](https://docs.comfy.org/es/development/comfy-router/reference.md#recursos-del-resultado).

Cualquier límite de tamaño mencionado en la descripción de un campo más arriba es el límite propio del proveedor para ese campo, citado de la especificación del proveedor. Router aplica un tope aparte al cuerpo completo de la solicitud, con el que cuentan los medios codificados en base64: consulta [tamaño del cuerpo de la solicitud](https://docs.comfy.org/es/development/comfy-router/limitations.md#los-cuerpos-de-las-solicitudes-tienen-un-límite).

Esta página documenta un modelo socio al que se llama a través de Comfy Router. El mismo paquete `comfy-sdk` / `@comfyorg/sdk` también incluye un segundo cliente, para ejecutar todo un gráfico de flujo de trabajo de ComfyUI en Comfy Cloud: `Comfy(api_key=...)` / `new Comfy({ apiKey })`, con `client.workflows`, `client.assets` y `client.jobs`. Consulta [SDK de Comfy](https://docs.comfy.org/es/development/api-development/sdks.md).

> [card] [Encabezados](https://docs.comfy.org/es/development/comfy-router/headers.md)
>
> Autenticación, idempotencia, IDs de solicitud, agrupaciones de errores, ritmo de reintentos y límites de gasto.

> [card] [Uso de la API de Router](https://docs.comfy.org/es/development/comfy-router/api.md)
>
> Descubrimiento de modelos, errores de validación, reintentos y facturación.

> [card] [Limitaciones](https://docs.comfy.org/es/development/comfy-router/limitations.md)
>
> Lo que Router no hace hoy y qué usar en su lugar.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.