Communitygithub.com

Generador de prompts Hy-Nomas

Genera prompts JSON estructurados para el modelo de video world model Hy-Nomas de Tencent en ComfyUI. Utiliza esta habilidad cuando el usuario quiera crear prompts de video para Hy-Nomas, necesite ayuda para formatear descripciones de mundo como JSON, mencione 'Hy-Nomas', 'world model', 'segment prompts', o quiera generar videos con acciones temporizadas, control de cámara o segmentos encadenados. También se usa al convertir ideas de video en texto plano al formato JSON estructurado de Hy-Nomas, o al depurar por qué un prompt de Hy-Nomas no funciona. Esto cubre todos los modos de generación: texto-a-mundo, imagen-a-mundo, cámara controlada, conducción interactiva y mundos encadenados de múltiples segmentos.

¿Qué es Generador de prompts Hy-Nomas?

Este skill está diseñado para ayudar a desarrolladores y usuarios de IA a generar prompts JSON válidos para el modelo de video world model Hy-Nomas de Tencent, que se ejecuta en ComfyUI a través del nodo personalizado ComfyUI-Hy-Nomas. El generador se enfoca en la creación de prompts estructurados que respeten el formato JSON específico que Hy-Nomas requiere, ya que el modelo fue entrenado con subtítulos JSON estructurados y utiliza máscaras de atención por acción. El skill cubre los cinco modos de generación principales: texto-a-mundo (sin imagen inicial), imagen-a-mundo (con imagen de inicio), cámara controlada (con movimientos de cámara), conducción interactiva (control en tiempo real con teclado) y mundos encadenados de múltiples segmentos (para videos largos y continuos). El flujo de trabajo guía al usuario paso a paso: identificar el tipo de generación, hacer preguntas aclaratorias sobre perspectiva, estilo, descripción del sujeto y duración, generar el JSON siguiendo el esquema exacto y validar la salida para evitar errores comunes como nombres de sujeto incorrectos, tiempos de acción superpuestos o ausencia del prefijo 'En comparación con el segmento anterior' en las descripciones de cambio. El resultado se presenta listo para pegar en el nodo World Prompt de ComfyUI.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/benjiyaya/hy-nomas-prompts/tree/HEAD

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Generador de Prompts de Mundo Hy-Nomas

Genera prompts JSON estructurados válidos para el modelo de video world model Hy-Nomas de Tencent ejecutándose en ComfyUI a través de ComfyUI-Hy-Nomas.

Por qué es importante el JSON estructurado

Hy-Nomas fue entrenado con subtítulos JSON estructurados, no con texto libre. El modelo utiliza máscaras de atención por acción derivadas de la estructura JSON — los fotogramas de video de cada acción solo atienden al texto de esa acción. Los prompts sueltos en inglés sencillo son ignorados en su mayoría después del primer segmento; el sujeto simplemente sigue haciendo lo que hacía. Seguir este formato exactamente es lo que hace que los segmentos subsiguientes funcionen.

Tipos de generación de video

Identifica qué tipo necesita el usuario y genera en consecuencia:

TipoCuándo usarloCaracterísticas clave
Texto-a-MundoSin imagen inicial, generación puravisual_description_long completo en el segmento 0, sujeto definido en subject_list
Imagen-a-MundoEl usuario proporciona una imagen inicialEl segmento 0 describe la imagen (duración de 1s, contained_actions vacío), los segmentos 1+ continúan a partir de ella
Cámara ControladaÓrbita, seguimiento o ruta de cámara específicaMovimientos de cámara mediante etiquetas <Camera1> O nodos externos de Camera Keys/Recording; description_change describe la escena desde el nuevo punto de vista
Conducción InteractivaDirección por teclado en tiempo realGiros cortos de 1s, estructura de prompt mínima, el usuario dirige con W/A/S/D
Segmentos Encadenados MúltiplesMundos continuos largos (10-20s+)Múltiples segmentos con description_change, acciones temporizadas no superpuestas

Esquema JSON principal

Cada prompt de mundo debe ser un único objeto JSON con estas claves exactas de nivel superior:

{
  "perspective_view": "third-person observer",
  "Style": "CG",
  "subject_list": [...],
  "segments": [...]
}

Referencia de campos obligatorios

Para la especificación completa campo por campo, incluidos valores permitidos, reglas de formato y casos límite, lee references/prompt-format-spec.md.

Referencia rápida

perspective_view (cadenas exactas):

  • "first-person" — La cámara ES el sujeto
  • "second-person" — La cámara mira al sujeto
  • "third-person follow" — Cámara detrás del sujeto, sigue su movimiento
  • "third-person observer" — Cámara externa fija/independiente

Style (cadenas exactas):

  • "real-world footage"
  • "animation/anime"
  • "CG"
  • "video game"

subject_list: Array con exactamente un objeto de sujeto que contiene subject_id, display_name, subject_attribute.

segments: Array de objetos de segmento con start_time, end_time, y ya sea visual_description_long (solo el primer segmento) o description_change (todos los segmentos posteriores).

Reglas críticas

Estas reglas provienen de cómo fue entrenado el modelo y cómo funcionan las máscaras de atención. Violarlas causa fallos silenciosos.

  1. El primer segmento recibe visual_description_long (80-200 palabras que describen SOLO LA ESCENA, nunca el sujeto). Todos los segmentos posteriores usan description_change en su lugar.

  2. description_change siempre comienza con "Compared to the previous segment, " — incluso cuando no cambia nada: "Compared to the previous segment, the visible scene, background, and other-object layout remain unchanged."

  3. Las acciones usan etiquetas tipo XML: <Action1><|Subject1|> hace algo</Action1>. — numeradas secuencialmente desde 1 dentro de cada segmento, siempre refiriéndose al sujeto con <|Subject1|>.

  4. Las acciones no deben superponerse en el tiempo dentro de un segmento. Cada acción tiene su propia ventana start_time/end_time.

  5. Las marcas de tiempo tienen formato "MM:SS.mmm": "00:00.000", "00:05.000", "00:07.500". Internamente se normalizan a tiempos relativos al segmento.

  6. Longitudes de segmento: 2-5 segundos funciona bien. 24 fps, 4 fotogramas de video por fotograma latente.

  7. Los movimientos de cámara en texto usan etiquetas <Camera1>...</Camera1> dentro de description_change o visual_description_long. Pero los nodos de Camera Keys/Recording dirigen de manera mucho más fiable que las descripciones de cámara en texto.

  8. Para imagen-a-mundo: El segmento 0 debe durar ~1 segundo, describir la imagen fielmente, tener contained_actions: [] vacío. La apariencia del sujeto en subject_attribute debe coincidir con la imagen.

  9. El atributo del sujeto incluye texto estándar de perspectiva: Para tercera persona de seguimiento: "The camera is placed behind the X, and follows the X throughout the whole video. The camera is tracking the X and the X should be placed in the center of the video." Para tercera persona observador: "The camera films the X from an external position, and the X is visible in the video. The framing of the video from the camera is independent of the X, and does not follow the movement of the X." Para primera persona: "The first-person operator is embodied by the camera, and has the same first-person viewpoint as the camera throughout the whole video."

Flujo de trabajo

  1. Identificar el tipo de generación a partir de la solicitud del usuario (¿solo texto? ¿tiene imagen? ¿control de cámara? ¿modo de conducción?)
  2. Hacer preguntas aclaratorias si es necesario: perspectiva, estilo, descripción del sujeto, duración deseada, número de segmentos
  3. Generar el JSON completo siguiendo el esquema exactamente
  4. Validar antes de presentar:
    • JSON válido (analizable)
    • Todas las claves requeridas presentes
    • Marcas de tiempo en formato correcto y sin superposición
    • El primer segmento tiene visual_description_long, el resto tiene description_change
    • Acciones correctamente etiquetadas y numeradas
    • Sujeto referenciado consistentemente como <|Subject1|>
  5. Presentar el JSON en un bloque de código listo para pegar en el nodo World Prompt de ComfyUI

Errores comunes

  • Nombrar al sujeto por su nombre en lugar de <|Subject1|> en las acciones → el modelo ignora la acción
  • Poner la descripción del sujeto en visual_description_long → la descripción de la escena debe ser solo del entorno
  • Falta el prefijo "Compared to the previous segment, " en description_change → continuidad inconsistente del mundo
  • Tiempos de acción superpuestos → comportamiento indefinido en las máscaras de atención
  • Usar visual_description_long en el segmento 1+ → el analizador lo elimina de todos modos
  • Cambios globales repentinos de escena (por ejemplo, "fuerte tormenta de nieve") → el modelo mantiene la consistencia del mundo; los cambios ocurren gradualmente dentro de los segmentos

Prompts de ejemplo

Para ejemplos completos y funcionales que cubren todos los tipos de generación, lee references/examples.md.

Detalles técnicos

  • Codificador de texto: Qwen2.5-VL-7B (el mismo que Qwen-Image)
  • DiT: Latente DCAE-V de 32 canales, pesos destilados INT8
  • Muestreo: euler / simple / 8 pasos / cfg 1
  • Resolución: 1280×704 (720p) o 832×480
  • FPS: 24
  • Historial: Se conservan 18 fotogramas latentes por segmento
  • Fuente: ComfyUI-Hy-Nomas · Tencent Hy-Nomas

Skills relacionados