diff --git a/es/tutorials/flux/flux-3-klein.mdx b/es/tutorials/flux/flux-3-klein.mdx index 78d720e518..fe75a63234 100644 --- a/es/tutorials/flux/flux-3-klein.mdx +++ b/es/tutorials/flux/flux-3-klein.mdx @@ -2,14 +2,14 @@ title: "FLUX 3 Image Klein en ComfyUI: texto a imagen y edición" description: "Ejecuta FLUX.3 [klein] en local en ComfyUI: texto a imagen con pesos abiertos y edición por instrucciones, con un checkpoint destilado para 4–16 pasos." sidebarTitle: "FLUX 3 Klein" -translationSourceHash: 7cedfbb4 +translationSourceHash: e78fedba translationFrom: tutorials/flux/flux-3-klein.mdx translationBlockHashes: "_intro": 3e9c5a21 "About FLUX.3 [klein]": 1d7659ce - "FLUX 3 Image Klein Workflows": d0941358 - "FLUX 3 Image Klein Model Downloads": 0170574c - "Prompting and reference tips": 43ad4a36 + "FLUX 3 Image Klein Workflows": 151dcb06 + "FLUX 3 Image Klein Model Downloads": 2972cb13 + "Prompting and reference tips": 8bc95e3b --- import UpdateReminder from '/snippets/es/tutorials/update-reminder.mdx' @@ -112,9 +112,9 @@ Sube este archivo al nodo `LoadImage` correspondiente: 1. Carga tu imagen fuente en el nodo `LoadImage` 2. Conéctala a `Set Reference Multi Latent`. La primera referencia es `` en el prompt, la siguiente es ``, y así sucesivamente -3. Escribe la edición como una descripción completa del resultado. En el ejemplo incluido, el prompt es `In , change the dress color to red` -4. Ajusta el lienzo con `Empty Flux 2 Latent` (1024 x 1024 en la plantilla) si quieres un tamaño de salida diferente -5. Haz clic en **Queue**. `ImageCompare` muestra la entrada y el resultado en paralelo +3. Escribe la edición como una descripción completa del resultado. En el ejemplo incluido el prompt es `In , change the dress color to red` +4. La salida toma la relación de aspecto de la referencia a 1 megapíxel. Sube `megapixels` en `Set Reference Multi Latent` para una imagen mayor +5. Haz clic en **Queue**. `ImageCompare` muestra la entrada y el resultado uno al lado del otro **Salida de ejemplo** @@ -176,7 +176,7 @@ Las plantillas cargan las compilaciones int8 para mantener pequeño el consumo d Codificador de texto para ambos checkpoints. Cárgalo con `CLIPLoader` de tipo `flux3`. - Upsampler de prompt que usan las plantillas de Texto a imagen. + Upsampler de prompt para prompts cortos. Las cuatro plantillas lo cargan. VAE para FLUX 3 Klein. El VAE de FLUX.2. @@ -199,8 +199,13 @@ Las plantillas cargan las compilaciones int8 para mantener pequeño el consumo d ``` ## Consejos para prompts y referencias -- **Escribe el resultado, no el cambio.** Las plantillas de edición de imágenes esperan una descripción completa de la imagen final con la edición incorporada, y por eso los ejemplos describen el objeto nuevo en detalle en lugar de decir «cambia esto». -- **Las referencias se añaden a los dos conditioning.** Conecta imágenes adicionales a `Set Reference Multi Latent` en orden, refiérete a ellas como ``, `` y así sucesivamente, y añade cada una tanto al prompt positivo como al negativo, tal como lo hace el pipeline de referencia. -- **El tamaño de las referencias es un control de costo.** Las plantillas redimensionan cada referencia a aproximadamente 1 megapixel y el latente de salida toma ese tamaño. Mantener las referencias en su tamaño nativo, que es lo que hace el pipeline de Black Forest Labs hasta unos 16 megapíxeles, conserva más detalle en la edición a un costo mayor. -- **El número de pasos depende del checkpoint.** El checkpoint completo se ejecuta con 50 pasos en las plantillas, con orientación 3.5 en texto a imagen y 1 en edición de imagen. El checkpoint destilado por pasos se ejecuta con 16 pasos y la orientación fija en 1, y es el que debes usar cuando quieras una pasada rápida. -- **Las plantillas incluyen un nodo `Create Bounding Boxes`.** Dibuja cajas sobre la imagen fuente para planificar ediciones regionales, y su lista de cajas aparece en el nodo `Preview Any` para que puedas incorporar las regiones al prompt. +- **Escribe el resultado, no el cambio.** Las plantillas de edición de imagen esperan una descripción completa de la imagen finalizada con la edición integrada, por eso los ejemplos describen el nuevo objeto en detalle en lugar de decir «cambia esto». +- **Las referencias se añaden a ambos conditioning.** Conecta imágenes adicionales a `Set Reference Multi Latent` en orden, llámalas ``, `` y así sucesivamente, y añade cada una tanto al prompt positivo como al negativo, igual que hace el pipeline de referencia. +- **El tamaño de la referencia es un control de costo.** Las plantillas redimensionan cada referencia a aproximadamente 1 megapíxel y el latente de salida toma ese tamaño. Mantener las referencias en su tamaño nativo, que es lo que hace el pipeline propio de Black Forest Labs hasta unos 16 megapíxeles, conserva más detalle en la edición a un costo mayor. +- **La cantidad de pasos depende del checkpoint.** El checkpoint completo se ejecuta con 50 pasos en las plantillas, con orientación 3.5 en texto a imagen y 1 en edición de imagen. El checkpoint destilado por pasos se ejecuta con 16 pasos y orientación fija en 1, y es el que debes usar cuando quieras una pasada rápida. +- **Las cajas llegan al modelo a través de `Flux3LayoutPrompt`.** `Create Bounding Boxes` entrega las cajas en su salida `elements`, y `Flux3LayoutPrompt` las añade al prompt como una tabla de diseño JSON con un `id`, un `bbox` y un `desc` por caja. Las cajas se numeran `obj_1`, `obj_2` y así sucesivamente en el orden en que las dibujas, así que dibuja primero el elemento de fondo. Cita una caja en el prompt como `` para vincular las palabras a esa caja. Si no hay cajas dibujadas, el nodo devuelve el prompt sin cambios. +- **Las plantillas de edición de imagen llevan las cajas por un switch.** `Flux3LayoutPrompt` alimenta `ComfySwitchNode`, y su salida es el prompt de texto que recibe el sampler. El switch viene en la rama del upsampler, cuyo system prompt pide prosa plana sin JSON, coordenadas ni tokens entre corchetes angulares, así que la tabla de diseño se reescribe. Pon el switch en `true` para enviar el prompt de diseño al modelo tal como está escrito. +- **Las plantillas de texto a imagen dejan la salida de diseño sin conectar.** Solo llega a `Preview Any`. Escribe el prompt en `Flux3LayoutPrompt` y arrastra su salida `prompt` hasta la entrada de prompt del subgrafo. Desactiva `enable_prompt_upsampler` antes: si no, el upsampler Qwen3.5 reescribe ese texto, tabla de diseño incluida, antes de muestrear. +- **En texto a imagen, cubre todo el lienzo con una sola caja.** Escribe la escena en la descripción de esa caja. El modelo recibe entonces una fila de colocación para todo el encuadre en lugar de texto sin información de diseño. +- **Mantén el lienzo de las cajas con la relación de aspecto de la salida.** Las coordenadas se guardan como fracciones del `width` y el `height` de `Create Bounding Boxes`, así que lo que debe coincidir es la proporción, no el tamaño en píxeles. En las plantillas de edición la salida sigue a la referencia: `Set Reference Multi Latent` redimensiona la primera referencia a 1 megapíxel y la devuelve como `empty_latent`, y el nodo `Empty Flux 2 Latent` de esas plantillas no está conectado. Ajusta el lienzo de las cajas a la referencia. +- **Los colores van en la descripción de la caja.** La paleta del editor se ignora, así que nombra los colores en la descripción. diff --git a/es/tutorials/video/ltx/ltx-2-5.mdx b/es/tutorials/video/ltx/ltx-2-5.mdx index 86b03673de..cc2b70256e 100644 --- a/es/tutorials/video/ltx/ltx-2-5.mdx +++ b/es/tutorials/video/ltx/ltx-2-5.mdx @@ -2,12 +2,12 @@ title: "LTX-2.5 en ComfyUI: flujos de video, audio y multishot" description: "El modelo de video open source de Lightricks en ComfyUI: texto a video, imagen a video, primer-último fotograma, DFR, multishot, audio sincronizado y 4K HDR." sidebarTitle: "LTX-2.5" -translationSourceHash: 4a7cea51 +translationSourceHash: ebef3f6f translationFrom: tutorials/video/ltx/ltx-2-5.mdx translationBlockHashes: "_intro": 4aa7d7de "Key features": 5bfa64be - "Getting started": b7968eb6 + "Getting started": 7909413a "ComfyUI Native Workflows": a65c6f64 "LTX-2.5 DFR: Image to Video": 3899f68b "Resources": f89b58b6 @@ -49,6 +49,10 @@ LTX-2.5 es compatible de forma nativa con ComfyUI. Para empezar: Los archivos del modelo LTX-2.5 están alojados en los repositorios restringidos [Lightricks/LTX-2.5](https://huggingface.co/Lightricks/LTX-2.5) y [Lightricks/LTX-2.5-22b-IC-LoRA-Pixel-Spatial-Upscaler](https://huggingface.co/Lightricks/LTX-2.5-22b-IC-LoRA-Pixel-Spatial-Upscaler) en Hugging Face. Abre las páginas de los repositorios, acepta la licencia del modelo y espera a que se apruebe tu solicitud de acceso antes de descargar los modelos. Las descargas de modelos fallarán si no tienes acceso. + +LTX-2.5 incluye dos VAE de video que comparten el mismo espacio latente. Las plantillas cargan [ltx-2.5-video-vae-bf16.safetensors](https://huggingface.co/Lightricks/LTX-2.5/blob/main/vae/ltx-2.5-video-vae-bf16.safetensors), el decodificador de difusión. Aplica un paso de decodificación aprendido y no se puede descargar a CPU, así que una decodificación a tamaño completo ocupa mucha VRAM. Cuando esa decodificación se queda sin memoria, cambia `VAELoader` a [ltx-2.5-video-vae-conv-bf16.safetensors](https://huggingface.co/Lightricks/LTX-2.5/blob/main/vae/ltx-2.5-video-vae-conv-bf16.safetensors). Este archivo decodifica con el autocodificador convolucional, más rápido y ligero, con caras y texto en pantalla más suaves. + + ## Flujos de trabajo nativos de ComfyUI ### LTX-2.5 Texto a video (T2V) diff --git a/es/tutorials/video/minimax/minimax-h3-native.mdx b/es/tutorials/video/minimax/minimax-h3-native.mdx index dcc0f6cb27..cc9e9b3944 100644 --- a/es/tutorials/video/minimax/minimax-h3-native.mdx +++ b/es/tutorials/video/minimax/minimax-h3-native.mdx @@ -2,16 +2,16 @@ title: "Flujos de trabajo de MiniMax H3 en ComfyUI: texto a video, imagen a video y referencia a video" description: "Ejemplos paso a paso de flujos nativos de MiniMax H3 en ComfyUI, con anclaje de guías y máscaras de ruido latente para un control más fino del video." sidebarTitle: "Flujos nativos" -translationSourceHash: 9e8d385c +translationSourceHash: 2d2c970c translationFrom: tutorials/video/minimax/minimax-h3-native.mdx translationBlockHashes: - "_intro": 4f5274f5 - "MiniMax H3 Text to Video (T2V)": 8807c872 - "MiniMax H3 Image to Video (I2V)": c59554b0 + "_intro": dde651e5 + "MiniMax H3 Text to Video (T2V)": 0cbf3427 + "MiniMax H3 Image to Video (I2V)": 2a06e3fa "MiniMax H3 Reference to Video (R2V)": 961829df - "Advanced workflows with the native nodes": 37164e51 + "Advanced workflows with the native nodes": 0a482892 --- -Esta página cubre las tres plantillas base de MiniMax H3 y las técnicas avanzadas con nodos nativos. Para conocer las capacidades, el ajuste y las mejoras de velocidad, consulta la [descripción general de MiniMax H3](/es/tutorials/video/minimax/minimax-h3). +Esta página cubre las tres plantillas base de MiniMax H3 y las técnicas avanzadas con nodos nativos. Para conocer las capacidades y el licenciamiento, consulta la [descripción general de MiniMax H3](/es/tutorials/video/minimax/minimax-h3). ## MiniMax H3 Texto a Video (T2V) @@ -43,7 +43,7 @@ Genera videos a partir de prompts de texto con audio estéreo nativo. Coloca en ComfyUI/models/vae/ - + Requerido por el escaneo de modelos del flujo de trabajo; habilita el modo turbo opcional de Lightning LoRA. Coloca en ComfyUI/models/loras/ @@ -73,7 +73,7 @@ ComfyUI/ 3. **Resolución**: el 16:9 nativo es **1344×768** (768 px en el lado corto); redondea a múltiplos de **32** 4. **Duración**: se ajusta a **17k+5** fotogramas a 24 fps 5. **Primer y último fotograma**: conecta las imágenes a `first_frame` / `last_frame` en `MiniMaxH3ImageToVideo` para FL2VA -6. **Turbo**: **20** pasos por defecto; activa `turbo_mode` para el Lightning LoRA de **8** pasos (más rápido, con movimiento y audio algo más suaves). Sube los pasos (por ejemplo, **25**) para mejorar la calidad del movimiento +6. **Turbo**: **20** pasos por defecto; activa `turbo_mode` para el Lightning LoRA de **8** pasos (más rápido, con movimiento y audio algo más suaves). Sube los pasos (por ejemplo, **25**) para mejorar la calidad del movimiento. Las acciones rápidas y los movimientos de cámara son lo primero que suaviza una programación turbo corta. Compara recuentos de pasos en un clip con movimiento real, no en un plano estático Guía base oficial: [guía de prompts](/es/tutorials/video/minimax/minimax-h3-prompt-guide). @@ -144,7 +144,7 @@ ComfyUI/ 1. **Fotogramas clave**: `first_frame` / `last_frame` opcionales; el movimiento se genera entre ellos 2. **Prompt**: planos, movimiento y audio en un solo bloque 3. **Resolución / duración**: las mismas reglas que en T2V (objetivo nativo **1344×768**, cuadrícula **17k+5**) -4. **Turbo**: `turbo_mode` usa `turbo_steps` (valor predeterminado **8**) y `turbo_model_strength` (valor predeterminado **1.0**) en lugar de 20 pasos +4. **Turbo**: `turbo_mode` usa `turbo_steps` (valor predeterminado **8**) y `turbo_model_strength` (valor predeterminado **1.0**) en lugar de 20 pasos. Con una programación turbo corta, las acciones rápidas y los movimientos de cámara se suavizan primero, así que revísalos antes de quedarte con turbo `first_frame` se redimensiona al lienzo sin conservar su relación de aspecto, así que una imagen con otra relación de aspecto sale estirada. `last_frame`, en cambio, se recorta desde el centro. La plantilla de I2V se abre en **1:1** y **0.4** MP (**640×640**), así que ajusta la relación de aspecto a tu imagen y sube los megapíxeles para el render final. @@ -257,3 +257,57 @@ Consulta la plantilla [Multiframe Reference](/es/tutorials/video/minimax/minimax Las [máscaras de ruido por token](https://github.com/Comfy-Org/ComfyUI/pull/15375) en los latentes de video y audio te permiten regenerar parte de un clip. Conecta una máscara a `denoise_mask` del sampler: **0** = mantener, **1** = regenerar. Las máscaras de video se ajustan a la cuadrícula de parches latentes de 2×2; las de audio, a frames latentes completos. Úsalas para relleno inteligente, eliminación o extensión mientras mantienes el resto estable. + +### Clips largos con ventanas de contexto (#17425) + +[`MiniMaxH3ContextWindows`](https://github.com/Comfy-Org/ComfyUI/pull/17425) muestrea un clip largo en ventanas superpuestas, así que cada paso ejecuta el modelo sobre una ventana en lugar del clip completo. Conéctalo entre el interruptor del LoRA turbo (`ComfySwitchNode`) y `BasicGuider`, con model a la entrada y model a la salida. `BasicScheduler` sigue usando la salida del interruptor y no necesita el parche. + +| Control | Significado | Valor por defecto | +| --- | --- | --- | +| `context_length` | Tamaño de la ventana en frames, **17n+5** | **124**, los 5 s de la plantilla ajustados a la rejilla | +| `context_overlap` | Frames que comparten ventanas contiguas, **17n+5** | **39** | +| `fuse_method` | Cómo se combinan las ventanas superpuestas: `pyramid`, `relative`, `flat`, `overlap-linear` | `pyramid` | +| `freenoise` | Mezcla el ruido entre ventanas para unirlas | Activado | + +Las ventanas empiezan en los bloques de 17 frames del modelo, de modo que video y audio siguen alineados al cruzar un límite. `context_overlap` tiene como tope la longitud de la ventana menos **17** frames, y un valor mayor se recorta sin aviso. Con el valor por defecto **124** un clip de 5 s ocupa una sola ventana, y la primera longitud que abre una segunda ventana es **141** frames. Baja `context_length` para reducir la memoria de cada paso. Súbelo para dar más contexto a cada paso, con un coste mayor. + +`context_length` limita cuánto del clip ve cada paso de muestreo, no la duración del clip. La duración la fija la entrada `length` (un conteo de frames a 24 fps) del nodo H3, así que un clip más largo que una ventana se muestrea igualmente de principio a fin, ventana a ventana, y conserva la duración que fijaste. El rango entrenado es de unos **124** a **362** frames a 24 fps (**5** a **15** s); los clips más largos no están probados. + +Un clip largo sale más barato en dos pasadas. Renderiza una pasada a baja resolución con ventanas largas para asentar movimiento y sonido, y después otra a mayor resolución con ventanas cortas para añadir detalle. La longitud de ventana se cambia por fidelidad al prompt: cada ventana se muestrea como un solo plano, y cuanto más larga es, antes deja el clip de seguir el prompt. + +La memoria baja por paso, no en total. El latente completo, los búferes que fusionan las ventanas y el decodificado siguen creciendo con la longitud del clip, así que un clip que se queda sin memoria al decodificar sigue igual. + +El muestreo por ventanas trae dos límites: + +- **Cada ventana recibe el prompt completo.** Con ventanas activas, describe una escena continua en lugar de un desglose de planos con marcas de tiempo: todas las ventanas ven el prompt entero, así que los tiempos de corte ya no encajan. +- **Las ventanas se fusionan, no se empalman.** El contenido que debe mantenerse idéntico al cruzar un límite (texto en pantalla, detalle del decorado, una cara) puede derivar. + +Por eso las ventanas de contexto encajan en una toma larga de una escena que se mantiene quieta: cámara fija, sujeto estable y un fondo que no cambia mucho. Si la cámara recorre un decorado o el sujeto camina delante del fondo, cada ventana ve ese fondo de otra manera y las uniones se ven como deformación. Para un clip así, genera tramos más cortos y únelos. + +### Generar primero la banda sonora + +El audio y el video se desruidizan juntos, así que una programación corta o un LoRA turbo suavizan la pista junto con la imagen. Dos pasadas los separan: fija el audio en un lienzo pequeño y luego condiciona el video con él. + +1. **Pasada de audio barata**: Ejecuta una pasada de texto a video a **32×32** con `Boolean (Enable Lightning LoRA)` desactivado, **40–50** pasos y la duración que necesita el plano final. Los frames latentes de audio siguen la longitud del clip, no el tamaño del lienzo, así que esta pasada genera una pista de longitud completa por mucho menos que un render a resolución completa. Desconecta el Resolution Selector y escribe el tamaño en sus destinos `width` y `height`; el selector llega como mínimo a **0.1** megapíxeles. Los pasos están en el `PrimitiveInt` ajustado a **20** dentro del subgrafo. El otro `PrimitiveInt` es el recuento de pasos turbo, que el control del subgrafo deja en **8**. De esta pasada solo se conserva el audio. +2. **Guardar la pista**: El subgrafo decodifica el audio dentro y expone solo el video, así que añade un nodo `SaveAudioAdvanced` dentro del subgrafo y conecta `VAEDecodeAudio` a él. +3. **Condicionar la segunda pasada**: En el flujo R2V añade `LoadAudio`, conéctalo a `ref_audio` y mantén `audio_vae` conectado. Cita la pista como ` - テキストから画像へのテンプレートで使うプロンプトアップサンプラー。 + 短いプロンプト用のプロンプトアップサンプラー。4 つのテンプレートすべてが読み込みます。 FLUX 3 Klein の VAE。FLUX.2 VAE。 @@ -203,4 +203,9 @@ FLUX 3 Klein の重みは、ライセンスへの同意が必要なリポジト - **参照は両方の conditioning に追加されます。** 追加の画像を順番に `Set Reference Multi Latent` に接続し、``、`` などとして参照し、参照パイプラインが行うのと同じように、それぞれをポジティブプロンプトとネガティブプロンプトの両方に追加します。 - **参照のサイズはコストの調整ダイヤルです。** テンプレートは各参照を約1メガピクセルにリサイズし、出力潜在はそのサイズになります。Black Forest Labs 自身のパイプラインが最大約16メガピクセルまで対応しているように、参照をネイティブサイズのままにしておくと、より高いコストと引き換えに編集でより多くのディテールを保てます。 - **ステップ数はチェックポイントによって異なります。** テンプレートでは、フルのチェックポイントは50ステップで実行され、テキストから画像ではガイダンス3.5、画像編集では1になります。ステップ蒸留版のチェックポイントは16ステップ、ガイダンスは1に固定で実行され、高速に処理したいときに使うのはこちらです。 -- **テンプレートには `Create Bounding Boxes` ノードが付属しています。** これは領域ごとの編集を計画するためにソース画像の上にボックスを描画するもので、そのボックスのリストは `Preview Any` ノードに表示されるので、領域をプロンプトに織り込むことができます。 +- **ボックスは `Flux3LayoutPrompt` 経由でモデルに渡ります。** `Create Bounding Boxes` はボックスを `elements` 出力に出し、`Flux3LayoutPrompt` がそれを `id`、`bbox`、`desc` を持つ JSON レイアウト表としてプロンプトの末尾に追加します。ボックスは描いた順に `obj_1`、`obj_2` と番号が振られるので、背景の要素を先に描いてください。プロンプト内で `` として参照すると、その語がそのボックスに紐づきます。ボックスを描いていない場合、このノードはプロンプトをそのまま返します。 +- **画像編集テンプレートはスイッチ経由でボックスを渡します。** `Flux3LayoutPrompt` は `ComfySwitchNode` に接続され、その出力がサンプラーに渡るテキストプロンプトになります。スイッチはアップサンプラ側が既定で、そのシステムプロンプトは JSON、座標、山かっこ付きのトークンを含めないプレーンな文章を求めるため、レイアウト表は書き換えられます。`true` に切り替えると、レイアウトプロンプトがそのままモデルに渡ります。 +- **テキストから画像のテンプレートはレイアウト出力が未接続です。** `Preview Any` にしかつながっていません。`Flux3LayoutPrompt` にプロンプトを書き、その `prompt` 出力をサブグラフのプロンプト入力にドラッグします。先に `enable_prompt_upsampler` を切ってください。切らないと Qwen3.5 のアップサンプラがサンプリング前にこのテキストを書き換え、レイアウト表も一緒に変わります。 +- **テキストから画像では、キャンバス全体を覆う 1 つのボックスを使います。** シーンの説明はそのボックスの説明欄に書きます。モデルはレイアウト情報のないテキストではなく、フレーム全体に対する配置行を受け取ります。 +- **ボックスのキャンバスは出力と同じアスペクト比にします。** ボックス座標は `Create Bounding Boxes` の `width` と `height` に対する比率で保存されるため、合わせるのは比率で、ピクセル数ではありません。画像編集テンプレートの出力は参照画像に従います。`Set Reference Multi Latent` が最初の参照を 1 メガピクセルにリサイズして `empty_latent` として返し、そこにある `Empty Flux 2 Latent` ノードは接続されていません。ボックスのキャンバスを参照画像に合わせてください。 +- **色はボックスの説明欄に書きます。** エディタのパレットは無視されるため、色は説明に書いてください。 diff --git a/ja/tutorials/video/ltx/ltx-2-5.mdx b/ja/tutorials/video/ltx/ltx-2-5.mdx index b254f4009c..f3ba75b632 100644 --- a/ja/tutorials/video/ltx/ltx-2-5.mdx +++ b/ja/tutorials/video/ltx/ltx-2-5.mdx @@ -2,12 +2,12 @@ title: "LTX-2.5: ComfyUI ビデオ・オーディオ・マルチショットワークフロー" description: "Lightricks のオープンウェイト動画モデルを ComfyUI で利用。テキストから動画、画像から動画、先頭・最終フレーム、DFR のワークフローに対応し、マルチショット、音声同期、4K HDR を備えます。" sidebarTitle: "LTX-2.5" -translationSourceHash: 4a7cea51 +translationSourceHash: ebef3f6f translationFrom: tutorials/video/ltx/ltx-2-5.mdx translationBlockHashes: "_intro": 4aa7d7de "Key features": 5bfa64be - "Getting started": b7968eb6 + "Getting started": 7909413a "ComfyUI Native Workflows": a65c6f64 "LTX-2.5 DFR: Image to Video": 3899f68b "Resources": f89b58b6 @@ -49,6 +49,10 @@ LTX-2.5はComfyUIでネイティブにサポートされています。はじめ LTX-2.5 のモデルファイルは、Hugging Face のアクセス制限付き(gated)リポジトリ [Lightricks/LTX-2.5](https://huggingface.co/Lightricks/LTX-2.5) と [Lightricks/LTX-2.5-22b-IC-LoRA-Pixel-Spatial-Upscaler](https://huggingface.co/Lightricks/LTX-2.5-22b-IC-LoRA-Pixel-Spatial-Upscaler) でホストされています。リポジトリのページを開き、モデルライセンスに同意し、アクセス申請が承認されるまで待ってからモデルをダウンロードしてください。アクセスがないとモデルのダウンロードは失敗します。 + +LTX-2.5 には同じ latent 空間を共有する 2 種類の動画 VAE があります。テンプレートは拡散デコーダの [ltx-2.5-video-vae-bf16.safetensors](https://huggingface.co/Lightricks/LTX-2.5/blob/main/vae/ltx-2.5-video-vae-bf16.safetensors) を読み込みます。学習されたデコード段を通り、オフロードできないため、フルサイズのデコードは多くの VRAM を占有します。そのデコードでメモリが足りないときは、`VAELoader` を [ltx-2.5-video-vae-conv-bf16.safetensors](https://huggingface.co/Lightricks/LTX-2.5/blob/main/vae/ltx-2.5-video-vae-conv-bf16.safetensors) に切り替えてください。こちらは畳み込みオートエンコーダでデコードするため、より速く軽く、顔や画面内の文字はやや甘くなります。 + + ## ComfyUI ネイティブワークフロー ### LTX-2.5 テキストからビデオ生成(T2V) diff --git a/ja/tutorials/video/minimax/minimax-h3-native.mdx b/ja/tutorials/video/minimax/minimax-h3-native.mdx index 3c775ec48a..39cd4e7ba7 100644 --- a/ja/tutorials/video/minimax/minimax-h3-native.mdx +++ b/ja/tutorials/video/minimax/minimax-h3-native.mdx @@ -2,17 +2,17 @@ title: "ComfyUI MiniMax H3 テキストから動画・画像から動画・参照から動画のワークフロー" description: "ComfyUI における MiniMax H3 ネイティブワークフローの手順例。ガイドのアンカー固定や latent ノイズマスクで生成動画をより細かく制御できます。" sidebarTitle: "ネイティブワークフロー" -translationSourceHash: 9e8d385c +translationSourceHash: 2d2c970c translationFrom: tutorials/video/minimax/minimax-h3-native.mdx translationBlockHashes: - "_intro": 4f5274f5 - "MiniMax H3 Text to Video (T2V)": 8807c872 - "MiniMax H3 Image to Video (I2V)": c59554b0 + "_intro": dde651e5 + "MiniMax H3 Text to Video (T2V)": 0cbf3427 + "MiniMax H3 Image to Video (I2V)": 2a06e3fa "MiniMax H3 Reference to Video (R2V)": 961829df - "Advanced workflows with the native nodes": 37164e51 + "Advanced workflows with the native nodes": 0a482892 --- -このページは 3 つの基本 MiniMax H3 テンプレートとネイティブノードの高度なテクニックを扱います。機能、チューニング、高速化は [MiniMax H3 概要](/ja/tutorials/video/minimax/minimax-h3) を参照してください。 +このページは 3 つの基本 MiniMax H3 テンプレートとネイティブノードの高度なテクニックを扱います。機能とライセンスは [MiniMax H3 概要](/ja/tutorials/video/minimax/minimax-h3) を参照してください。 ## MiniMax H3 テキストからビデオ (T2V) @@ -44,7 +44,7 @@ translationBlockHashes: ComfyUI/models/vae/ に配置します - + ワークフローのモデルスキャンに必須。オプションの Lightning LoRA turbo 用。ComfyUI/models/loras/ に配置します @@ -74,7 +74,7 @@ ComfyUI/ 3. **解像度**: 16:9 ネイティブ **1344×768**(短辺 768px); **32** 倍数 4. **長さ**: 24fps で **17k+5** グリッド 5. **先頭/末尾フレーム**: `MiniMaxH3ImageToVideo` の `first_frame` / `last_frame` で FL2VA -6. **Turbo**: 既定 **20** ステップ; `turbo_mode` で **8** ステップ Lightning LoRA(速い、モーション/音声ややソフト)。モーション品質は **25** などに増やす +6. **Turbo**: 既定 **20** ステップ; `turbo_mode` で **8** ステップ Lightning LoRA(速い、モーション/音声ややソフト)。モーション品質は **25** などに増やす。速い動作とカメラワークは短い turbo スケジュールで最初に甘くなります。静止カットではなく実際に動くクリップでステップ数を比べてください 公式ベースガイド: [プロンプトガイド](/ja/tutorials/video/minimax/minimax-h3-prompt-guide)。 @@ -145,7 +145,7 @@ ComfyUI/ 1. **キーフレーム**: `first_frame` / `last_frame` は任意; その間のモーションを生成 2. **プロンプト**: ショット、モーション、音声を 1 ブロックに 3. **解像度/長さ**: ルールは T2V と同じ(ネイティブ目標 **1344×768**、**17k+5**) -4. **Turbo**: `turbo_mode` は `turbo_steps`(既定 **8**)と `turbo_model_strength`(既定 **1.0**)で 20 ステップの代わり +4. **Turbo**: `turbo_mode` は `turbo_steps`(既定 **8**)と `turbo_model_strength`(既定 **1.0**)で 20 ステップの代わり。短い turbo スケジュールでは速い動作とカメラワークが最初に甘くなるため、turbo を決める前に確認してください `first_frame` は縦横比を保たずにキャンバスへ拡縮されるため、アスペクト比の違う画像は引き伸ばされます。`last_frame` は中央でクロップされます。I2V テンプレートは **1:1**、**0.4** MP(**640×640**)で開くので、入力画像に合わせてアスペクト比を設定し、最終出力の前に Megapixels を上げてください。 @@ -258,3 +258,57 @@ H3 ノードの `positive` と latent を `MiniMaxH3AddGuide` に接続: [トークン単位マスク](https://github.com/Comfy-Org/ComfyUI/pull/15375) で動画・音声 latent の一部を再生成。 サンプラー `denoise_mask` にマスク: **0** 保持、**1** 再生成。動画は 2×2 latent パッチ、音声は latent フレーム単位。インペイント、削除、拡張に使用。 + +### コンテキストウィンドウで長いクリップを生成 (#17425) + +[`MiniMaxH3ContextWindows`](https://github.com/Comfy-Org/ComfyUI/pull/17425) は長いクリップを重なり合うウィンドウに分けてサンプリングし、各ステップではクリップ全体ではなく 1 ウィンドウだけでモデルを動かします。turbo LoRA のスイッチ(`ComfySwitchNode`)と `BasicGuider` の間に、model 入力・model 出力で接続します。`BasicScheduler` はスイッチの出力のままでよく、このパッチは不要です。 + +| 項目 | 意味 | デフォルト | +| --- | --- | --- | +| `context_length` | ウィンドウ長(フレーム)、**17n+5** | **124**(テンプレートの 5 秒をグリッドに合わせた値) | +| `context_overlap` | 隣接ウィンドウが共有するフレーム数、**17n+5** | **39** | +| `fuse_method` | 重なったウィンドウの融合方法: `pyramid`、`relative`、`flat`、`overlap-linear` | `pyramid` | +| `freenoise` | ウィンドウ間でノイズをシャッフルしてつなぐ | 有効 | + +ウィンドウはモデルの 17 フレーム塊の境界から始まるため、動画と音声は境界をまたいでも揃います。`context_overlap` の上限はウィンドウ長から **17** フレームを引いた値で、それより大きく設定しても警告なしに切り詰められます。デフォルトの **124** では 5 秒のクリップが 1 ウィンドウに収まり、2 つ目のウィンドウが開く最小の長さは **141** フレームです。`context_length` を下げると 1 ステップあたりのメモリが減ります。上げると 1 ステップあたりの前後文脈が増え、コストも上がります。 + +`context_length` が決めるのは各ステップで見る範囲で、クリップ自体の長さではありません。クリップ長は H3 ノードの `length` 入力(24fps でのフレーム数)で決まるため、ウィンドウより長いクリップも 1 ウィンドウずつ最後までサンプリングされ、指定した長さのまま出力されます。学習範囲は約 **124** から **362** フレーム(24fps で **5** から **15** 秒)で、それより長いクリップは未検証です。 + +長いクリップは 2 パスに分けるほうが安く済みます。低解像度で長いウィンドウを使い、まず動きと音を固めます。そのあと高解像度で短いウィンドウを使い、ディテールを足します。ウィンドウ長とプロンプト追従は交換関係にあり、各ウィンドウは 1 ショットとしてサンプリングされるため、長くするほどクリップがプロンプトから外れるのが早まります。 + +減るのは 1 ステップあたりのメモリで、総量ではありません。全体の latent、ウィンドウ融合用のバッファ、デコードはクリップ長に比例したままなので、デコードで OOM になるクリップはそのまま OOM になります。 + +ウィンドウ分割には 2 つの制約があります: + +- **どのウィンドウにもプロンプト全体が渡ります。** ウィンドウを使うときは、時刻付きのカット割りではなく 1 つの連続したシーンとして書いてください。どのウィンドウもプロンプト全体を見るため、カット時刻は噛み合いません。 +- **ウィンドウは融合されるのであって連結ではありません。** 境界をまたいで厳密に保つ必要がある内容(画面内の文字、セットの細部、顔)はドリフトし得ます。 + +そのためコンテキストウィンドウは、場面が動かない長回しに向きます。固定カメラ、安定した被写体、大きく変わらない背景です。カメラがセットの中を移動したり、被写体が背景の前を歩いたりすると、各ウィンドウで背景の見え方が変わり、継ぎ目が変形として出ます。そうしたクリップは短く分けて生成し、つないでください。 + +### 音声を先に作る + +音声と動画は同じデノイズで生成されるため、短いスケジュールや turbo LoRA は映像と一緒に音声も甘くします。2 パスに分ければ切り離せます。まず小さいキャンバスで音声を固め、その音声を条件に映像を作ります。 + +1. **安い音声パス**: **32×32** で `Boolean (Enable Lightning LoRA)` をオフ、**40–50** ステップ、最終カットに必要な長さでテキストから動画のパスを 1 回実行します。音声 latent のフレーム数はクリップ長に従い、キャンバスサイズには依存しないため、このパスはフル解像度のレンダーよりはるかに安いコストでフル尺の音声を作れます。Resolution Selector を切り離し、対応する `width` と `height` にサイズを直接入力します。セレクターの下限は **0.1** メガピクセルです。ステップ数はサブグラフ内で **20** に設定された `PrimitiveInt` にあります。もう 1 つの `PrimitiveInt` が turbo のステップ数で、サブグラフのウィジェットでは **8** になっています。このパスでは音声だけを使います。 +2. **トラックを保存**: サブグラフは内部で音声をデコードし、映像だけを出力します。サブグラフ内に `SaveAudioAdvanced` を追加し、`VAEDecodeAudio` を接続してください。 +3. **2 パス目を条件づける**: R2V ワークフローに `LoadAudio` を追加して `ref_audio` に接続し、`audio_vae` は接続したままにします。プロンプトでは ` - 텍스트 기반 이미지 생성 템플릿에서 사용하는 프롬프트 업샘플러입니다. + 짧은 프롬프트를 위한 프롬프트 업샘플러입니다. 네 템플릿 모두 불러옵니다. FLUX 3 Klein의 VAE, 즉 FLUX.2 VAE. @@ -203,4 +203,9 @@ FLUX 3 Klein 가중치는 라이선스 동의가 필요한 저장소 [black-fore - **레퍼런스는 두 conditioning 모두에 추가됩니다.** 추가 이미지를 `Set Reference Multi Latent`에 순서대로 연결하고, ``, `` 등으로 지칭한 다음, 레퍼런스 pipeline이 하는 방식대로 각각을 positive 프롬프트와 네거티브 프롬프트 양쪽에 추가하세요. - **레퍼런스 크기는 비용을 조절하는 다이얼입니다.** 템플릿은 각 레퍼런스의 크기를 약 1메가픽셀로 조정하며, 출력 잠재 데이터는 그 크기를 갖습니다. Black Forest Labs 자체 pipeline이 약 16메가픽셀까지 유지하는 것처럼 레퍼런스를 원본 크기로 유지하면 비용이 더 높아지는 대신 편집 결과에 더 많은 디테일이 남습니다. - **스텝 수는 checkpoint에 따라 다릅니다.** 전체 checkpoint는 템플릿에서 50 스텝으로 실행되며, 텍스트 기반 생성에서는 가이드 3.5, 이미지 편집에서는 1입니다. 스텝 증류(step-distilled) checkpoint는 16 스텝에 가이드가 1로 고정되어 실행되며, 빠르게 처리하고 싶을 때 사용하는 것이 바로 이 checkpoint입니다. -- **템플릿에는 `Create Bounding Boxes` 노드가 포함되어 있습니다.** 이 노드는 소스 이미지 위에 박스를 그려 영역별 편집을 계획할 수 있게 해주며, 박스 목록은 `Preview Any` 노드에 표시되므로 해당 영역을 프롬프트에 반영할 수 있습니다. +- **박스는 `Flux3LayoutPrompt`를 거쳐 모델에 전달됩니다.** `Create Bounding Boxes`는 박스를 `elements` 출력으로 내보내고, `Flux3LayoutPrompt`는 이를 `id`, `bbox`, `desc`를 담은 JSON 레이아웃 표로 프롬프트 뒤에 덧붙입니다. 박스는 그린 순서대로 `obj_1`, `obj_2`로 번호가 붙으므로 배경 요소를 먼저 그리세요. 프롬프트에서 ``로 인용하면 해당 단어가 그 박스에 연결됩니다. 박스를 그리지 않으면 이 노드는 프롬프트를 그대로 반환합니다. +- **이미지 편집 템플릿은 스위치를 거쳐 박스를 전달합니다.** `Flux3LayoutPrompt`는 `ComfySwitchNode`에 연결되고, 그 출력이 샘플러에 들어가는 텍스트 프롬프트가 됩니다. 스위치는 업샘플러 쪽이 기본이며, 그 시스템 프롬프트는 JSON, 좌표, 꺾쇠 토큰이 없는 평문을 요구하므로 레이아웃 표가 다시 쓰입니다. 스위치를 `true`로 바꾸면 레이아웃 프롬프트가 그대로 모델에 전달됩니다. +- **텍스트에서 이미지 템플릿은 레이아웃 출력이 연결되어 있지 않습니다.** `Preview Any`에만 연결됩니다. `Flux3LayoutPrompt`에 프롬프트를 쓰고 그 `prompt` 출력을 서브그래프의 프롬프트 입력으로 끌어다 놓으세요. 먼저 `enable_prompt_upsampler`를 끄세요. 끄지 않으면 Qwen3.5 업샘플러가 샘플링 전에 이 텍스트를 다시 쓰면서 레이아웃 표도 함께 바뀝니다. +- **텍스트에서 이미지 생성 시 캔버스 전체를 덮는 박스 하나를 사용하세요.** 장면 설명은 그 박스의 설명에 적습니다. 그러면 모델은 레이아웃 정보가 없는 텍스트 대신 프레임 전체에 대한 배치 행을 받습니다. +- **박스 캔버스는 출력과 같은 가로세로 비율로 맞추세요.** 박스 좌표는 `Create Bounding Boxes`의 `width`와 `height`에 대한 비율로 저장되므로, 맞춰야 하는 것은 비율이지 픽셀 크기가 아닙니다. 이미지 편집 템플릿의 출력은 레퍼런스 이미지를 따릅니다. `Set Reference Multi Latent`가 첫 레퍼런스를 1메가픽셀로 조정해 `empty_latent`로 반환하며, 그 템플릿의 `Empty Flux 2 Latent` 노드는 연결되어 있지 않습니다. 박스 캔버스를 레퍼런스에 맞추세요. +- **색상은 박스 설명에 적습니다.** 편집기의 팔레트는 무시되므로 색을 설명에 적으세요. diff --git a/ko/tutorials/video/ltx/ltx-2-5.mdx b/ko/tutorials/video/ltx/ltx-2-5.mdx index 00cf27a7bf..e459af3f62 100644 --- a/ko/tutorials/video/ltx/ltx-2-5.mdx +++ b/ko/tutorials/video/ltx/ltx-2-5.mdx @@ -2,12 +2,12 @@ title: "LTX-2.5: ComfyUI 비디오·오디오·멀티샷 워크플로" description: "Lightricks의 오픈 웨이트 비디오 모델을 ComfyUI에서 사용하세요. 텍스트→비디오, 이미지→비디오, 첫/마지막 프레임, DFR 워크플로와 멀티샷 장면, 오디오 동기화, 4K HDR을 지원합니다." sidebarTitle: "LTX-2.5" -translationSourceHash: 4a7cea51 +translationSourceHash: ebef3f6f translationFrom: tutorials/video/ltx/ltx-2-5.mdx translationBlockHashes: "_intro": 4aa7d7de "Key features": 5bfa64be - "Getting started": b7968eb6 + "Getting started": 7909413a "ComfyUI Native Workflows": a65c6f64 "LTX-2.5 DFR: Image to Video": 3899f68b "Resources": f89b58b6 @@ -50,6 +50,10 @@ LTX-2.5는 ComfyUI에서 기본적으로 지원됩니다. 시작하려면: LTX-2.5 모델 파일은 Hugging Face의 액세스 제한(gated) 저장소인 [Lightricks/LTX-2.5](https://huggingface.co/Lightricks/LTX-2.5)와 [Lightricks/LTX-2.5-22b-IC-LoRA-Pixel-Spatial-Upscaler](https://huggingface.co/Lightricks/LTX-2.5-22b-IC-LoRA-Pixel-Spatial-Upscaler)에 호스팅되어 있습니다. 저장소 페이지를 열고 모델 라이선스에 동의한 후 액세스 요청이 승인될 때까지 기다렸다가 모델을 다운로드하세요. 액세스 권한이 없으면 모델 다운로드가 실패합니다. + +LTX-2.5에는 같은 latent 공간을 쓰는 비디오 VAE가 두 개 있습니다. 템플릿은 확산 디코더인 [ltx-2.5-video-vae-bf16.safetensors](https://huggingface.co/Lightricks/LTX-2.5/blob/main/vae/ltx-2.5-video-vae-bf16.safetensors)를 불러옵니다. 학습된 디코드 단계를 거치고 오프로드할 수 없으므로 전체 크기 디코드가 많은 VRAM을 차지합니다. 그 디코드에서 메모리가 부족하면 `VAELoader`를 [ltx-2.5-video-vae-conv-bf16.safetensors](https://huggingface.co/Lightricks/LTX-2.5/blob/main/vae/ltx-2.5-video-vae-conv-bf16.safetensors)로 바꾸세요. 이 파일은 합성곱 오토인코더로 디코드하므로 더 빠르고 가벼우며, 얼굴과 화면 속 글자는 조금 부드러워집니다. + + ## ComfyUI 네이티브 워크플로 ### LTX-2.5 텍스트 기반 비디오 생성 (T2V) diff --git a/ko/tutorials/video/minimax/minimax-h3-native.mdx b/ko/tutorials/video/minimax/minimax-h3-native.mdx index 27da4717e1..9b53eac726 100644 --- a/ko/tutorials/video/minimax/minimax-h3-native.mdx +++ b/ko/tutorials/video/minimax/minimax-h3-native.mdx @@ -2,17 +2,17 @@ title: "ComfyUI MiniMax H3 텍스트·이미지·레퍼런스 기반 비디오 워크플로" description: "ComfyUI의 MiniMax H3 네이티브 워크플로 단계별 예제입니다. 가이드 고정과 잠재 노이즈 마스크로 생성 비디오를 더 세밀하게 제어할 수 있습니다." sidebarTitle: "네이티브 워크플로" -translationSourceHash: 9e8d385c +translationSourceHash: 2d2c970c translationFrom: tutorials/video/minimax/minimax-h3-native.mdx translationBlockHashes: - "_intro": 4f5274f5 - "MiniMax H3 Text to Video (T2V)": 8807c872 - "MiniMax H3 Image to Video (I2V)": c59554b0 + "_intro": dde651e5 + "MiniMax H3 Text to Video (T2V)": 0cbf3427 + "MiniMax H3 Image to Video (I2V)": 2a06e3fa "MiniMax H3 Reference to Video (R2V)": 961829df - "Advanced workflows with the native nodes": 37164e51 + "Advanced workflows with the native nodes": 0a482892 --- -이 페이지는 세 가지 기본 MiniMax H3 템플릿과 네이티브 노드 고급 기법을 다룹니다. 기능, 튜닝, 가속은 [MiniMax H3 개요](/ko/tutorials/video/minimax/minimax-h3)를 참조하세요. +이 페이지는 세 가지 기본 MiniMax H3 템플릿과 네이티브 노드 고급 기법을 다룹니다. 기능과 라이선스는 [MiniMax H3 개요](/ko/tutorials/video/minimax/minimax-h3)를 참조하세요. ## MiniMax H3 텍스트 기반 비디오 생성 (T2V) @@ -44,7 +44,7 @@ translationBlockHashes: ComfyUI/models/vae/ 폴더에 넣으세요. - + 워크플로 모델 스캔에 필요; 선택 Lightning LoRA turbo. ComfyUI/models/loras/에 넣으세요. @@ -74,7 +74,7 @@ ComfyUI/ 3. **해상도**: 16:9 네이티브 **1344×768**(단변 768px); **32** 배수 4. **길이**: 24fps **17k+5** 그리드 5. **첫/끝 프레임**: `MiniMaxH3ImageToVideo` `first_frame`/`last_frame`으로 FL2VA -6. **Turbo**: 기본 **20** 스텝; `turbo_mode` **8** 스텝 Lightning LoRA(빠름, 모션/오디오 약간 soft). 모션 품질은 **25** 등 +6. **Turbo**: 기본 **20** 스텝; `turbo_mode` **8** 스텝 Lightning LoRA(빠름, 모션/오디오 약간 soft). 모션 품질은 **25** 등. 빠른 동작과 카메라 무브는 짧은 turbo 스케줄에서 가장 먼저 뭉개집니다. 정지 샷이 아니라 실제 움직임이 있는 클립에서 스텝 수를 비교하세요 공식 기본 가이드: [프롬프트 가이드](/ko/tutorials/video/minimax/minimax-h3-prompt-guide). @@ -145,7 +145,7 @@ ComfyUI/ 1. **키프레임**: `first_frame`/`last_frame` 선택; 그 사이 모션 생성 2. **프롬프트**: 샷, 모션, 오디오 한 블록 3. **해상도/길이**: 규칙은 T2V와 동일(네이티브 목표 **1344×768**, **17k+5**) -4. **Turbo**: `turbo_mode`는 `turbo_steps`(기본 **8**), `turbo_model_strength`(기본 **1.0**)로 20 스텝 대체 +4. **Turbo**: `turbo_mode`는 `turbo_steps`(기본 **8**), `turbo_model_strength`(기본 **1.0**)로 20 스텝 대체. 짧은 turbo 스케줄에서는 빠른 동작과 카메라 무브가 가장 먼저 뭉개지므로 turbo를 확정하기 전에 확인하세요 `first_frame`은 종횡비를 유지하지 않고 캔버스 크기에 맞춰 조정되므로 비율이 다른 이미지는 늘어납니다. `last_frame`은 중앙에서 크롭됩니다. I2V 템플릿은 **1:1**, **0.4** MP(**640×640**)로 열리므로 입력 이미지에 맞춰 종횡비를 설정하고, 최종 렌더 전에 Megapixels를 올리세요. @@ -258,3 +258,57 @@ H3 노드 `positive`·latent를 `MiniMaxH3AddGuide`에 연결: [토큰 단위 마스크](https://github.com/Comfy-Org/ComfyUI/pull/15375)로 비디오·오디오 latent 일부 재생성. 샘플러 `denoise_mask`: **0** 유지, **1** 재생성. 비디오 2×2 latent 패치, 오디오 latent 프레임 단위. 인페인팅, 제거, 확장. + +### 컨텍스트 윈도우로 긴 클립 생성 (#17425) + +[`MiniMaxH3ContextWindows`](https://github.com/Comfy-Org/ComfyUI/pull/17425)는 긴 클립을 겹치는 윈도우로 나눠 샘플링합니다. 각 단계에서 클립 전체가 아니라 윈도우 하나로 모델을 돌립니다. turbo LoRA 스위치(`ComfySwitchNode`)와 `BasicGuider` 사이에 model 입력, model 출력으로 연결합니다. `BasicScheduler`는 스위치 출력을 그대로 쓰면 되고 이 패치는 필요 없습니다. + +| 항목 | 의미 | 기본값 | +| --- | --- | --- | +| `context_length` | 윈도우 길이(프레임), **17n+5** | **124**, 템플릿의 5초를 그리드에 맞춘 값 | +| `context_overlap` | 인접 윈도우가 공유하는 프레임 수, **17n+5** | **39** | +| `fuse_method` | 겹친 윈도우를 합치는 방식: `pyramid`, `relative`, `flat`, `overlap-linear` | `pyramid` | +| `freenoise` | 윈도우 사이 노이즈를 섞어 이어 붙임 | 켜짐 | + +윈도우는 모델의 17프레임 덩어리 경계에서 시작하므로 영상과 오디오가 경계를 넘어도 어긋나지 않습니다. `context_overlap` 상한은 윈도우 길이에서 **17**프레임을 뺀 값이고, 더 크게 넣으면 경고 없이 잘립니다. 기본값 **124**에서는 5초 클립이 윈도우 하나에 들어가고, 두 번째 윈도우가 열리는 최소 길이는 **141**프레임입니다. `context_length`를 낮추면 단계마다 쓰는 메모리가 줄어듭니다. 높이면 단계마다 더 많은 앞뒤 맥락을 보는 대신 비용이 커집니다. + +`context_length`는 각 단계가 보는 범위를 정할 뿐 클립 자체의 길이를 정하지 않습니다. 클립 길이는 H3 노드의 `length` 입력(24fps 기준 프레임 수)이라, 윈도우보다 긴 클립도 윈도우 하나씩 끝까지 샘플링되고 지정한 길이대로 출력됩니다. 학습 범위는 약 **124**에서 **362**프레임(24fps에서 **5**에서 **15**초)이고, 더 긴 클립은 검증되지 않았습니다. + +긴 클립은 두 패스로 나누는 편이 저렴합니다. 낮은 해상도에서 긴 윈도우로 먼저 움직임과 소리를 잡고, 그다음 높은 해상도에서 짧은 윈도우로 세부를 더합니다. 윈도우 길이는 프롬프트 준수와 맞바꾸는 값이라, 각 윈도우가 한 숏으로 샘플링되므로 길수록 클립이 프롬프트에서 일찍 벗어납니다. + +줄어드는 것은 단계당 메모리이지 총량이 아닙니다. 전체 latent, 윈도우를 합치는 버퍼, 디코드는 클립 길이에 비례하므로, 디코드에서 메모리가 부족한 클립은 그대로 부족합니다. + +윈도우 분할에는 제약이 두 가지 있습니다: + +- **모든 윈도우가 프롬프트 전체를 받습니다.** 윈도우를 켜면 시각이 붙은 컷 구성 대신 하나의 연속된 장면으로 쓰세요. 모든 윈도우가 프롬프트 전체를 보므로 컷 시각이 맞지 않습니다. +- **윈도우는 이어 붙이는 게 아니라 합쳐집니다.** 경계를 넘어 정확히 유지해야 하는 내용(화면 속 글자, 세트 디테일, 얼굴)은 밀릴 수 있습니다. + +그래서 컨텍스트 윈도우는 장면이 거의 움직이지 않는 긴 테이크에 맞습니다. 고정 카메라, 안정적인 피사체, 크게 변하지 않는 배경입니다. 카메라가 세트를 지나가거나 피사체가 배경 앞을 걸으면 윈도우마다 배경이 다르게 보이게 되고, 이음새가 변형으로 드러납니다. 그런 클립은 짧게 나눠 생성한 뒤 이어 붙입니다. + +### 사운드트랙을 먼저 만들기 + +오디오와 비디오는 같은 디노이즈에서 함께 생성되므로, 짧은 스케줄이나 turbo LoRA는 영상과 함께 오디오도 무디게 만듭니다. 두 번의 패스로 분리할 수 있습니다. 작은 캔버스에서 오디오를 먼저 확정하고, 그 오디오를 조건으로 영상을 만듭니다. + +1. **저렴한 오디오 패스**: **32×32**, `Boolean (Enable Lightning LoRA)` 끔, **40–50** 스텝, 최종 샷에 필요한 길이로 텍스트-투-비디오 패스를 한 번 실행합니다. 오디오 latent 프레임 수는 클립 길이를 따르고 캔버스 크기와 무관하므로, 이 패스는 전체 해상도 렌더보다 훨씬 낮은 비용으로 전체 길이 트랙을 만듭니다. Resolution Selector 연결을 끊고 해당 `width`, `height`에 값을 직접 입력하세요. 선택기의 하한은 **0.1** 메가픽셀입니다. 스텝 수는 서브그래프 안에서 **20**으로 설정된 `PrimitiveInt`에 있습니다. 다른 `PrimitiveInt`가 turbo 스텝 수이고, 서브그래프 위젯에서는 **8**로 설정됩니다. 이 패스에서는 오디오만 사용합니다. +2. **트랙 저장**: 서브그래프는 내부에서 오디오를 디코드하고 비디오만 노출하므로, 서브그래프 안에 `SaveAudioAdvanced`를 추가하고 `VAEDecodeAudio`를 연결하세요. +3. **두 번째 패스 조건 걸기**: R2V 워크플로에 `LoadAudio`를 추가해 `ref_audio`에 연결하고 `audio_vae`는 연결된 상태로 둡니다. 프롬프트에서 ` - Prompt upsampler used by the text to image templates. + Prompt upsampler for short prompts. All four templates load it. VAE for FLUX 3 Klein. The FLUX.2 VAE. @@ -196,4 +196,9 @@ The templates load the int8 builds to keep the memory footprint small. With more - **References are added to both conditionings.** Connect extra images to `Set Reference Multi Latent` in order, address them as ``, ``, and so on, and add each one to both the positive and the negative prompt, the way the reference pipeline does. - **Reference size is a cost dial.** The templates resize each reference to roughly 1 megapixel and the output latent takes that size. Keeping references at their native size, which Black Forest Labs' own pipeline does up to about 16 megapixels, keeps more detail in the edit at a higher cost. - **Step count depends on the checkpoint.** The full checkpoint runs at 50 steps in the templates, with guidance 3.5 on text to image and 1 on image edit. The step-distilled checkpoint runs at 16 steps with guidance fixed at 1, and it is the one to use when you want a fast pass. -- **The templates ship a `Create Bounding Boxes` node.** It draws boxes over the source image for planning regional edits, and its list of boxes is shown in the `Preview Any` node so you can fold the regions into the prompt. +- **Boxes reach the model through `Flux3LayoutPrompt`.** `Create Bounding Boxes` puts the boxes on its `elements` output, and `Flux3LayoutPrompt` appends them to the prompt as a JSON layout table with an `id`, a `bbox`, and a `desc` per box. Boxes are numbered `obj_1`, `obj_2` and so on in the order you draw them, so draw the background element first. Cite a box in the prompt as `` to tie the words to that box. With no boxes drawn, the node returns the prompt unchanged. +- **The image edit templates route the boxes through a switch.** `Flux3LayoutPrompt` feeds `ComfySwitchNode`, and the switch output is the text prompt at the sampler. The switch ships on the upsampler branch, whose system prompt asks for plain prose with no JSON, coordinates, or angle-bracket tokens, so the box table gets rewritten. Set the switch to `true` to send the layout prompt to the model as written. +- **The text to image templates leave the layout output unconnected.** It goes to `Preview Any` only. Type the prompt in `Flux3LayoutPrompt`, then drag its `prompt` output onto the subgraph prompt input. Turn `enable_prompt_upsampler` off first, or the Qwen3.5 upsampler rewrites that text, layout table included, before sampling. +- **For text to image, cover the whole canvas with one box.** Write the scene in that box's description. The model then gets a placement row for the entire frame instead of text with no layout information. +- **Keep the box canvas at the output aspect ratio.** Box coordinates are stored as fractions of the `width` and `height` of `Create Bounding Boxes`, so the ratio is what has to match, not the pixel size. In the image edit templates the output follows the reference: `Set Reference Multi Latent` resizes the first reference to 1 megapixel and returns it as `empty_latent`, and the `Empty Flux 2 Latent` node there is not connected. Match the box canvas to the reference. +- **Colors come from the box description.** The palette in the box editor is ignored, so name colors in the description. diff --git a/tutorials/video/ltx/ltx-2-5.mdx b/tutorials/video/ltx/ltx-2-5.mdx index b4c65ea05c..5b541383b5 100644 --- a/tutorials/video/ltx/ltx-2-5.mdx +++ b/tutorials/video/ltx/ltx-2-5.mdx @@ -41,6 +41,10 @@ LTX-2.5 is natively supported in ComfyUI. To get started: The LTX-2.5 model files are hosted in the gated [Lightricks/LTX-2.5](https://huggingface.co/Lightricks/LTX-2.5) and [Lightricks/LTX-2.5-22b-IC-LoRA-Pixel-Spatial-Upscaler](https://huggingface.co/Lightricks/LTX-2.5-22b-IC-LoRA-Pixel-Spatial-Upscaler) repositories on Hugging Face. Open the repository pages, accept the model license, and wait for your access request to be approved before downloading the models. Model downloads will fail without access. + +LTX-2.5 ships two video VAEs that share the same latent space. The templates load [ltx-2.5-video-vae-bf16.safetensors](https://huggingface.co/Lightricks/LTX-2.5/blob/main/vae/ltx-2.5-video-vae-bf16.safetensors), the diffusion decoder. It runs a learned decode step and cannot be offloaded, so a full-size decode holds a lot of VRAM. When that decode runs out of memory, switch `VAELoader` to [ltx-2.5-video-vae-conv-bf16.safetensors](https://huggingface.co/Lightricks/LTX-2.5/blob/main/vae/ltx-2.5-video-vae-conv-bf16.safetensors). The conv file decodes through the convolutional autoencoder, which is faster and lighter, with softer faces and on-screen text. + + ## ComfyUI Native Workflows ### LTX-2.5 Text to Video (T2V) diff --git a/tutorials/video/minimax/minimax-h3-native.mdx b/tutorials/video/minimax/minimax-h3-native.mdx index ac0d6102db..c6204eb3de 100644 --- a/tutorials/video/minimax/minimax-h3-native.mdx +++ b/tutorials/video/minimax/minimax-h3-native.mdx @@ -4,7 +4,7 @@ description: "Step-by-step MiniMax H3 native workflow examples in ComfyUI, inclu sidebarTitle: "Native workflows" --- -This page covers the three base MiniMax H3 templates plus advanced native-node techniques. For capabilities, tuning, and speedups, see the [MiniMax H3 overview](/tutorials/video/minimax/minimax-h3). +This page covers the three base MiniMax H3 templates plus advanced native-node techniques. For capabilities and licensing, see the [MiniMax H3 overview](/tutorials/video/minimax/minimax-h3). ## MiniMax H3 Text to Video (T2V) @@ -36,7 +36,7 @@ Generate videos from text prompts with native stereo audio. Place in ComfyUI/models/vae/ - + Required by the workflow's model scan; powers the optional Lightning LoRA turbo mode. Place in ComfyUI/models/loras/ @@ -66,7 +66,7 @@ ComfyUI/ 3. **Resolution**: Native 16:9 is **1344×768** (768px short edge); round to multiples of **32** 4. **Duration**: Snaps to **17k+5** frames at 24fps 5. **First/last frame**: Wire images to `first_frame` / `last_frame` on `MiniMaxH3ImageToVideo` for FL2VA -6. **Turbo**: Default **20** steps; enable `turbo_mode` for **8**-step Lightning LoRA (faster, slightly softer motion/audio). Raise steps (e.g. **25**) for motion quality +6. **Turbo**: Default **20** steps; enable `turbo_mode` for **8**-step Lightning LoRA (faster, slightly softer motion/audio). Raise steps (e.g. **25**) for motion quality. Fast action and camera moves are the first thing a short turbo schedule softens. Compare step counts on a clip with real movement, not on a static shot Official base guide: [prompt guide](/tutorials/video/minimax/minimax-h3-prompt-guide). @@ -137,7 +137,7 @@ ComfyUI/ 1. **Keyframes**: Optional `first_frame` / `last_frame`; motion is generated between them 2. **Prompt**: Shots, motion, and audio in one block 3. **Resolution / duration**: the same rules as T2V (**1344×768** native target, **17k+5** grid) -4. **Turbo**: `turbo_mode` uses `turbo_steps` (default **8**) and `turbo_model_strength` (default **1.0**) instead of 20 steps +4. **Turbo**: `turbo_mode` uses `turbo_steps` (default **8**) and `turbo_model_strength` (default **1.0**) instead of 20 steps. Fast action and camera moves soften first under a short turbo schedule, so check them before committing to turbo `first_frame` is resized to the canvas without keeping its aspect ratio, so an off-aspect image comes out stretched. `last_frame` is center-cropped instead. The I2V template opens at **1:1** and **0.4** MP (**640×640**), so set the aspect ratio to your image and raise Megapixels for a final render. @@ -250,3 +250,57 @@ See the [Multiframe Reference](/tutorials/video/minimax/minimax-h3-multiframe) t [Per-token noise masks](https://github.com/Comfy-Org/ComfyUI/pull/15375) on video and audio latents let you regenerate part of a clip. Connect a mask to the sampler `denoise_mask`: **0** = keep, **1** = regenerate. Video masks snap to the 2×2 latent patch grid; audio masks to whole latent frames. Use for inpainting, removal, or extension while holding the rest stable. + +### Long clips with context windows (#17425) + +[`MiniMaxH3ContextWindows`](https://github.com/Comfy-Org/ComfyUI/pull/17425) samples a long clip in overlapping windows, so each step runs the model on one window instead of the whole clip. Connect it between the turbo LoRA switch (`ComfySwitchNode`) and `BasicGuider`, model in and model out. `BasicScheduler` keeps the switch output and does not need the patch. + +| Control | Meaning | Default | +| --- | --- | --- | +| `context_length` | Window size in frames, **17n+5** | **124**, the template's 5 s duration snapped to the grid | +| `context_overlap` | Frames shared by adjacent windows, **17n+5** | **39** | +| `fuse_method` | How overlapping windows are combined: `pyramid`, `relative`, `flat`, `overlap-linear` | `pyramid` | +| `freenoise` | Shuffles noise across windows to blend them | On | + +Windows start on the model's 17-frame chunks, so video and audio stay in step across a boundary. `context_overlap` is capped at the window length minus **17** frames, and a larger value is clamped without a warning. A 5 s clip fits one window at the default **124**, and the first length that opens a second window is **141** frames. Lower `context_length` to cut the memory each step needs. Raise it for more context per step, at a higher cost. + +`context_length` bounds how much of the clip each sampling step sees, not how long the clip is. Clip length is the `length` input (a frame count at 24 fps) on the H3 node, so a clip longer than one window is still sampled end to end, one window at a time, and keeps the duration you set. The trained range is about **124** to **362** frames at 24 fps (**5** to **15** s); longer clips are untested. + +A long clip is cheaper as two passes. Render a low-resolution pass with long windows to settle motion and sound, then a higher-resolution pass with short windows to add detail. Window length trades against prompt following: each window is sampled as one shot, and the longer it runs, the sooner the clip stops following the prompt. + +Memory falls per step, not in total. The full latent, the buffers that fuse the windows and the decode still scale with clip length, so a clip that decodes out of memory stays out of memory. + +Two limits come with windowed sampling: + +- **Every window receives the full prompt.** With windows on, write one continuous scene in place of a timed cut list: every window sees the whole prompt, so cut times no longer line up. +- **Windows are fused, not joined.** Content that has to hold exactly across a boundary (on-screen text, set detail, a face) can drift. + +That makes context windows a fit for a long take of a scene that holds still: a locked-off camera, a steady subject, a background that does not change much. A camera move through a set, or a subject walking past a background, gives each window a different view of that background, and the joins show as morphing. For a clip like that, render shorter clips and join them. + +### Generating the soundtrack first + +Audio and video are denoised together, so a short schedule or a turbo LoRA softens the track along with the picture. Two passes separate them: settle the audio on a small canvas, then condition the video on it. + +1. **Cheap audio pass**: Run a text-to-video pass at **32×32** with `Boolean (Enable Lightning LoRA)` off, **40–50** steps, and the duration the final shot needs. Audio latent frames follow clip length, not canvas size, so this pass produces a full-length track for far less than a full-resolution render. Unlink the Resolution Selector and type the size into its `width` and `height` targets; the selector bottoms out at **0.1** Megapixels. Steps live on the `PrimitiveInt` set to **20** inside the subgraph. The other `PrimitiveInt` is the turbo step count, which the subgraph widget sets to **8**. Only the audio is kept. +2. **Save the track**: The subgraph decodes audio inside and exposes only the video, so add a `SaveAudioAdvanced` node inside the subgraph and connect `VAEDecodeAudio` to it. +3. **Condition the second pass**: In the R2V workflow, add `LoadAudio`, wire it to `ref_audio`, and keep `audio_vae` connected. Cite the track as ` - 文生图模板使用的提示词上采样器。 + 短提示词用的提示词上采样器。四个模板都会加载它。 FLUX 3 Klein 的 VAE,即 FLUX.2 VAE。 @@ -203,4 +203,9 @@ FLUX 3 Klein 的权重存放在需要同意许可的仓库 [black-forest-labs/fl - **参考图会被加入两个条件中。** 按顺序把额外图像连接到 `Set Reference Multi Latent`,用 ``、`` 等来引用它们,并像参考 pipeline 那样把每一张同时加入正面和负面提示词。 - **参考图尺寸是一档成本调节。** 模板会把每张参考图调整大小到约 100 万像素,输出 Latent 也采用该尺寸。保持参考图的原始尺寸(Black Forest Labs 自家的 pipeline 最高可到约 1600 万像素)能让编辑保留更多细节,但成本也更高。 - **步数取决于 checkpoint。** 在模板中,完整 checkpoint 以 50 步运行,文生图引导为 3.5,图像编辑为 1。步数蒸馏版 checkpoint 以 16 步运行,引导固定为 1,想要快速跑一遍时就用它。 -- **模板自带 `Create Bounding Boxes` 节点。** 它会在来源图像上绘制边界框,用于规划区域编辑,其边界框列表显示在 `Preview Any` 节点中,方便你把这些区域融入提示词。 +- **边界框通过 `Flux3LayoutPrompt` 传给模型。** `Create Bounding Boxes` 把框输出到 `elements` 输出上,`Flux3LayoutPrompt` 再把它们以 JSON 布局表的形式追加到提示词后面,每个框包含 `id`、`bbox` 和 `desc`。框按绘制顺序编号为 `obj_1`、`obj_2`,所以先画背景元素。在提示词里用 `` 引用即可把文字绑定到该框。没有绘制任何框时,该节点原样返回提示词。 +- **图像编辑模板通过一个开关接入边界框。** `Flux3LayoutPrompt` 接到 `ComfySwitchNode`,开关输出就是采样器使用的文本提示词。开关默认选中上采样分支,而该分支的系统提示词要求输出不含 JSON、坐标和尖括号标记的纯文本,所以布局表会被改写。把开关设为 `true`,布局提示词就会原样送入模型。 +- **文生图模板的布局输出默认未连接。** 它只连到 `Preview Any`。在 `Flux3LayoutPrompt` 里写好提示词,再把它的 `prompt` 输出拖到子图的提示词输入上。先把 `enable_prompt_upsampler` 关掉,否则 Qwen3.5 上采样器会在采样前重写这段文字,布局表也一起被改写。 +- **文生图时用一个框覆盖整张画布。** 把场景描述写进这个框的描述里。这样模型拿到的是一行覆盖全画面的位置信息,而不是没有任何布局信息的文字。 +- **框的画布要与输出保持同一宽高比。** 框坐标按 `Create Bounding Boxes` 的 `width` 和 `height` 的比例存储,所以要对齐的是比例,不是像素尺寸。图像编辑模板的输出跟随参考图:`Set Reference Multi Latent` 把第一张参考图缩放到 100 万像素并作为 `empty_latent` 输出,其中的 `Empty Flux 2 Latent` 节点并未连接。把框的画布对齐参考图即可。 +- **颜色写在框的描述里。** 编辑器中的调色板会被忽略,所以把颜色写进描述。 diff --git a/zh/tutorials/video/ltx/ltx-2-5.mdx b/zh/tutorials/video/ltx/ltx-2-5.mdx index 398d80cf84..3bdec5f3d0 100644 --- a/zh/tutorials/video/ltx/ltx-2-5.mdx +++ b/zh/tutorials/video/ltx/ltx-2-5.mdx @@ -2,12 +2,12 @@ title: "LTX-2.5:ComfyUI 视频、音频与多镜头工作流" description: "Lightricks 开源视频模型在 ComfyUI 的原生工作流:文生视频、图生视频、首尾帧生视频与 DFR 工作流,支持多镜头场景、音画同步和 4K HDR。" sidebarTitle: "LTX-2.5" -translationSourceHash: 4a7cea51 +translationSourceHash: ebef3f6f translationFrom: tutorials/video/ltx/ltx-2-5.mdx translationBlockHashes: "_intro": 4aa7d7de "Key features": 5bfa64be - "Getting started": b7968eb6 + "Getting started": 7909413a "ComfyUI Native Workflows": a65c6f64 "LTX-2.5 DFR: Image to Video": 3899f68b "Resources": f89b58b6 @@ -49,6 +49,10 @@ ComfyUI 原生支持 LTX-2.5。开始使用: LTX-2.5 模型文件托管在 Hugging Face 上受控访问(gated)的 [Lightricks/LTX-2.5](https://huggingface.co/Lightricks/LTX-2.5) 和 [Lightricks/LTX-2.5-22b-IC-LoRA-Pixel-Spatial-Upscaler](https://huggingface.co/Lightricks/LTX-2.5-22b-IC-LoRA-Pixel-Spatial-Upscaler) 仓库中。打开仓库页面,接受模型许可协议,并等待访问申请获批后再下载模型。未获得访问权限时,模型下载会失败。 + +LTX-2.5 有两种视频 VAE,共用同一套 latent 空间。模板加载 [ltx-2.5-video-vae-bf16.safetensors](https://huggingface.co/Lightricks/LTX-2.5/blob/main/vae/ltx-2.5-video-vae-bf16.safetensors),即扩散解码器。它多跑一段学习式解码,且无法卸载,全尺寸解码会占住大量显存。解码显存不够时,把 `VAELoader` 换成 [ltx-2.5-video-vae-conv-bf16.safetensors](https://huggingface.co/Lightricks/LTX-2.5/blob/main/vae/ltx-2.5-video-vae-conv-bf16.safetensors)。后者走卷积自编码器解码,更快更轻,人脸与画面文字会软一些。 + + ## ComfyUI 原生工作流 ### LTX-2.5 文生视频 (T2V) diff --git a/zh/tutorials/video/minimax/minimax-h3-native.mdx b/zh/tutorials/video/minimax/minimax-h3-native.mdx index 2162165410..ca39d3813e 100644 --- a/zh/tutorials/video/minimax/minimax-h3-native.mdx +++ b/zh/tutorials/video/minimax/minimax-h3-native.mdx @@ -2,16 +2,16 @@ title: "ComfyUI MiniMax H3 文生视频、图生视频与参考生视频工作流" description: "ComfyUI 中 MiniMax H3 原生工作流的逐步示例,含帧锚定与潜在噪声蒙版技巧,帮助你对生成视频做更精细的控制。" sidebarTitle: "原生工作流" -translationSourceHash: 9e8d385c +translationSourceHash: 2d2c970c translationFrom: tutorials/video/minimax/minimax-h3-native.mdx translationBlockHashes: - "_intro": 4f5274f5 - "MiniMax H3 Text to Video (T2V)": 8807c872 - "MiniMax H3 Image to Video (I2V)": c59554b0 + "_intro": dde651e5 + "MiniMax H3 Text to Video (T2V)": 0cbf3427 + "MiniMax H3 Image to Video (I2V)": 2a06e3fa "MiniMax H3 Reference to Video (R2V)": 961829df - "Advanced workflows with the native nodes": 37164e51 + "Advanced workflows with the native nodes": 0a482892 --- -本页涵盖三个基础 MiniMax H3 模板及原生节点高级技巧。能力、调参与加速见 [MiniMax H3 概览](/zh/tutorials/video/minimax/minimax-h3)。 +本页涵盖三个基础 MiniMax H3 模板及原生节点高级技巧。能力与授权见 [MiniMax H3 概览](/zh/tutorials/video/minimax/minimax-h3)。 ## MiniMax H3 文生视频(T2V) @@ -43,7 +43,7 @@ translationBlockHashes: 放入 ComfyUI/models/vae/ - + 工作流的模型扫描需要此文件;它为可选的 Lightning LoRA 加速模式提供支持。放入 ComfyUI/models/loras/ @@ -73,7 +73,7 @@ ComfyUI/ 3. **分辨率**:16:9 原生 **1344×768**(短边 768px);对齐 **32** 倍数 4. **时长**:24fps 下对齐 **17k+5** 帧网格 5. **首尾帧**:在 `MiniMaxH3ImageToVideo` 的 `first_frame`/`last_frame` 接图即为 FL2VA -6. **Turbo**:默认 **20** 步;`turbo_mode` 为 **8** 步 Lightning LoRA(更快,运动/音频略软)。可提高步数(如 **25**)改善运动 +6. **Turbo**:默认 **20** 步;`turbo_mode` 为 **8** 步 Lightning LoRA(更快,运动/音频略软)。可提高步数(如 **25**)改善运动。快速动作与镜头运动最先被短 turbo 调度抹平。要在有真实运动的片段上比较步数,别用静止镜头判断 官方基础指南:[提示词指南](/zh/tutorials/video/minimax/minimax-h3-prompt-guide)。 @@ -144,7 +144,7 @@ ComfyUI/ 1. **关键帧**:`first_frame`/`last_frame` 可选,运动生成在两者之间 2. **提示词**:镜头、运动、音频写在同一块 3. **分辨率/时长**:规则同 T2V(原生目标 **1344×768**,**17k+5**) -4. **Turbo**:`turbo_mode` 使用 `turbo_steps`(默认 **8**)与 `turbo_model_strength`(默认 **1.0**),替代 20 步 +4. **Turbo**:`turbo_mode` 使用 `turbo_steps`(默认 **8**)与 `turbo_model_strength`(默认 **1.0**),替代 20 步。短 turbo 调度下,快速动作与镜头运动最先变软,定下 turbo 前先看这两项 `first_frame` 会被缩放到画布,不保持原比例,所以宽高比不一致的图会被拉伸;`last_frame` 则按中心裁剪。I2V 模板默认 **1:1**、**0.4** MP(**640×640**),请把宽高比设成与输入图一致,正式出片前再调高 Megapixels。 @@ -257,3 +257,57 @@ ComfyUI/ [逐 token 遮罩](https://github.com/Comfy-Org/ComfyUI/pull/15375) 覆盖视频与音频 latent,可只重生成一部分。 遮罩接采样器 `denoise_mask`:**0** 保留,**1** 重生成。视频对齐 2×2 latent 块,音频对齐整帧。用于修补、移除或扩展。 + +### 用上下文窗口生成长片段 (#17425) + +[`MiniMaxH3ContextWindows`](https://github.com/Comfy-Org/ComfyUI/pull/17425) 把长片段分成互相重叠的窗口来采样,每一步只对一个窗口跑模型,而不是整段片段。接在 turbo LoRA 开关(`ComfySwitchNode`)与 `BasicGuider` 之间,模型进、模型出。`BasicScheduler` 继续用开关的输出,不需要打这个补丁。 + +| 控件 | 含义 | 默认值 | +| --- | --- | --- | +| `context_length` | 窗口长度(帧),**17n+5** | **124**,即模板 5 秒时长对齐到该网格后的帧数 | +| `context_overlap` | 相邻窗口共享的帧数,**17n+5** | **39** | +| `fuse_method` | 重叠窗口的融合方式:`pyramid`、`relative`、`flat`、`overlap-linear` | `pyramid` | +| `freenoise` | 跨窗口打乱噪波以衔接 | 开启 | + +窗口从模型的 17 帧块边界开始,视频与音频跨边界仍对齐。`context_overlap` 上限是窗口长度减 **17** 帧,设得更大只会被静默压回上限。默认 **124** 下 5 秒片段占一个窗口,第一个能开出第二个窗口的长度是 **141** 帧。调小 `context_length` 降低每一步的显存占用。调大则每一步拿到更多上下文,代价更高。 + +`context_length` 限制的是每一步采样能看到的片段长度,不是片段本身多长。片段长度由 H3 节点的 `length` 输入(24fps 下的帧数)决定,所以超过一个窗口的片段仍会按你设定的时长整段采样,一次一个窗口。模型训练覆盖约 **124** 到 **362** 帧(24fps 下 **5** 到 **15** 秒),更长的片段未经验证。 + +长片段用两遍更省。第一遍在低分辨率下用长窗口,先把运动与声音定下来;第二遍在高分辨率下用短窗口补细节。窗口长度与提示词跟随度是交换关系:每个窗口都当成一个镜头来采样,窗口越长,片段越早偏离提示词。 + +省下的是每一步的显存,不是总量。整段 latent、融合窗口用的缓冲区和解码仍随片段长度增长,所以解码就会爆显存的片段,改完还是爆。 + +窗口化采样自带两个限制: + +- **每个窗口都收到完整提示词。** 开了窗口后,用一段连续的场景替换带切镜时间的分镜:每个窗口看到的都是整段提示词,切镜时间对不上。 +- **窗口是融合,不是拼接。** 需要跨边界保持一致的内容(画面文字、场景细节、人脸)可能漂移。 + +所以上下文窗口适合场景基本静止的长镜头:固定机位、主体稳定、背景变化不大。镜头穿过场景,或主体走过背景,都会让每个窗口看到不同的背景,衔接处表现为形变。这类片段请分段生成再拼接。 + +### 先生成音轨 + +音频与视频在同一次去噪中生成,短调度或 turbo LoRA 会连同画面一起把音轨变软。分两遍就能拆开:先在小画布上把音频定下来,再让视频以它为条件。 + +1. **便宜的音频遍**:以 **32×32** 画布、关闭 `Boolean (Enable Lightning LoRA)`、**40–50** 步、按最终镜头需要的时长跑一遍文生视频。音频 latent 的帧数跟着片段长度走,与画布尺寸无关,所以这一遍能用远低于一次全分辨率渲染的代价产出完整长度的音轨。断开 Resolution Selector,把尺寸直接填进它对应的 `width` 和 `height`;选择器最小只到 **0.1** 百万像素。步数在子图里设为 **20** 的那个 `PrimitiveInt` 上。另一个 `PrimitiveInt` 是 turbo 步数,子图控件把它设为 **8**。这一遍只保留音频。 +2. **存下音轨**:子图在内部解码音频,只把视频暴露出来,所以在子图内加一个 `SaveAudioAdvanced`,把 `VAEDecodeAudio` 接到它上面。 +3. **给第二遍做条件**:在 R2V 工作流中加入 `LoadAudio`,接到 `ref_audio`,并保持 `audio_vae` 连接。提示词里用 `