¿Qué hace H3 Video: Flujo completo para AI short dramas?
Este flujo se basa en la experiencia de reelaboración de varios videos reales. Idea central: planificar primero, cada etapa requiere confirmación humana, y si hay errores, solo se corrige la capa donde ocurrieron.
Flujo general (en orden, sin saltos)
| Paso | Acción | Punto de control |
|---|---|---|
| 0 | Investigación: primero mira obras similares de alta calidad y las prácticas de otros, anota las técnicas | — |
| 1 | Escribe el plan: tono y estilo, guión de diálogos, segmentación, lista de generación (plantilla en templates/plan_template.md) | Usuario confirma el plan |
| 2 | Voz en off: narración y voz en off se generan por separado con TTS, mide la duración real | Usuario escucha y confirma el tono de voz |
| 3 | Master de personaje: una imagen de cuerpo entero de frente para cada personaje, tomada en el mundo de la historia | Usuario confirma el master |
| 4 | Primer fotograma: uno por segmento, solo hasta el inicio de la acción | No se permite generar video hasta que el usuario confirme el primer fotograma |
| 5 | Generación: primero usa la configuración más rápida para un borrador | — |
| 6 | Verificación de hablante por frase, verificación de mirada, verificación de transiciones | Si hay error, solo se rehace ese segmento |
| 7 | Escalado, subtítulos, volumen, portada | Usuario aprueba |
| 8 | Recapitulación: compara con las "técnicas a verificar" del plan, puntúa cada una, guarda las lecciones en la base de conocimiento | — |
Siete reglas estrictas
- El estilo se somete al tono de la historia. Antes de dibujar cualquier cosa, escribe la sección "Tono y estilo": fuente de luz y oscuridad, tono de color, ropa (nueva, vieja, sucia), expresión facial, atmósfera de fondo. El master también se toma en este mundo, no en un fondo gris de estudio. Cada imagen primero pregunta "¿pertenece a esta historia?" y luego mira los detalles. Una historia oscura con caras de ídolos limpias y bonitas es el fracaso más común.
- Una generación tiene solo una fuente de sonido. La narración y la voz en off nunca entran en H3, de lo contrario, la persona en la imagen sincronizará los labios con la voz en off, incluso si pones "cállate" en el prompt. Los segmentos de narración generan video sin voz, y el sonido se superpone en postproducción.
- Personajes presentes pero que no hablan: no se les asigna diálogo al generar; si el hablante necesita esconderse, se muestra de espaldas o sobre el hombro.
- El guión de diálogos es la única fuente. Cada línea registra el tipo (diálogo / voz en off), quién habla, a quién mira, y el texto original. Presupuesta aproximadamente 3 caracteres por segundo, cada línea se completa dentro de su segmento. Los pasos posteriores no pueden cambiar el guión.
- Mirada: el hablante mira al oyente, el oyente mira al hablante. En cada prompt, especifica claramente quién mira a quién.
- Si el primer fotograma tiene errores, se rehace el primer fotograma, no se soluciona con el prompt. Al verificar, amplía a la resolución original para revisar manos, ojos, boca, accesorios y objetos extraños.
- No se entrega sin verificar el hablante por frase. Para cada línea de diálogo, extrae una cuadrícula densa de fotogramas en su intervalo de tiempo (
scripts/speaker_grid.py), y responde solo una pregunta cerrada: "¿De quién se mueve la boca? A / B / ambas / ninguna", y compáralo con el guión. Extraer solo 4 fotogramas espaciados provocará omisiones.
Principios de generación y reelaboración
- Primero borrador, luego escalado: usa la resolución más rápida que se pueda ver para generar el video, y una vez confirmado, solo escala la versión aprobada.
- Primero atribuye el fallo: determina si el problema está en el prompt, el primer fotograma, el script o la postproducción, y luego decide qué capa modificar. Si el mismo error ocurre en varios segmentos, corrige la referencia compartida (master); si solo es un segmento, solo modifica ese segmento, y solo un cambio a la vez.
- Escribe prompts de forma positiva, no acumules "no hagas...". Para evitar algo, vuelve a la entrada (primer fotograma, master) para corregirlo.
- Registra el primer fotograma, master, semilla y prompt usados para cada segmento, para poder rehacer solo un segmento fácilmente.
- Prueba de los primeros 2 segundos: mira solo los primeros 2 segundos; el espectador debe saber de qué se trata.
Referencias
references/flow_details_and_lessons.md: pasos detallados y errores cometidos para cada paso.references/ComfyUI_nodes_and_parameters.md: nodos y parámetros de Qwen-Image para masters, Qwen-Image-Edit para edición de imágenes, VoxCPM2 para clonación de voz, H3 Ref2VA, y soluciones para fallos conocidos.references/open_source_pipeline_research.md: comparación de 9 proyectos de video AI de código abierto, cuáles vale la pena adoptar y cuáles no.templates/plan_template.md: plantilla del documento de planificación, que incluye guión de diálogos y tabla de verificación.
Scripts
Todos los scripts se conectan a ComfyUI mediante la variable de entorno COMFY_URL (por defecto http://127.0.0.1:8188). Uso en scripts/README.md.
| Script | Función |
|---|---|
t2i_masters.py | Qwen-Image para generar masters de personajes en lote (prefijo de estilo + descripción de cada persona) |
edit_image.py | Qwen-Image-Edit para editar partes locales de la imagen, manteniendo el resto sin cambios |
voice_design.py | VoxCPM2 para diseñar la voz del personaje según una descripción de texto, generando dos muestras A/B para cada persona |
tts_clone.py | VoxCPM2 para clonar el tono de voz usando un fragmento de audio de referencia, generando narración en lote |
h3_ref2va.py | Ensamblar y enviar el flujo de trabajo de H3 Ref2VA (imagen de referencia, audio de referencia, anclaje del primer fotograma) |
wait_download.py | Esperar a que termine la tarea y descargar todas las salidas |
ws_progress.py | Ver el progreso de la tarea (debe usar el client_id de envío) |
asr.py | Transcripción con faster-whisper para verificar que el doblaje coincida palabra por palabra |
speaker_grid.py | Extraer una cuadrícula densa de fotogramas por cada línea del guión para verificar al hablante |
upscale_video.py | Escalar el video fotograma a fotograma con RealESRGAN |
post_subtitle_loud.py | Quemar subtítulos + dos pasadas de loudnorm hasta -14 LUFS |
make_cover.py | Generar portadas en formato 3:4 y 9:16 |