Inicio rápido
Crea una clave en tu espacio de trabajo de Comfy y expórtala comoCOMFY_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 directo.
ID del modelo: bfl/flux-3-video
Endpoint: POST https://api.comfy.org/v2/models/bfl/flux-3-video
- Esperar el resultado
- Encolar y recoger más tarde
El mismo cuerpo, enviado a
POST https://api.comfy.org/v2/models/bfl/flux-3-video/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 explica el estado, la cancelación y la recogida.Esquema
Entrada
string
predeterminado:"\"auto\""
Relación de aspecto de salida: auto, 21:9, 2:1, 16:9, 4:3, 1:1, 3:4 o 9:16. auto deja que BFL elija a partir del prompt y de las referencias.
boolean
predeterminado:"false"
Modo borrador: genera una vista previa rápida cuyo resultado incluye una URL de descarga de draft_cache. Envía ese paquete de vuelta con el modo draft_enhance para renderizar la versión de calidad completa de la misma generación.
string
Solo para draft_enhance. Paquete cifrado de caché de borrador de una generación en modo borrador anterior, ya sea el paquete descargado codificado en base64 o su URL http(s) aún válida. Las entradas originales están incluidas en el paquete.
integer | string
predeterminado:"\"auto\""
Duración del video en segundos (cualquier segundo entero de 5 a 20), o auto para ajustarla al contenido.Rango:
5 a 20boolean
predeterminado:"true"
Genera audio sincronizado junto con el video.
string | number | string[] | string[] | number | string[][]
Solo para i2v. Imágenes que se convierten en fotogramas del video, cada una como URL http(s) o base64, de una a diez en total. Acepta una sola imagen, una lista de imágenes (una inicia el video, dos lo inician y lo terminan, y más se distribuyen de forma uniforme y requieren una duración establecida), o pares [segundos, imagen] con marca de tiempo en orden temporal, por ejemplo [[0, ”…”], [3.5, ”…”]]. Un par es un arreglo de dos elementos: primero el número de segundos y luego la imagen.
string
requerido
Modo de generación: t2v (texto a video), i2v (continuación a partir de una imagen), v2v (continuación a partir de un video) o draft_enhance (render de calidad completa de un borrador previo). Se aceptan alias con el nombre completo, como text-to-video.
string
Prompt de formato libre que describe el video. Requerido para todos los modos excepto draft_enhance.
string
Clase de resolución del video: hd (720p), o fhd (1080p), qhd (2K) o uhd (4K) para un resultado de mayor resolución finalizado por el upsampler de video. De forma predeterminada es hd para t2v, i2v y v2v, y fhd para draft_enhance. Las dimensiones exactas varían según la relación de aspecto.Valores posibles:
hd, fhd, qhd, uhdinteger
predeterminado:"2"
Nivel de tolerancia para la moderación de daños en la entrada y la salida, donde 0 es el más estricto. El contenido sexual se limita al nivel 3 y el contenido de odio al nivel 2, independientemente de la tolerancia solicitada; las solicitudes con medios de acondicionamiento se limitan al nivel 2.Rango:
0 a 4string
Solo para v2v. El video que se va a continuar, como URL http(s) o MP4 en base64; el clip generado continúa a partir de sus fotogramas finales.
string
predeterminado:"\"latest\""
Versión del endpoint. latest entrega la versión actual; las etiquetas de versión fechadas que se pueden fijar se agregan a medida que se publican.
GET /v2/models/bfl/flux-3-video/openapi.json, el mismo documento con el que valida una llamada antes de que la solicitud llegue al proveedor.
Salida
number
Costo reportado por el proveedor en créditos, que se completa cuando la tarea está en estado Listo.Formato:
floatstring
requerido
Identificador de la tarea de BFL.
number
Progreso de generación opcional reportado por BFL.Rango:
0 a 1Formato: floatobject
requerido
La generación finalizada. Se completa exactamente una de las dos hojas de URL:
sample en el modo predeterminado, draft_cache en el modo draft: true.number
Costo de la tarea reportado por el proveedor. Es la cifra de BFL, no el cargo de Comfy.Formato:
doublestring (uri)
URL firmada que devuelve el modo
draft: true EN LUGAR de sample, realojada en el almacenamiento de Comfy de la misma manera que sample: normalmente una URL alojada en Comfy válida hasta 24 horas, y la propia URL de entrega de BFL de unas dos horas cuando no se pudo realizar el realojamiento.Formato: uristring (uri)
URL firmada para el MP4 generado. Router realoja el recurso en el almacenamiento de Comfy y reescribe este campo, así que normalmente es una URL alojada en Comfy válida hasta 24 horas: firmada por 24 horas al generarse y reproducida desde una memoización de 23 horas, por lo que una consulta posterior puede devolver una con tan solo una hora de vigencia; una hoja cuyo realojamiento no se pudo realizar conserva en su lugar la propia URL de entrega de BFL de unas dos horas. Ausente en el modo
draft: true.Formato: uristring
requerido
Estado de la tarea: Pending, Reasoning, Generating, Ready, Request Moderated, Content Moderated, Error o Task not found. Compara sin distinguir mayúsculas y minúsculas; Router reenvía la ortografía de BFL sin cambios.
Ejemplos
Entrada
Salida
result.sample normalmente es una URL firmada alojada en Comfy, válida hasta 24 horas desde su creación. Una repetición puede devolver una URL más antigua, y un recurso que no se pudo volver a alojar conserva su URL del proveedor, con una vigencia más corta. Descarga el MP4 cuanto antes en lugar de guardar el enlace. Con draft: true, lee result.draft_cache en lugar de esperar result.sample.
Antes de lanzar
Los SDK crean unaIdempotency-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.
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.
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.
Encabezados
Autenticación, idempotencia, IDs de solicitud, agrupaciones de errores, ritmo de reintentos y límites de gasto.
Uso de la API de Router
Descubrimiento de modelos, errores de validación, reintentos y facturación.
Limitaciones
Lo que Router no hace hoy y qué usar en su lugar.