Communitygithub.com

Hy-Nomas ワールドプロンプトジェネレーター

Tencent Hy-Nomas ビデオワールドモデル用の構造化JSONワールドプロンプトを生成します。ユーザーが Hy-Nomas のビデオプロンプトを作成したい場合、ワールド記述をJSON形式にする必要がある場合、またはアクション制御やカメラ制御を含むプロンプトを生成したい場合に使用します。

Hy-Nomas ワールドプロンプトジェネレーター とは?

このスキルは、Tencent の Hy-Nomas ビデオワールドモデル向けに、厳密に構造化された JSON 形式のワールドプロンプトを生成するためのものです。Hy-Nomas は自由形式のテキストではなく、JSON 構造に基づく per-action アテンションマスクで動作するため、正しい形式に従うことが不可欠です。テキストからワールド、画像からワールド、カメラ制御、インタラクティブドライブ、マルチセグメント連鎖など、すべての生成モードをカバーします。ComfyUI 上の Hy-Nomas ワークフローで直接使用できる完成済み JSON を出力します。

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

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Hy-Nomas ワールドプロンプトジェネレーター は何をしますか?

ComfyUI-Hy-Nomas を介して ComfyUI で動作する Tencent の Hy-Nomas ビデオワールドモデル用に、有効な構造化 JSON ワールドプロンプトを生成します。

構造化 JSON が重要な理由

Hy-Nomas は構造化された JSON キャプションでトレーニングされており、自由形式のテキストではトレーニングされていません。このモデルは JSON 構造から導出された per-action アテンションマスクを使用します。各アクションのビデオフレームは、そのアクションのテキストのみに注目します。簡易な平文プロンプトは最初のセグメント以降ほとんど無視され、被写体は同じ動作を続けるだけです。この形式に正確に従うことで、後続のセグメントが正しく機能します。

ビデオ生成タイプ

ユーザーが必要とするタイプを特定し、それに応じて生成します:

タイプ使用タイミング主な特徴
テキスト→ワールド開始画像なし、純粋な生成セグメント0に完全な visual_description_long、subject_list で被写体を定義
画像→ワールドユーザーが開始画像を提供セグメント0は画像を説明(1秒間、空の contained_actions)、セグメント1以降はそれから継続
カメラ制御オービット、フォロー、特定のカメラパスカメラは <Camera1> タグまたは外部 Camera Keys/Recording ノードで移動、description_change で新しい視点からのシーンを説明
インタラクティブドライブリアルタイムキーボード操作短い1秒のターン、最小限のプロンプト構造、ユーザーは W/A/S/D で操作
マルチセグメント連鎖長い連続ワールド(10〜20秒以上)複数のセグメントと description_change、重複しないタイミング指定のアクション

コアJSONスキーマ

すべてのワールドプロンプトは、以下のトップレベルキーを持つ単一のJSONオブジェクトである必要があります:

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

必須フィールドリファレンス

完全なフィールド別仕様(許容値、フォーマットルール、エッジケースを含む)については、references/prompt-format-spec.md を参照してください。

クイックリファレンス

perspective_view(厳密な文字列):

  • "first-person" — カメラ = 被写体
  • "second-person" — カメラは被写体と対面
  • "third-person follow" — カメラは被写体の後ろ、動きを追跡
  • "third-person observer" — 外部固定/独立カメラ

Style(厳密な文字列):

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

subject_list: ちょうど1つの被写体オブジェクトを含む配列。各オブジェクトは subject_id、display_name、subject_attribute を持ちます。

segments: start_time、end_time、および visual_description_long(最初のセグメントのみ)または description_change(それ以降の全セグメント)を持つセグメントオブジェクトの配列。

重要なルール

これらのルールは、モデルのトレーニング方法とアテンションマスクの動作方法に基づいています。違反すると、警告なしに失敗します。

  1. 最初のセグメントには visual_description_long(80〜200語でシーンのみを説明。被写体は決して説明しない)を記述します。以降の全セグメントでは代わりに description_change を使用します。

  2. description_change は常に「Compared to the previous segment, 」で始まります — 何も変わらない場合でも: "Compared to the previous segment, the visible scene, background, and other-object layout remain unchanged."

  3. アクションはXMLのようなタグを使用: <Action1><|Subject1|> does something</Action1>. — 各セグメント内で1から順に番号を振り、常に <|Subject1|> で被写体を参照します。

  4. アクションはセグメント内で時間的に重複してはいけません。各アクションには独自の start_time/end_time ウィンドウが必要です。

  5. タイムスタンプは "MM:SS.mmm" 形式: "00:00.000"、"00:05.000"、"00:07.500"。内部的にはセグメント相対時間に正規化されます。

  6. セグメント長: 2〜5秒が適切です。24 fps、動画フレーム4つあたり1つの潜在フレーム。

  7. テキスト内のカメラ移動は description_change または visual_description_long 内で <Camera1>...</Camera1> タグを使用します。ただし、Camera Keys/Recording ノードの方がテキストによるカメラ記述よりもはるかに確実に制御できます。

  8. 画像→ワールドの場合: セグメント0は約1秒にし、画像を忠実に説明し、空の contained_actions: [] を持たせます。subject_attribute 内の被写体の外観は画像と一致している必要があります。

  9. 被写体属性には視点に関する定型文を含めます: 三人称フォローの場合: "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." 三人称観察者の場合: "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." 一人称の場合: "The first-person operator is embodied by the camera, and has the same first-person viewpoint as the camera throughout the whole video."

ワークフロー

  1. 生成タイプを特定(ユーザーリクエストから: テキストのみ?画像あり?カメラ制御?ドライブモード?)
  2. 必要に応じて明確化の質問:視点、スタイル、被写体の説明、希望の長さ、セグメント数
  3. 完全なJSONを生成(スキーマに正確に従う)
  4. 提示前に検証:
    • 有効なJSON(パース可能)
    • すべての必須キーが存在
    • タイムスタンプが正しい形式で重複なし
    • 最初のセグメントに visual_description_long、残りに description_change
    • アクションが適切にタグ付けされ番号付けされている
    • 被写体が一貫して <|Subject1|> で参照されている
  5. JSONをコードブロックで提示(ComfyUI の World Prompt ノードに貼り付ける準備ができた状態で)

よくある間違い

  • アクション内で被写体を名前ではなく <|Subject1|> で参照しない → モデルがアクションを無視
  • visual_description_long に被写体の説明を入れる → シーン説明は環境のみを記述すべき
  • description_change で「Compared to the previous segment, 」のプレフィックスが欠落 → ワールドの一貫性が崩れる
  • アクション時間が重複 → アテンションマスクで未定義動作
  • セグメント1以降で visual_description_long を使用 → パーサーにより削除される
  • 突然のグローバルシーン変更(例: 「大雪」)→ モデルはワールドの一貫性を維持、変更はセグメント内で徐々に発生

プロンプト例

すべての生成タイプをカバーする完全な動作例については、references/examples.md を参照してください。

技術詳細

  • テキストエンコーダー: Qwen2.5-VL-7B(Qwen-Image と同じ)
  • DiT: 32チャンネル DCAE-V latent、INT8 蒸留重み
  • サンプリング: euler / simple / 8 steps / cfg 1
  • 解像度: 1280×704 (720p) または 832×480
  • FPS: 24
  • 履歴: セグメントあたり18 latent フレーム保持
  • ソース: ComfyUI-Hy-Nomas · Tencent Hy-Nomas

関連スキル