> ## 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.0 Flash 260915 con Comfy Router

> Llama a byteplus/seedream-5-0-flash-260915 con Comfy Router: endpoint, forma de la solicitud y respuesta.

Referencia de la API para `byteplus/seedream-5-0-flash-260915`, servida 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 mediante HTTP sin procesar.

**ID del modelo:** `byteplus/seedream-5-0-flash-260915`

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

**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-0-flash-260915",
        {
            "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-0-flash-260915", {
  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-0-flash-260915 \
  -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}"
```

**Encolar y recoger más tarde**

El mismo cuerpo, enviado a `POST https://api.comfy.org/v2/models/byteplus/seedream-5-0-flash-260915/requests`. Router responde `201` con un `request_id` en cuanto admite la ejecución, y recoges el resultado en cuanto 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 recolección del resultado.

```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-0-flash-260915",
            {
                "prompt": "A red fox trotting through a snowy pine forest, cinematic lighting",
                "response_format": "url",
                "watermark": False,
            },
        )
        print("request_id:", handle.request_id)  # junto con el ID del modelo, es todo lo que necesita otro proceso

        # Consulta hasta que la solicitud se complete, esperando el Retry-After que indique el servidor.
        async for update in handle.iter_events():
            print(update.status, update.queue_position)

        # El payload propio del proveedor, el mismo valor que devuelve models.run().
        # Una solicitud que falló o fue 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-0-flash-260915", {
  prompt: "A red fox trotting through a snowy pine forest, cinematic lighting",
  response_format: "url",
  watermark: false,
});
console.log("requestId:", handle.requestId); // junto con el ID del modelo, es todo lo que necesita otro proceso

// Consulta hasta que la solicitud se complete, esperando el Retry-After que indique el servidor.
for await (const update of handle.events()) {
  console.log(update.status, update.queuePosition);
}

// El mismo resultado que devuelve models.run(). Una solicitud que falló o fue 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-0-flash-260915/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-0-flash-260915/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 todavía se está ejecutando.
curl https://api.comfy.org/v2/models/byteplus/seedream-5-0-flash-260915/requests/$REQUEST_ID \
  -H "X-API-Key: $COMFY_API_KEY"
```

## Esquema

### Entrada

**guidance\_scale** `number`

Controla qué tan fielmente se alinea la imagen de salida con el prompt de entrada. Rango \[1, 10]. Los valores más altos producen una mayor adherencia al prompt. No es compatible con seedream-5.0-pro, 5.0-lite, 4.5 y 4.0.

Rango: `1` a `10`

Formato: `float`

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

La imagen o las imágenes a editar, como una URL accesible o una carga 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 por capas está habilitada. Solo seedream-5.0-pro y 5.0-flash admiten este parámetro.
true: Modo de separación por capas. El modelo descompone la única imagen de entrada en una imagen base más varias capas (hasta 16) 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 por capas.
Notas sobre el modo de separación por capas: solo se admite una única imagen de entrada (si pasas varias imágenes, se devuelve un error); si alguna capa individual no se genera, toda la solicitud falla, no se admite el éxito parcial; se devuelven como máximo 17 imágenes (1 imagen base + 16 capas). sequential\_image\_generation, sequential\_image\_generation\_options, tools y stream devuelven un error si se pasan.

**model** `string`

Identificador del modelo. Modelos admitidos: seedream-4-0-250828, seedream-4-5-251128, seedream-5-0-260128, seedream-5-0-pro-260628 y seedream-5-0-flash-260915. Una llamada v1 directa a POST /proxy/byteplus/api/v3/images/generations DEBE incluirlo: el proxy rechaza cualquier otro valor, y también su omisión, con un 400. NO está en la lista `required` del esquema porque Comfy Router lo rellena desde el segmento de ruta `{model}` de /v2/models/byteplus/\{model}, así que quien llama al 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 (que solo admiten el modo standard) y seedream-4.0 admiten este parámetro.

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

Establece el modo de la función de optimización de prompt. standard = mayor calidad y mayor 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 y 5.0-lite admiten este parámetro. En el escenario de separación por capas, output\_format solo controla el formato de la imagen base; todas las capas se emiten siempre como png.

Valores posibles: `png`, `jpeg`

**prompt** `string`

Descripción de texto para la generación o transformación de imágenes.
Opcional en el escenario de separación por capas (seedream-5.0-pro o 5.0-flash con layer\_decomposition habilitado): si se proporciona un prompt, el modelo reconoce y separa los elementos que indiques según la intención del prompt; si no se proporciona ningún prompt, 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. Rango: \[-1, 2147483647]. Si no se especifica, se generará una semilla automáticamente. Para reproducir el mismo resultado, usa el mismo valor de semilla.

Rango: `-1` a `2147483647`

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

Controla si se deshabilita la función de generación por lotes. Este parámetro solo es compatible con seedream-5.0-lite, 4.5 y 4.0 (no es compatible con seedream-5.0-pro ni 5.0-flash). Valores válidos:
auto: En el modo automático, el modelo determina por sí mismo si devuelve varias imágenes y cuántas contendrá, según el prompt del usuario.
disabled: Deshabilita la función de generación por lotes. 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 es compatible con seedream-5.0-pro ni 5.0-flash).
Configuración de la función de generación de imágenes por lotes. Este parámetro solo tiene efecto cuando sequential\_image\_generation se establece 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.

Rango: `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 | Especificar la resolución. Valores opcionales: 1K, 2K, 4K
Método 2 | Especificar 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": Hay dos métodos disponibles.
Método 1 | Especificar la resolución. Valores opcionales: 2K, 4K
Método 2 | Especificar 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": Hay dos métodos disponibles.
Método 1 | Especificar la resolución. Valores opcionales: 2K, 3K
Método 2 | Especificar 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, total de píxeles: \[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. Total de píxeles: \[1280x720 (921600), 2048x2048x1.1025 (4624220)], relación de aspecto: \[1/16, 16]
"seedream-5-0-pro-260628" y "seedream-5-0-flash-260915" 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 con la resolución especificada y la relación de aspecto de la imagen de entrada original; cada capa se genera cerca de la resolución especificada, conservando 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 la entrada; las entradas menores que 1K se generan en 1K; las entradas mayores que 2K se generan en 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 (seedream-5.0-pro y 5.0-flash no lo admiten). 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 sirve en `GET /v2/models/byteplus/seedream-5-0-flash-260915/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 imagen codificados en Base64 (si response\_format es "b64\_json")

**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 únicamente 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, 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. Se devuelve únicamente 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. Se devuelve únicamente cuando layer\_decomposition es true.

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

El formato de archivo de la imagen de salida. Solo seedream-5.0-pro admite 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, 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 inferior (la imagen base); los valores mayores quedan más arriba. Úsalo para recomponer las capas en la imagen completa con el orden de apilamiento correcto. Se devuelve únicamente cuando layer\_decomposition es true.

**error** `object`

Información de error (si existe)

**error.code** `string`

Código de error de ModelArk en el proveedor upstream. 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 puntos, como InputImageSensitiveContentDetected.PrivacyInformation, OutputVideoSensitiveContentDetected.PolicyViolation u OutputImageSensitiveContentDetected.DeepFake. Esta es una cadena abierta, no una enumeración: otros códigos describen fallas 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 las fallas 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 admite 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-0-flash-260915",
  "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).

> **[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.

> **[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.

> **[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.