Nodaro ドキュメント
ドキュメントノードリファレンスモデルAI エージェント(MCP)開発者向けセルフホスティングリサーチ

ショットシーケンス

ブリーフ、強制アライメント、レンダリングで、ナレーションが話したその瞬間にテキストや図形が現れる、ナレーション付きのモーショングラフィックス動画を作ります。

ショットシーケンスは、ナレーション付きのモーショングラフィックス動画です。画面上のテキスト、図形、画像のすべてが、ナレーションで対応するフレーズが話された瞬間に現れます。あなたか AI アシスタントが、ブリーフを書きます。ブリーフには、ナレーションとそのキュー、そしてシーン、ショット、リビールを記述します。Nodaro は、録音したナレーションを単語単位でアライメントし、すべてのキューを正確なフレームに焼き込みます。そのため、タイミングは確定的で、実行のたびに変わることはありません。動画ディレクターはこのパイプラインを基盤にしており、ブリーフをあなたの代わりに書きます。

パイプライン

オーディオアライメントプランgenerate_speechナレーションforced_alignment単語のタイミングresolve_shot_sequenceキューをフレームにrender_shot_sequenceMP4
ナレーションを音声にし、単語単位でアライメントし、フレーム単位で正確なプランに解決して、レンダリングします。

ナレーションを音声にする

ナレーションの台本を渡して、generate_speech を呼び出します。オーディオの URL は、ジョブの出力から読み取ります。ElevenLabs v3 で 30 クレジットです。

単語をアライメントする

オーディオと、まったく同じ台本を transcript として渡して、forced_alignment を呼び出します。output_data.alignment を読み取ります。これは、秒単位の { word, start, end } のリストです。30 クレジットです。

ブリーフを解決する

ブリーフ、オーディオの URL、アライメントを渡して、resolve_shot_sequence を呼び出します。すぐに、レンダリングできる状態の plan と、警告があれば warnings が返されます。無料です。

レンダリングする

プランを渡して、render_shot_sequence を呼び出します。ジョブが MP4 をレンダリングします。その動画はカードで再生でき、ライブラリに保存されます。1920 × 1080 で 50 クレジットです。

最初に start_video_director を呼び出してください。ナレーションをキューのフレーズとして書く方法と、良いブリーフを作る方法のガイドが返されます。

ブリーフを書く

ブリーフは、script と cues を持つ narration と、scenes からなります。scenes には shots が含まれ、shots には reveals が含まれます。キューは、台本の中のフレーズです。リビールは、キューが話されたときに要素を配置します。

{
  "fps": 30, "width": 1920, "height": 1080, "backgroundColor": "#0b0b0f",
  "narration": {
    "script": "Ship faster. Nodaro turns your idea into video.",
    "cues": [
      { "id": "c_ship", "text": "Ship faster" },
      { "id": "c_idea", "text": "your idea into video" }
    ]
  },
  "scenes": [
    {
      "id": "scene_hook",
      "shots": [{
        "id": "shot_1",
        "reveals": [
          {
            "id": "rv_title",
            "element": { "id": "t1", "type": "text", "text": "Ship faster", "fontFamily": "Inter", "fontSize": 120, "fontWeight": 900, "color": "#ffffff", "x": 200, "y": 450 },
            "revealAt": { "kind": "cue", "cueId": "c_ship", "edge": "start" },
            "enter": { "motion": "slide-up", "durationFrames": 12, "easing": "easeOut" }
          }
        ]
      }]
    }
  ]
}

アンカー

アンカー要素が現れるタイミング
{ "kind": "cue", "cueId": "…", "edge": "start" }キューのフレーズが始まったときです。終わったときにするには "edge": "end" を使い、少しずらすには offsetMs を使います。
{ "kind": "frame", "frame": 0 }固定のフレームです。イントロのロゴやアウトロなど、ナレーションのない要素に使います。

フレーム 0 のサムネイルに表示されている必要がある要素には、"enter": { "motion": "none", "durationFrames": 0 } を使います。

要素が表示される長さ

要素は、そのシーンの内容が終わると退場します。退場のしかたを制御するには、hold と exit を設定します。hold は登場後に表示し続けるフレーム数で、exit はその後の動きです。

タイミングを正確に保つルール

  • キューは台本と完全に一致させる:スペースも含めて一致させる必要があります。読み上げる形で書いてください。「2026」ではなく「twenty twenty-six」、「$5」ではなく「five dollars」と書きます。
  • シーンの時間を重ねない:各シーンは、ナレーションの連続した 1 つの区間を受け持ちます。2 つのシーンのリビールが重なると、resolve_shot_sequence は 422 scene_overlap を返します。
  • フォント:対応しているファミリーから選びます。たとえば、Inter、Roboto、Montserrat、Poppins、Playfair Display、Bebas Neue、Anton、Caveat、Roboto Mono、Fira Code です。ヘブライ語とアラビア語には、Rubik、Heebo、Cairo、Tajawal が対応しています。
  • 登場の動き:fade、scale-up、wipe-in、slide-up、slide-down、slide-left、slide-right、none です。
  • 退場の動き:fade、slide-up、slide-down、slide-left、slide-right、none です。

文字起こしの中に見つからないキューは、比例配分のタイミングにフォールバックし、そのことが warnings に示されます。

ブループリント

ブループリントは、既製のアニメーション演出です。blueprint のリビールで配置し、params で内容を埋めます。list_shot_shapes はカタログを返し、get_shot_shape は 1 つのブループリントのパラメーターを、実例とともに返します。ブループリント自体に料金はかかりません。動画全体が、レンダリングの料金に含まれます。

ID役割デフォルトのフレーム数内容
comparison-split機能紹介180ラベル付きの 2 つのパネルが両側からスライドインし、仕切りを挟んで静止します。終盤に、任意のバッジがポップします。
constellation-hubフック、社会的証明180ラベル付きのノードが、中央のハブを囲む輪の形に弾むように現れ、最後はショットが中心で締めくくられます。
cta-morph-pressCTA150中央にボタンが現れ、カーソルがゆっくり近づいてボタンを押します。
cursor-ui-demo機能紹介、製品紹介210カーソルがクリックでスクリーンショットを操作し、ビューがクリックする対象を 1 つずつ追いかけます。
dataviz-countupペインポイント240大きな数字が、ラベルとともにある値までカウントアップします。
device-surface-showcase製品紹介、機能紹介240デバイスのモックアップが静止し、その画面にスクリーンショットが順番に表示されます。見出しも同期して切り替わります。
grid-card-assemble機能紹介、ベネフィット、社会的証明180テキストのカードが、次々とグリッド状に並びます。
kinetic-type-beatsフック1501〜4 行のメッセージが入れ替わりながら現れ、最後の 1 行がアクセントを付けてポップします。
logo-assemble-lockup製品紹介、ブランディング180ブランド名の文字が集まって、中央のロックアップになります。任意で、タグラインも付けられます。
overwhelm-surroundペインポイント210ツールのカードが集まり、チップが散らばって現れた後、あらゆる方向から要求が押し寄せます。
spatial-pan-stationsフック、ペインポイント2401 枚の大きなキャンバスに、ラベル付きのステーションが並びます。カメラが滑らかにパンして順に訪れ、止まるたびに吹き出しが表示されます。
ticker-takeoverフック、ブランディング180アクセントの単語が切り替わるタイプ入力の導入の後、主役の要素が勢いよく飛び込んできます。
titlecard-revealベネフィット、社会的証明120すっきりとした 1 つのタイトルと、任意のサブタイトルを、控えめな 1 つの動きで表示し、そのまま静止させます。
typewriter-revealフック、ブランディング180点滅するキャレットとともに、テキストが 1 文字ずつタイプされます。任意のサブラベルが、フェードアップします。
waterfall-revealフック、機能紹介1501 行の単語が、左から右へ 1 つずつカットインします。任意のサブラベルが、フェードアップします。

デフォルトの長さは、30 fps でのフレーム数です。list_shot_shapes は、常に最新のカタログを返します。

ブランドトークン

ブリーフには、パレット、フォント、ロゴからなるブランドトークンを含められます。そうすると、すべてのブループリントが、自分のブランドの色と書体を使います。ブリーフでは、トークンはプリセット ID ではなく、完全なオブジェクトで指定する必要があります。プリセットのトークンは、list_brand_presets からコピーします。フィールドは、動画ディレクターのブランドと同じです。

よくある質問

最終更新

目次