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

キャラクターの一貫性

すべての画像と動画で、同じ人物、ペット、商品、場所を保つための方法を網羅して解説します。アセット、承認済みの画像、メンション、顔の固定を組み合わせます。

一貫したキャラクターとは、プロジェクトのすべての画像と動画で同じ見た目になる、人物、ペット、商品、場所のことです。Nodaro では、被写体をアセットとして一度だけ定義し、その画像を承認して、被写体が登場するすべてのノードにアセットを接続します。このガイドでは、最初の写真から、複数のキャラクターが登場するシーン、そして動画まで、方法の全体を説明します。

方法の概要

一貫性は、いくつもの層を重ねて作ります。ほとんどのプロジェクトでは、最初の 4 つの層が必要です。それでも顔がぶれる場合は、残りの層を加えます。

層役割設定する場所
アセット被写体の同一性を保持します。承認済みの画像と基準となる説明です。キャラクター、動物/クリーチャー、オブジェクト/小道具、ロケーションの各アセットノード
承認済みの画像すべての生成に同じ出発点を与えます。ポートレートとそのアングルです。アセットのスタジオ
接続とメンションアセットを各画像ノードと動画ノードに送り、プロンプト内に配置します。アセット入力と @ メンション
役割各画像から何を取り入れるかを指定します。顔、服、背景などです。メンションのチップと、ノードの役割メニュー
顔の固定顔を正確に保つよう、モデルに求めます。ノード、スタジオ、または ~lock メンション
ボードとグリッド被写体のあらゆるアングルを、1 枚のリファレンス画像にまとめます。画像生成(Generate Image)のプリセットと、スタジオのシートページとボードページ
適切なモデルリファレンス画像を受け付けるモデルを使います。画像生成と動画生成(Generate Video)
学習済みモデルNodaro Cloud の画像生成で、本人に最も近い姿を再現します。スタジオの LoRA ページ

ステップ 1:被写体を一度だけ定義する

被写体に合ったアセットを選びます。アセットごとに、専用のスタジオとガイドがあります。

人物の場合は、次の順序でキャラクターを作ります。

良い写真から始める

キャラクタースタジオのリファレンスページで、その人物の実際の写真をアップロードします。どんな設定よりも、ピントが合っていて均一に照らされた、正面向きの写真 1 枚のほうが重要です。顔がぶれる原因として最も多いのは、ぼやけた写真、フィルターのかかった写真、ほかのものが多く写り込んだ写真です。

ポートレートを承認する

プロフィールページで、ポートレートの候補を 2 つか 4 つ生成し、最も良いものを承認します。承認すると、基準となる説明も書き込まれます。Nodaro は、そのキャラクターを使うプロンプトに、この説明を追加します。

アイデンティティアンカーセットを作る

Appearance ページで、5 つの頭部のアングル(正面、左斜め、左側面、右側面、右斜め)を生成します。以降にスタジオが作る画像はすべて、これらをリファレンスとして使うため、表情やポーズが変わっても同じ顔が保たれます。

ストーリーに必要なバリエーションを追加する

シーンに必要な表情、ポーズ、全身のアングルを生成します。@maya:1:smile のように名前でメンションするので、わかりやすい名前を付けてください。

ステップ 2:キャラクターをすべてのショットに接続する

キャラクターアセットノードのキャラクター出力を、そのキャラクターが登場するすべての画像生成ノードと動画生成ノードのアセット入力に接続します。すると、リファレンスを受け付けるすべてのモデルで、Nodaro は実行のたびに、キャラクターのポートレート、メンションしたバリエーション、キャラクターの説明を送ります。

アセットアセットアセットアセットキャラクターアセットMayaロケーションアセット夜市画像生成シーン 1 · @maya:1 が果物を買う画像生成シーン 2 · @maya:1:smile が手を振る
1 つのキャラクターアセットと 1 つのロケーションアセットをすべてのシーンに入力するため、どの画像も同じ承認済みの画像から始まります。

プロンプトでキャラクターをメンションする

プロンプトで @ を入力してキャラクターを選ぶと、@maya:1 のようなメンションがチップとして表示されます。メンションは、文の中で書いた位置にキャラクターを正確に配置します。また、どの画像を送り、そこから何を取り入れるかも決めます。

メンションノードが送るもの
@maya:1ポートレート。「the person from reference image A」として記述されます。
@maya:1:smileポートレートの代わりに、smile(笑顔)の表情。
@maya:1:faceポートレート。顔だけに使われます。服と髪はプロンプトの内容に従います。
@maya:1:walking:clotheswalking(歩く)のポーズ。服だけに使われます。
@maya:1~lockこのメンションで、顔の固定を強制的にオンにします。
@maya:1~nolockこのメンションで、顔の固定を強制的にオフにします。

メンションのチップのサムネイルをクリックすると画像を差し替えられ、ラベルをクリックすると役割を選べます。メンション名は、キャラクターの名前から作られます。たとえば「Maya Chen」は @maya-chen:1 になります。

アップロードした画像も、同じようにメンションできます。画像アップロード(Upload Image)ノードに「Jacket」のようなラベルを付けて、@jacket:1:clothes と書きます。

プロンプト
@maya:1:face wearing @jacket:1:clothes, standing in @night-market:1:background at dusk

モデルが受け取るものを確認する

画像ノードや動画ノードの設定パネルには、挿入されたリファレンスの一覧があります。この一覧には、ノードが送るすべての画像が、それぞれの元になったキャラクターやバリエーションとともに表示されます。

  • 順序:リファレンス入力の画像が最初に来て、その後にアセットが接続した順に続きます。この順序が、プロンプト内の A、B、C の文字に対応します。タイルはドラッグして並べ替えられます。ほとんどのモデルは、最初のリファレンスを最も重要なものとして扱います。
  • 削除:タイルの × をクリックすると削除できます。メンションの場合は、プロンプトからメンションが削除されます。キャラクターのポートレートの場合は、このノードでだけポートレートが非表示になります。メンションしたバリエーションは引き続き送られます。

接続してもメンションしていないキャラクターも、ポートレートを送ります。キャラクターの画像出力は、説明や役割を含まず、画像だけを通常のリファレンスとして送ります。

ステップ 3:各画像から何を取り入れるかを指定する

すべてのリファレンスには役割があり、そのリファレンスから何を取り入れるかをモデルに伝えます。キャラクターの役割は、最初は被写体全体を表す person です。そのほかのキャラクターの役割は、face(顔)、clothes(服)、hair(髪)、pose(ポーズ)、expression(表情)、style(スタイル)です。自分で決めた任意の単語も使えます。

  • ノードがデフォルトを決めます。キャラクターアセットノードの役割メニューは、そのキャラクターから送られるすべてのリファレンスに適用されます。
  • メンションで上書きできます。1 つのメンションに付けた役割は、ノードのデフォルトより優先されます。
  • ref-only は、語句を付けずに画像を送ります。モデルは画像を見ますが、そこから何を取り入れるかは伝えられません。

役割を使うと、1 つのプロンプトで複数のリファレンスを組み合わせられます。たとえば、1 枚目の画像から顔を、2 枚目から服を、3 枚目から背景を取り入れます。すべてのアセットの種類とその役割については、リファレンスの役割を読んでください。

顔を固定する

顔の固定は、顔を保つようモデルに求める短い一文を、プロンプトに追加します。ノードの顔の固定の行、設定パネル、またはスタジオのプロフィールページで設定します。3 つの場所はすべて、同じ設定を変更します。

レベル追加される内容
オフ(デフォルト)顔に関する一文は追加されません。役割だけがモデルを導きます。
ソフト穏やかな一文です。全体的に本人と似た姿を保つよう求めます。
厳密強い一文です。顔を正確に一致させるよう求めます。

固定の一文はそれぞれ対象のリファレンス画像を名指しするため、複数のキャラクターが登場するシーンでも混同しません。1 つのメンションだけ固定を変えるには、チップのメニューを開いて顔の固定をオンにするか、メンションの後に ~lock または ~nolock と入力します。

まずはオフと明確な役割から始めます。顔がぶれる場合は、ソフトまたは厳密をオンにします。ロケーションの場合、固定の一文は代わりに、建築、レイアウト、ライティングを一致させるようモデルに求めます。

キャラクターアセットノードの設定パネルには、下流のプロンプトに人物説明を挿入もあります。オンにすると、接続された画像ノードと動画ノードのプロンプトに、基準となる説明が追加されます。

ステップ 4:ボードやグリッドで基準を固める

被写体をあらゆる方向から見せる 1 枚の画像は、強力な基準になります。Nodaro では 2 種類を作れます。

  • 一貫性グリッドは、標準的なアングルを文字なしで並べたすっきりしたグリッドで、モデル向けです。画像生成のキャラクターリファレンスグリッド(Character Reference Grid)プリセットを使って、写真から作ります。
  • リファレンスボードは、ラベルとカラーパレットが入ったエディトリアル風のシートで、人が見るためのものです。

キャラクタースタジオでは、シートページで Studio · Main のようなターンアラウンドを構成します。ボードページでは、キャラクターの画像 2〜12 枚から、情報量の多いアイデンティティボードを構成します。@ メニューでは、ボードが最初に表示されます。

グリッドやボードは、各画像ノードのリファレンス入力、または動画生成の画像リファレンス入力に接続します。すべてのプリセットと、それぞれに合うモデルについては、リファレンスボードを読んでください。

1 つのシーンに複数のキャラクター

  1. すべてのキャラクターアセットノードを、アセット入力に接続します。
  2. プロンプトで各キャラクターをメンションします。たとえば @maya:1 hands a letter to @leo:2 のように書きます。
  3. 各メンションが明確になるように、キャラクターごとに異なる名前を付けます。
プロンプト
@maya:1 hands a letter to @leo:2 across the counter, both lit by a single warm lamp

キャラクターとほかのアセットの名前が同じ場合は、キャラクターが優先されます。優先順位は、キャラクター、ロケーション、名前付きの画像、クリーチャー、オブジェクトの順です。

2〜4 人のキャラクターが登場するストーリーでは、キャストメガグリッド(Cast Mega Grid)を 1 枚作ります。1 枚の画像の中で、各キャラクターにラベル付きの帯が割り当てられます。その後は、キャラクターを改めて描写する代わりに、グリッド上の名前で参照します。顔の描写を減らすほど、顔はぶれにくくなります。

リファレンスを受け付けるモデルを選ぶ

キャラクターの画像が役立つのは、リファレンス画像を受け付けるモデルだけです。次の画像モデルは、リファレンス画像を受け付けます。

モデル開発元モードクレジット詳細
Nano Banana ProGoogleテキストから画像、画像から画像45 からNano Banana の最上位モデルで、文字の描画、図解、複雑な構図に最適です。
Nano Banana 2Googleテキストから画像、画像から画像20 から解像度(1K/2K/4K)をネイティブに制御でき、Google 検索の情報も参照できる新しい Nano Banana です。
GPT Image 2.5 FlareOpenAIテキストから画像15 から日常使い向けの高速な GPT Image 2.5 で、GPT Image 2 より高品質なうえ、待ち時間は約半分です。2 つある GPT Image 2.5 のうちのデフォルトで、SNS やクリエイター向けのコンテンツ、キャンペーンのバリエーション、サムネイル、すばやい試行錯誤、大量の制作に向いています。
GPT Image 2.5 SunburstOpenAIテキストから画像15 から精度重視の GPT Image 2.5 で、生成時間と引き換えに、より細かな制御とディテールの忠実度が得られます。パッケージ、図解、EC 向けのレタッチ、完成度の高いキャンペーン素材など、ブランドに関わる制作や本番の制作に選んでください。
GPT Image 2OpenAIテキストから画像15 から次世代の GPT Image で、より多くのアスペクト比に対応し、料金は解像度(1K/2K/4K)で決まります。
Seedream 5 ProBytedanceテキストから画像18 からフラッグシップの Seedream 5 Pro で、指示への追従性と視覚的な推論が最も優れています。品質は basic が 1K、high が 2K です。
Flux Kontext ProBlack Forest Labsテキストから画像、画像編集13コンテキストを認識した編集とスタイル転送を行います。編集を重ねても、被写体の同一性をしっかり保ちます。
  • 同じ顔にしたいなら、Nano Banana ファミリーを使います。Nodaro のテストでは、Nano Banana Pro と Nano Banana 2 が、写真から同じ人物を再現しました。
  • GPT Image 2 は似た人物を作ります。GPT Image 2 は複雑なレイアウトによく従いますが、顔は同一ではなく、似ている程度でした。
  • リファレンスを受け付けないモデルもあります。Imagen 4、Ideogram V3、Z-Image は、添付した画像を無視します。設定パネルに警告が表示され、Nano Banana Pro が提案されます。
  • モデルごとに、受け付けるリファレンスの数には上限があります。モデルが受け付ける数より多くの画像を添付すると、設定パネルに警告が表示され、最初の画像だけが送られます。最も重要な画像を最初に置いてください。

すべてのモデルの比較については、モデルの選び方を読んでください。

動画でキャラクターの一貫性を保つ

動画では、クリップのすべてのフレームで顔を保つ必要があります。次の 2 つの方法のどちらか、または両方を使います。

方法 1:静止画から始める

キャラクターを接続した画像生成で、ショットを静止画として作ります。次に、その静止画を動画生成の開始フレーム入力に接続します。最初のフレームが同一性を引き継ぎ、モデルはそこから動きを付けます。

アセット開始フレームキャラクターアセットMaya画像生成屋上にいる @maya:1動画生成カメラの方へ振り向く
キャラクターが静止画の姿を決め、その静止画が動画の最初のフレームになります。

この方法は、VEO 3.1 Quality や Kling ファミリーを含む、画像から動画を作るすべてのモデルで使えます。学習済みのキャラクターを動画に登場させる方法でもあります。

方法 2:動画モデルにリファレンスを渡す

一部の動画モデルは、リファレンス画像を受け付け、同一性のリファレンスとして使います。キャラクターアセットノードを動画生成のアセット入力に、グリッドやボードを画像リファレンスに接続します。リファレンスは、開始フレームの有無にかかわらず機能します。

アセット画像リファレンスプロンプトキャラクターアセットMaya画像生成キャストメガグリッドテキスト@maya:1 が雨の中を走る動画生成Seedance 2
リファレンスに対応した動画モデルが、キャラクターとキャストグリッドをリファレンスとして受け取り、プロンプトをテキストノードから受け取ります。
モデル受け付けるリファレンス補足
Seedance 2、2 Fast、2 Mini画像 9 枚、動画 3 本、オーディオクリップ 3 本リファレンスを 1 つでも接続すると、開始フレームと終了フレームもリファレンスに加わります。
Seedance 2.5画像 30 枚、動画 10 本、オーディオクリップ 10 本1 本のクリップで最大 30 秒です。
MiniMax Hailuo 3画像 9 枚、動画 3 本、オーディオクリップ 3 本リファレンスを 1 つでも接続すると、フレームもリファレンスに加わります。
Wan 3.0、Wan 3.0 Prime画像 10 枚、動画 5 本、オーディオクリップ 5 本リファレンスを 1 つでも接続すると、フレームもリファレンスに加わります。
Gemini Omni、Gemini Omni Flash画像 7 枚開始フレームが最初の枠を使います。上限を超えたリファレンスは、拒否されるのではなく破棄されます。
VEO 3.1 Fast、VEO 3.1 Lite合計 3 つの入力(開始フレームはそのうちの 1 つを使います)リファレンスを使うと、クリップは 8 秒になり、終了フレームは破棄されます。
Kling 3 Omni最大 7 枚の画像終了フレームも受け付けます。
HappyHorse 1.1 Ref2V画像 1〜9 枚リファレンスだけから生成します。

VEO 3.1 Quality には、リファレンスモードがありません。リファレンスを使うには VEO 3.1 Fast か Lite を使うか、Quality に開始フレームを渡します。

動画のプロンプトでリファレンスを指し示す

リファレンスに対応したモデルでは、トークンを使って、語句を特定のリファレンスに結び付けられます。これらのトークンは @ メニューから選べるほか、手で入力することもできます。

トークン変換後
{image:1:person}「the person from @image_1」
{image:2:jacket}「the jacket from @image_2」
{video:1:clip}「the clip from @video_1」

番号は、画像リファレンスの画像に先に振られ、その後にアセットが続きます。開始フレームと終了フレームには、番号が振られません。Nodaro はそれらを最後に追加し、最初のフレームまたは最後のフレームとして名指しします。キャラクターとロケーションは、動画のプロンプトでも @maya:1 のメンションを使えます。

動画のその他のヒント

  • シーンレシピのプリセットを使います。動画生成のシーンレシピプリセットは、リファレンスボードとキャストグリッドを読み取るように作られています。プリセットを参照してください。
  • フレームの送り方は「自動」に任せます。Seedance 2 ファミリーは、開始フレームをリファレンス画像として送ると、見た目をよりよく保ちます。フレームの送信形式を自動に設定すると、この送り方が自動的に選ばれます。
  • 全身の画像を動かします。スタジオでのキャラクターのモーションは、正面の全身のアングルから動きが付けられます。全身の画像は、頭と肩だけのポートレートよりも自然に動きます。

学習済みのキャラクター

Nodaro Cloud では、キャラクターの画像でカスタムモデルを学習させられます。画像生成ノードがそのキャラクター 1 人だけを使う場合、学習済みモデルが実行され、画像 1 枚につき 20 クレジットかかります。学習済みモデルは本人に最も近い姿を再現しますが、使えるのは画像生成だけで、キャラクターが 1 人の場合に限られます。キャラクターの学習を参照してください。

それでも顔がぶれるとき

起きていること対処方法
画像ごとに顔が変わるモデルがリファレンスを受け付けるか確認します。ポートレートを承認し、アイデンティティアンカーセットを作ります。
同じ人物ではなく、似た人物になるNano Banana Pro か Nano Banana 2 に切り替えます。顔の固定をソフトまたは厳密に設定します。
新しい衣装にしたいのに、リファレンスの衣装が出てくる@maya:1:face のように face の役割を使い、新しい衣装をプロンプトで記述します。
2 人のキャラクターが混ざる、または入れ替わるそれぞれを名前でメンションする、はっきり異なる名前を付ける、またはキャストメガグリッドを作ります。
リファレンスが無視されているように見えるモデルの横にある警告を確認します。そのモデルがリファレンスを受け付けないか、添付した数より少ない数しか受け付けない可能性があります。
動画で顔がぶれる静止画から始めるか、動画のリファレンスの表にあるモデルに切り替えます。
ボードやグリッドの顔がぶれているもう一度生成します。少しずれたボードからは、以降のすべての画像が少しずれて作られます。

ヒント

  • まず写真を改善します。ぼやけた写真、フィルターのかかった写真、ほかのものが多く写り込んだ写真の欠点は、どんな設定でも補えません。
  • 描写を減らし、リファレンスを増やします。顔は画像に任せ、動作はプロンプトに任せます。
  • すべてに名前を付けます。キャラクター、バリエーション、アップロードした画像は、短くわかりやすい名前にするとメンションしやすくなります。
  • プロジェクトごとにスタイルを 1 つに絞ります。リアルなキャラクターとアニメ調のキャラクターが並ぶと、ストーリーの見た目の統一感が崩れます。
  • 妥協せずに生成し直します。ぶれた画像をそのまま使い続けると、その画像から作られるすべての画像がぶれます。

コードとエージェントから

コードからは、キャンバスを使わずに同じリファレンスを送れます。POST /v1/generate-image の呼び出しは、API から読み取ったキャラクターの承認済み画像など、リファレンス画像の URL を受け付けます。また、画像ごとに役割と顔の固定を指定した、構造化されたリファレンスも受け付けます。キャラクターと MCP ツールを参照してください。

よくある質問

最終更新

目次