Comfy Director
Primero la historia, después las imágenes. Los films de IA con múltiples tomas fallan en la edición, no en la renderización: los beats que no se causan entre sí se leen como un montaje disfrazado de historia, por muy bueno que sea cada clip.
REQUISITO PREVIO: el skill comfy (mecánicas de CLI + la ruta de recetas — apply/capture/foreach — para grafos reutilizables de múltiples etapas). En caso de fallo de cualquier trabajo, comfy-debug.
Orden de operaciones
- Concepto — una idea que un desconocido pueda recontar.
- Guion — antes de tocar el pipeline. Entrégalo al usuario primero.
- Lista de tomas — cada escena asignada a una estrategia de continuidad.
- Diseño de audio — contra los beats emocionales del guion, no después de la imagen.
- Producir → conformar → QC.
Saltarse el paso 2 e ir directamente a las renderizaciones es la causa principal de cortes eliminados.
Reglas del guion
- Un protagonista al que la cámara pueda seguir. Reconocible en cada toma.
- Prueba de causalidad: cada corte responde "y POR ESO…" — nunca "y luego, en otro lugar…". Si un beat se puede reordenar sin romper nada, aún no es una historia.
- Prueba del extraño: alguien sin contexto debe poder recontar la trama en dos oraciones ("X quería A, B se lo impidió, hizo C, así que D").
- Los beats llevan tiempos que suman a la duración objetivo.
Reglas del concepto
- La marca/producto se siente, no se nombra: defiende su filosofía; los chistes internos y referencias de la comunidad mostrados en pantalla se leen como fan-service.
- Una técnica que el cliente mencione ("transferencia de estilo", un nombre de modelo) es una chispa, no un mandato — úsala solo si la idea la necesita. Construir el film alrededor de una técnica es señal de un proveedor, no de un director.
- Lo extraño debe acumularse: sujeto Y objeto Y entorno sorprendentes. Un elemento extraño en un fotograma normal es decoración.
Generación de tomas
- Tomas fotorrealistas: solo lenguaje de cinematógrafo de acción real / película. Un nombre de ilustrador/anime/cómic en una prompt fotorrealista la envenena. Las referencias ilustradas pertenecen solo a tomas deliberadamente estilizadas.
- Las prompts de movimiento describen CÓMO se mueve la escena, no lo que contiene (consulta los gotchas de video del skill
comfy— trampas de modelos t2v/i2v, SaveVideo, cableado de fps).
Kit de herramientas de continuidad
Elige por toma, en orden aproximado de fortaleza:
| Estrategia | Usar para |
|---|---|
| Imagen de referencia de personaje/ubicación llevada a cada toma del grafo i2v | identidad del protagonista |
| Misma identidad, nuevos encuadres mediante edición de imagen de referencia (un héroe → N ángulos) | rostro reconocible entre cortes |
| Fotograma clave de la toma N siembra la toma N+1 (restilización o fotograma final referenciado por imagen) | acción contigua |
| Cabeza parlante alimentada con el AUDIO EXACTO que suena (KlingAvatar), cortada entre ángulos de la misma cabeza sincronizada con labios — nunca B-roll sobre la VO | diálogo que debe sentirse real |
| Líneas de vestuario/iluminación/lente repetidas textualmente en cada prompt | pegamento base barato |
Si una toma no puede mantener la continuidad, reescribe el guion para que no necesite esa toma — no entregues la ruptura.
Audio
- Partitura = pistas cortas diseñadas unidas en los pivotes de la historia; una sola generación larga no seguirá un arco dinámico (se invierte justo donde necesitas el pico).
- Coloca la VO por cálculo: duración del tallo vs ventana del beat, antes de mezclar.
- Atenúa la partitura bajo la VO; normaliza la sonoridad de la mezcla final (~-14 LUFS).
- El diálogo debe sincronizarse con los labios por construcción. Impulsa la boca desde el audio exacto que suena (
sound_filede KlingAvatar) y corta entre ángulos de la misma cabeza sincronizada con labios — el B-roll sobre una VO continua se lee como montaje, y las bocas inventadas por i2v se desvían. "Sin sincronía labial / no se siente real" es el rechazo clásico. (Genera el audio en el grafo —LoadAudioen la nube no puede ver subidas; consulta los gotchas de audio decomfy.) - Bloquea la voz y el casting de OÍDO antes de las renderizaciones costosas. La voz/acento es subjetivo e ilegible desde una forma de onda — renderiza unas pocas tomas TTS baratas de una línea, deja que el usuario elija, LUEGO hornea la ganadora en las tomas costosas de avatar/sincronía labial propensas a
transient_auth. Re-renderizar todas por una voz rechazada es la quema evitable. Misma lógica para el aspecto del protagonista: aprueba la imagen fija del héroe antes de generar cada toma a partir de ella. - Verifica la mezcla por medición, no por fe. No puedes oír la renderización —
ffmpeg volumedetectcada sección: un final de "silencio muerto" o una línea enterrada aparece como una ventana cerca de -91 dB. Confirma que cada beat está presente a nivel antes de declararlo terminado.
Operaciones de producción
-
Añade CADA envío — tomas, fotogramas clave, tallos de audio, reenvíos — a
job_ids.txt(<nombre_del_trabajo> <prompt_id>) en el momento del envío. Solo añadir: un reenvío obtiene una nueva línea (shot_s3_resubmit <id>), nunca una sobrescritura, así que los prompt_id muertos mantienen su identidad de toma. -
Mantén
LOG.mden la raíz del proyecto: un registro de eventos de solo añadir, escrito en el momento del evento, no al final de la sesión — una línea por envío/reenvío (+ código de fallo), por veredicto de QC (+ motivo de repetición), y por decisión que invalide trabajo anterior: cambios de reparto, cambios de prompt, qué imagen de referencia o tallo es ahora canónico. Los hallazgos fotograma a fotograma viven enqc/QC_LOG.md;LOG.mdlos indexa.17:36 ERROR shot_s3 transient_auth -> RESUBMIT 27dd45b4 (mismo flujo de trabajo, sin reiniciar sesión) 17:44 QC shot_s2 FONDO fondo-arrastrarse -> re-roll (mismo kf, nueva semilla); recortar beat si falla el 2do 17:50 DECISIÓN recastear protagonista -> ref_ray.png canónico; vo2, vo6 obsoletos, regenerar -
Contrato de recuperación: un agente sucesor sin memoria debe poder retomar desde el disco solo:
LOG.md(qué pasó, por qué) →job_ids.txt(qué trabajos) →comfy jobs status(sus estados). Una decisión no enLOG.mdmuere con la sesión — los trabajos completados pero obsoletos (tallos de VO de un reparto anterior) parecen idénticos a los buenos. -
ffprobe cada clip descargado; normaliza duraciones/dimensiones fuera de especificación antes del conformado.
-
QC un fotograma de cada clip contra el guion antes de editar.
-
Duración exacta: recorta/reaplica tiempo por beat en ffmpeg, no esperes.
Errores comunes (cada uno ha matado un corte real)
| Error | Resultado |
|---|---|
| Renderizaciones antes del guion | "Ocho beats atractivos que no se causan entre sí" |
| Referencias de la comunidad en pantalla | "Demasiado directo, fan-service" |
| Técnica mencionada por el cliente como concepto | "Lo dije para generar ideas" |
| Sin plan de continuidad | El protagonista cambia de cara en cada corte |
| Una generación de música de 40s | El arco se invierte en el clímax |
| B-roll sobre una VO continua | "Parece un montaje / el audio no coincide" |
| Hornear la voz en N tomas antes de que el usuario la oiga | Re-renderizar todo cuando la rechacen |
| Unir tomas de cabezas parlantes sin transición | La voz se desincroniza (el avatar alarga el video más allá del audio) |