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 sin procesar.
ID del modelo: wan/happyhorse-1.0-video-edit
Endpoint: POST https://api.comfy.org/v2/models/wan/happyhorse-1.0-video-edit
- Espera el resultado
- Encolar y recoger más tarde
El mismo cuerpo, enviado a
POST https://api.comfy.org/v2/models/wan/happyhorse-1.0-video-edit/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 u otro. Entrega en cola explica el estado, la cancelación y la recogida.Esquema
Entrada
URL de descarga del archivo de audio. Formatos admitidos: mp3 y wav. No se puede usar junto con reference_video_urls.
URL de la imagen del primer fotograma o datos codificados en Base64. Requerido para los
modelos wan2.5-i2v-preview y wan2.6-i2v. Las variantes i2v de happyhorse-1.x NO toman su
primer fotograma aquí: lo toman como un recurso multimedia de tipo first_frame (consulta
media más abajo), y un cuerpo con img_url que funciona en wan2.6-i2v es rechazado por el
proveedor en happyhorse-1.0-i2v y happyhorse-1.1-i2v; además, las variantes wan2.7/wan3.0
también toman sus recursos de referencia en media. Formatos de imagen: JPEG, JPG, PNG, BMP,
WEBP. Resolución: 360-2000 píxeles. Tamaño del archivo: máx. 10MB.
Lista de recursos multimedia. Especifica materiales de referencia (imagen, audio,
video) para la generación de video. Cada elemento contiene un campo type y un campo url.
Este campo lo comparten todos los modelos servidos desde este componente, y qué valores
de type acepta un modelo dado (y si siquiera lleva aquí su entrada de imagen o video, en
lugar de en img_url o reference_video_urls) varía según el modelo. Valores de type
admitidos, por modelo:
- wan2.7-i2v: first_frame, last_frame, driving_audio, first_clip. first_frame y last_frame: JPEG/JPG/PNG/BMP/WEBP, 240-8000 píxeles por lado, relación de aspecto entre 1:8 y 8:1, como máximo 20MB, una URL pública o una URL data:{MIME_type};base64,… driving_audio (WAV/MP3, de 2 a 30 segundos, como máximo 15MB) y first_clip (MP4/MOV, de 2 a 10 segundos, 240-4096 píxeles por lado, como máximo 100MB): una URL pública HTTP/HTTPS; no se acepta una URL data: en línea.
- wan2.7-r2v: first_frame (opcional, máx. 1), reference_image, reference_video. Se requiere al menos un reference_image o un reference_video, y las imágenes de referencia más los videos de referencia suman como máximo 5. first_frame y reference_image: JPEG/JPG/PNG/BMP/WEBP (sin canal alfa), 240-8000 píxeles por lado, relación de aspecto entre 1:8 y 8:1, como máximo 20MB, una URL pública o una URL data:{MIME_type};base64,… reference_video: una URL pública HTTP/HTTPS; no se acepta una URL data: en línea.
- wan2.7-videoedit: video (exactamente 1, el clip que se edita: MP4/MOV, de 2 a 10 segundos, 240-4096 píxeles por lado, como máximo 100MB, una URL pública HTTP/HTTPS; no se acepta una URL data: en línea) más un reference_image opcional, de 0 a 4 (JPEG/JPG/PNG/BMP/WEBP, 240-8000 píxeles por lado, relación de aspecto entre 1:8 y 8:1, como máximo 20MB, una URL pública o una URL data:{MIME_type};base64,…).
- wan3.0-video, wan3.0-video-prime: first_frame (máx. 1), last_frame (máx. 1), reference_image (máx. 10), reference_video (máx. 5 clips, duración total <= 15s), reference_audio (máx. 5 clips, duración total <= 15s), file (máx. 1, no se puede usar con link), link (máx. 1, no se puede usar con file). Los tipos reference_*/file/link y los tipos first_frame/last_frame son mutuamente excluyentes dentro de una misma solicitud. El orden del array define el orden de referencia de los recursos en el prompt (Imagen 1, Video 1, Audio 1, …). first_frame, last_frame y reference_image: JPEG/JPG/PNG/BMP/WEBP, 240-8000 píxeles por lado, relación de aspecto como máximo 8:1, como máximo 20MB, una URL pública o una URL data:{MIME_type};base64,… reference_video, reference_audio, file y link: una URL pública HTTP/HTTPS; no se acepta una URL data: en línea.
- happyhorse-1.0-i2v, happyhorse-1.1-i2v: solo first_frame, exactamente 1. Estas variantes toman su primer fotograma AQUÍ y no en img_url. Al menos 300x300 píxeles, relación de aspecto entre 1:2.5 y 2.5:1, JPEG/JPG/PNG/WEBP, como máximo 20MB, una URL pública o una URL data:{MIME_type};base64,…
- happyhorse-1.0-r2v, happyhorse-1.1-r2v: solo reference_image, de 1 a 9. Esta es la única entrada de referencia del modelo. El lado más corto debe medir al menos 400 píxeles, JPEG/JPG/PNG/WEBP, como máximo 20MB, una URL pública o una URL data:{MIME_type};base64,… reference_video no es un tipo de entrada para esta operación.
- happyhorse-1.0-video-edit: video (exactamente 1, el clip que se edita: MP4/MOV, de 3 a 60 segundos, lado más largo como máximo 4096 píxeles, lado más corto al menos 360 píxeles, relación de aspecto entre 1:2.5 y 2.5:1, como máximo 100MB, una URL pública HTTP/HTTPS; no se acepta una URL data: en línea) más un reference_image opcional, de 0 a 5 (JPEG/JPG/PNG/WEBP, al menos 300x300 píxeles, relación de aspecto entre 1:2.5 y 2.5:1, como máximo 20MB, una URL pública o una URL data:{MIME_type};base64,…).
- happyhorse-1.0-t2v, happyhorse-1.1-t2v, wan2.7-t2v, wan2.6-t2v, wan2.5-t2v-preview: operaciones de texto a video. Sus referencias del socio no documentan ninguna entrada de medios, así que deja este campo sin definir.
- wan2.5-i2v-preview, wan2.6-i2v, wan2.6-r2v: este componente no enumera ningún vocabulario de medios para estas variantes. wan2.5-i2v-preview y wan2.6-i2v toman su primer fotograma en img_url; wan2.6-r2v toma sus clips de referencia en reference_video_urls.
Tipo de recurso multimediaPosibles valores:
first_frame, last_frame, driving_audio, first_clip, reference_image, reference_video, reference_audio, video, file, linkURL del archivo multimedia: una URL pública HTTP/HTTPS o, únicamente para las entradas de IMAGEN que la descripción de
media anterior enumera para cada modelo: first_frame y last_frame en wan2.7-i2v; first_frame y reference_image en wan2.7-r2v; reference_image en wan2.7-videoedit; first_frame, last_frame y reference_image en wan3.0-video y wan3.0-video-prime; first_frame en happyhorse-1.0-i2v y happyhorse-1.1-i2v; reference_image en happyhorse-1.0-r2v y happyhorse-1.1-r2v; y reference_image en happyhorse-1.0-video-edit: una URL en línea data:{MIME_type};base64,.... Ninguna entrada de video, audio, archivo o enlace de estos modelos acepta una URL data: en línea. Una URL temporal oss://dashscope-instant del servicio de carga del propio socio, o (en wan2.7-videoedit) un asset_id de Asset Center, solo se resuelve contra la cuenta de Alibaba Cloud que la subió; Comfy hace la llamada al modelo con su propia clave y no expone ninguna ruta de carga, así que una URL oss:// o un asset_id propios de quien llama no son una entrada admitida. Este campo no valida el esquema de la URL, por lo que ese valor se reenvía al socio tal cual en lugar de rechazarse aquí. Consulta la descripción de media para ver los límites de tamaño y de píxeles por modelo y el tope de 100 MiB del cuerpo de solicitud del Router que acota una carga útil en línea en conjunto.Las palabras de prompt inverso se usan para describir el contenido que no quieres ver en la trama del video. Pasados los 500 caracteres, un modelo wan lo trunca en lugar de rechazarlo. Cuenta para el mismo presupuesto de entrada que el prompt.
Palabras del prompt de texto. Admiten chino e inglés. Pasada su propia longitud documentada, un modelo wan2.x
trunca el prompt en lugar de rechazarlo: 1,500 caracteres para wan2.5 y wan2.6, y 5,000 para
wan2.7. wan3.0-video y wan3.0-video-prime aceptan como máximo 20,000 caracteres. El proveedor rechaza una solicitud
cuyo prompt y negative_prompt juntos superen unos 60,850 bytes de texto UTF-8 (unos
20,000 caracteres chinos), y responde InvalidParameter
Range of input length should be [1, 61440].
Para wan2.6-r2v con varios videos de referencia, usa ‘character1’, ‘character2’, etc. para referirte a los sujetos
en el orden de los videos de referencia. Ejemplo: “Character1 canta junto a la carretera, Character2 baila a su lado”
Para el modo de referencia de wan3.0-video, usa ‘Image 1’, ‘Video 1’, ‘Audio 1’, etc. para referirte a los recursos multimedia
en el orden correspondiente dentro del arreglo media.URLs de videos de referencia solo para el modelo wan2.6-r2v. Arreglo de 1 a 3 URL de video.
Restricciones de entrada:
- Formato: mp4, mov
- Cantidad: 1-3 videos
- Duración de un solo video: 2-30 segundos
- Tamaño de un solo archivo: máx. 30MB
- No se puede usar con audio_url Duración de referencia: un solo video máx. 5s, dos videos máx. 2.5s cada uno, tres videos proporcionalmente menos. Facturación: según la duración de referencia real utilizada.
Nombre de la plantilla de efecto de video. Opcional. Actualmente compatible: squish, flying, carousel. Cuando se usa, el parámetro prompt se ignora.
El ID del modelo que se va a llamar. NO está restringido en este componente: Comfy Router lo toma del segmento de ruta
{model} de POST /v2/models/wan/{model}, así que quien llama al Router lo omite. Una llamada directa a la v1 de POST /proxy/wan/api/v1/services/aigc/video-generation/video-synthesis DEBE incluirlo, y la enumeración de grafías aceptadas vive en el componente propio de esa operación, WanVideoGenerationRequest.Indica si se agrega audio al video. Solo es compatible con wan3.0-video y wan3.0-video-prime; el proveedor no documenta tal opción para los demás modelos wan.
Configuración de audio del video para el modelo wan2.7-videoedit.
- auto (predeterminado): el modelo lo determina de forma inteligente según el contenido del prompt
-
origin: conserva de forma forzada el audio original del video de entrada
Posibles valores:
auto,origin
La duración del video generado, en segundos:
- modelos wan2.5: 5 o 10 segundos
- wan2.6-t2v, wan2.6-i2v: 5, 10 o 15 segundos
- wan2.6-r2v: solo 5 o 10 segundos (sin soporte para 15s)
- wan2.7-i2v, wan2.7-t2v: entero en [2, 15]
- wan2.7-r2v, wan2.7-videoedit: entero en [2, 10]
-
wan3.0-video: entero en [2, 30] sin entrada de video; con entrada de video, la duración total
de la entrada de video + la duración del video de salida no debe superar los 30 segundos; -1 activa
el modo de duración inteligente, en el que el modelo elige una duración adecuada
Este proxy devuelve 400 para una duración fuera de [-1, 30].
Rango:
-1a30
Indica si está habilitada la reescritura inteligente del prompt. El valor predeterminado es verdadero
Relación de aspecto del video generado. Solo para los modelos wan2.7 y wan3.0.
Para los modelos wan2.7, el valor predeterminado depende del nivel de resolución si no se proporciona.
Para wan3.0-video, adaptive (el valor predeterminado) recomienda automáticamente una
relación de aspecto adecuada según las proporciones y la intención de los recursos de entrada.Valores posibles:
adaptive, 16:9, 9:16, 1:1, 4:3, 3:4Nivel de resolución. Los valores admitidos varían según el modelo:
- wan2.5-i2v-preview: 480P, 720P, 1080P
- modelos wan2.6 (t2v, i2v, r2v): solo 720P, 1080P (sin soporte para 480P)
- modelos wan2.7 (i2v, t2v, r2v, videoedit): 720P, 1080P (predeterminado 1080P)
- wan3.0-video, wan3.0-video-prime: 480P, 720P, 1080P (valor predeterminado upstream: 1080P)
- happyhorse-1.0-* (t2v, i2v, r2v, video-edit): 720P, 1080P
-
happyhorse-1.1-* (t2v, i2v, r2v): 480P, 720P, 1080P
Este proxy rechaza las solicitudes de generación de video que no incluyan ni resolution ni size, porque el nivel de resolución determina la tarifa de facturación. Convierte resolution a mayúsculas antes de comprobarlo y reenvía el valor en mayúsculas, devuelve 400 cuando el valor queda fuera de esta enum y devuelve 400 para 480P (ya sea enviado como resolution o como un size de 480P) en los modelos wan2.6, wan2.7 y happyhorse-1.0 que se indican arriba como modelos sin 480P.
Valores posibles:
480P,720P,1080P
Semilla de número aleatorio, usada para controlar la aleatoriedad del contenido generado por el modeloRango:
0 a 2147483647Control inteligente de múltiples lentes. Solo está activo cuando prompt_extend está habilitado.
Para los modelos wan2.6 y wan2.7-r2v.
- single: video de toma única (predeterminado)
-
multi: video de múltiples tomas
Valores posibles:
multi,single
Resolución del video en formato anchoalto. Las resoluciones admitidas varían según el modelo:
Para wan2.5 T2V: tamaños 480P (480832, 832480, 624624), 720P, 1080P
Para wan2.6 T2V/R2V (sin 480P):
720P: 1280720, 7201280, 960960, 1088832, 8321088
1080P: 19201080, 10801920, 14401440, 16321248, 12481632
Cuando se envían tanto size como resolution, size determina el nivel facturado y
resolution debe seguir siendo un valor que este proxy acepte para el modelo. Un size de 480P
devuelve 400 en todos los modelos que la descripción de resolution indica como modelos sin 480P.
Indica si se agrega un logotipo de marca de agua; la marca de agua se ubica en la esquina inferior derecha
GET /v2/models/wan/happyhorse-1.0-video-edit/openapi.json, el mismo documento contra el que valida una llamada antes de que la solicitud llegue al proveedor.
Salida
Estado de la tareaValores posibles:
PENDING, RUNNING, SUCCEEDED, FAILED, CANCELED, UNKNOWNURL del video para las tareas de generación de video completadas. El enlace es válido durante 24 horas
Duración del video de entrada en segundos, 0.0 cuando no hay video de entrada (tareas wan3.0-video)
Código de error de una solicitud fallida, informado en la RAÍZ del envelope en lugar de dentro de
output (no se devuelve si la solicitud fue exitosa).Información detallada sobre una solicitud fallida, informada en la RAÍZ del envelope en lugar de dentro de
output (no se devuelve si la solicitud fue exitosa). Léela antes de recurrir a output.message.Ejemplos
Entrada
Salida
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.