メインコンテンツへ移動
AIチュートリアル

Anima Reference Adapterで1枚の参照画像から一貫性のあるキャラクターを作成

ComfyUI向けAnima Reference Adapterのインストールと使い方、1枚のキャラクター参照画像から新しいシーンを生成する方法、ガイダンスとサンプリングの設定、APG・PAG・オプションのLoRAによる結果の改善方法を解説します。

Anima Reference Adapterで1枚の参照画像から一貫性のあるキャラクターを作成

Anima Reference Adapterとは?

Anima Reference Adapterは、1枚の参照画像とシーンのみを指定するプロンプトから、Anima画像を生成するためのComfyUI用カスタムノード一式です。髪、目、服装、アクセサリー、一部の描画スタイルを含む描かれている人物を維持しながら、ポーズ、背景、アクション、フレーミング、構図をプロンプトで制御できるようにします。

キャラクター名、アーティストタグ、詳細な外見タグを含める必要はありません。そのため、オリジナルキャラクターにも既知のキャラクターにも利用できます。現行バージョンは、300キャラクターを2,000ステップで学習したパイロットリリースです。

雨の夜の街を歩く参照キャラクター

この例は想定されるワークフローを示しています。視覚的なアイデンティティは参照画像から得られ、full body, walking, hands in pockets, city, street, night, rainのようなプロンプトで新しいシーンを定義します。

主な機能

  • 1枚の画像による条件付け:1枚の画像を入力し、キャラクターのアイデンティティと一部のスタイル的特徴を転写します。
  • シーンのみのプロンプト:キャラクターの外見を繰り返す代わりに、希望するアクション、ポーズ、場所、フレーミング、ライティングを記述します。
  • 独立したガイダンス:テキストCFGと参照ガイダンスを個別に調整できます。
  • APGとリスケール補正:参照ガイダンスを強く設定した際の過度な彩度を制御します。
  • ComfyUI統合:ローダー、参照latentノード、カスタムガイダーを提供します。
  • オリジナルキャラクター対応:認識可能なキャラクター名に依存しません。

アダプターの仕組み

参照画像は、白いレターボックスを付けて指定された出力サイズに合わせられ、Qwen-Image VAEによってエンコードされます。これにより、タイムステップ0で、ノイズのあるターゲットlatentの隣に、2つ目のクリーンなlatentフレームとして配置されます。

参照フレームのRoPE座標は、ターゲット画像のグリッドより先の位置へ移動されます。これによりピクセル単位のコピーが抑制され、参照画像とは異なるポーズや構図を指定できます。4,590万パラメータを含むランク32のLoRAが、Animaにこの追加フレームの読み取り方法を学習させます。アダプターLoRAは、参照画像が存在する場合にのみ有効になります。

テキストガイダンスと参照ガイダンスを分けることで、プロンプトへの忠実度とアイデンティティおよびスタイルの転写のバランスを調整できます。Adaptive Projected Guidance(APG)を利用すると、参照ガイダンスが高い場合でも色の暴走を抑えやすくなります。

必要条件

カスタムノードをインストールする前に、動作するComfyUI環境と、Animaに必要なモデルコンポーネントを準備してください。

  • Anima base v1.0
  • Qwen3-0.6Bテキストエンコーダー
  • Qwen-Image VAE
  • Anima Reference Adapterパイロットウェイト

AnimaのコンポーネントはCircleStone Labs Animaリポジトリから入手できます。アダプターのウェイトはHugging FaceのAnima Reference Adapterリポジトリから入手できます。

インストール

1. カスタムノードをインストールする

ターミナルを開き、ComfyUIのcustom_nodesディレクトリへ移動して、リポジトリをクローンします。

cd ComfyUI/custom_nodes
git clone https://github.com/ElectronGirl/ComfyUI-Anima-Ref-Adapter.git

2. アダプターのウェイトをダウンロードする

anima_ref_adapter_pilot_r32.safetensorsをダウンロードし、次のディレクトリに配置します。

ComfyUI/models/loras/anima_ref_adapter_pilot_r32.safetensors

3. Patch Sage Attentionをインストールまたはバイパスする

付属する2つのサンプルワークフローは、ComfyUI-KJNodesのPatch Sage Attentionノードを使用します。SageAttentionを使う場合はKJNodesをインストールしてください。使わない場合は、ワークフロー内でそのノードを選択し、Ctrl+Bでバイパスします。

4. ComfyUIを再起動する

ノードとウェイトをインストールした後、ComfyUIサーバーを再起動します。新しいノードを登録するため、Ctrl+F5でブラウザーインターフェースを再読み込みしてください。

最初の画像を生成する

1. 基本ワークフローを開く

クローンしたリポジトリにあるworkflows/anima_ref_adapter.jsonをComfyUIに読み込みます。もう1つのworkflows/anima_ref_adapter_pag.jsonにはAnima Safe PAGが含まれており、基本設定が動作した後に便利です。

2. 参照画像を読み込む

転写したいキャラクターのアイデンティティとスタイルが明確に分かる画像を選択します。Anima Ref Latentノードは、画像を選択した出力サイズに合わせ、必要に応じて白いレターボックスを追加し、VAEでエンコードします。また、空のターゲットlatentと、互換性のあるマルチ解像度ワークフロー用の半分のサイズの参照エンコードも作成します。

3. シーンのみのプロンプトを書く

品質タグ、キャラクターの性別、solo、シーンタグを使用します。キャラクター名、アーティスト名、外見の説明は追加しないでください。一般的なプロンプトの構成は次のとおりです。

masterpiece, best quality, score_7, newest, highres, absurdres, safe, <gender>, solo, <scene>

参照キャラクターを夕暮れのビーチに配置する場合は、次のように入力します。

masterpiece, best quality, score_7, newest, highres, absurdres, safe, 1girl, solo, cowboy shot, looking back, smile, beach, ocean, sunset

シーンのみのプロンプト例には、次のようなものもあります。

  • 上半身、座っている、カップを持つ、飲んでいる、カフェ、屋内、窓、日光
  • ポートレート、横向き、遠くを見る、桜、花びら
  • 全身、立っている、雪、森、冬
  • 上半身、読書、本を持つ、図書館、本棚

4. 推奨設定を適用する

ベースモデルでは、まず次の値を使用します。

  • Compute dtype: ModelComputeDtype で bf16
  • Sampler: Euler
  • Steps: 28~30
  • Scheduler: simple
  • Text CFG: 4.5
  • Reference guidance: 4.5~6
  • Correction: apg、または phi 0.5 の rescale
  • Reference offset: ref_offset_h は、学習時の値である 1.0 に保つ

fp16 ではなく bf16 を使用してください。プロジェクトのドキュメントによると、Anima は fp16 でオーバーフローします。

5. ワークフローをキューに追加する

モデル、VAE、テキストエンコーダー、参照画像、アダプターの重み、プロンプトが正しく接続されていることを確認します。プロンプトをキューに追加して、目的の画像を生成します。

カスタムノードを理解する

Anima Ref Adapter Loader

このノードは、アダプター LoRA を Anima の MODEL に接続します。ref_offset_h は、学習時に使用された値である 1.0 に保ちます。

Anima Ref Latent

このノードは、参照画像とターゲットの潜在表現を準備します。参照画像をフィットさせてレターボックス化し、VAE でエンコードし、半分のサイズのエンコードを作成して、選択した出力サイズの空の潜在表現を返します。

Anima Ref Guider

このノードは、SamplerCustomAdvanced が使用する GUIDER を生成します。テキストの cfg と ref_guidance を個別に制御でき、APG または rescale 補正にも対応します。また、PAG などの post-CFG パッチも実行します。

高度な調整のヒント

アイデンティティとプロンプトへの忠実度のバランスを取る

Reference guidance は、結果が参照画像にどの程度強く従うかを制御します。値 1 では、弱く、計算コストの低いコンディショニングになります。4.5~6 の値では、通常、キャラクターの細部やスタイルがより多く維持されますが、値を上げると彩度も強くなることがあります。高い guidance を使用する場合は、APG が推奨補正です。

オプションの LoRA は正しい順序で使用する

通常の LoRA は、Anima Ref Adapter Loader の前に接続します。ギャラリーの例では、Anima context-detailer LoRA を約 0.3、base-slider LoRA を約 0.6 で使用していました。これらの追加は任意であり、インストール要件ではありません。

Anima Safe PAG を追加する

より高度なグラフを使用するには、workflows/anima_ref_adapter_pag.json を開きます。ギャラリーの設定では、ブロック 18 に Anima Safe PAG を使用し、スケールを 1.3、適用区間を 0.2~0.9 に設定していました。

Anima turbo LoRA は慎重に使用する

Anima turbo LoRA もアダプターと併用できます。アダプターローダーの前に読み込み、ベースモデルの推奨値ではなく、turbo LoRA の通常の step と CFG 設定を使用してください。参照アダプター自体は Anima base v1.0 で学習されています。

単一解像度のサンプリングを優先する

Euler、28~30 steps、simple scheduler の組み合わせが推奨される出発点です。README によると、SamplerSPEED の半解像度ステージは信頼性が低くなります。これは、pilot adapter がこのプログレッシブなサンプリング構成向けに学習されていないためです。

参照入力を改善する

重要なアイデンティティの特徴が見える参照画像を使用します。ただし、生成されるポーズと構図は参照画像ではなく、プロンプトに従うことを想定してください。アクセサリーや細かな模様が消える場合は、reference guidance を上げると改善することがありますが、pilot model には小さなディテールに関する既知の限界があります。

現在の制限

  • 描画スタイルよりもキャラクターのアイデンティティのほうが、安定して転写されます。
  • 非常に絵画的なスタイルは、うまく転写されない場合があります。
  • 細かな模様、傷、イヤリング、珍しい肌の色は失われることがよくあります。
  • 大きな衣服の色が変わることがあります。
  • 参照したキャラクターが、シーン内の物体として再び現れることがあります。
  • アダプターは Anima で生成された画像のみを使って学習されており、ベースモデルのバイアスを引き継ぎます。
  • この pilot release では、キャラクターとスタイルの参照画像を分けて指定する機能はありません。

ロードマップには、キャラクター画像とスタイル画像の分離、3つのアーティストスタイルによる新規キャラクター 2,000 体の大規模データセット、絵画的なスタイルと細部の転写性能の向上、プログレッシブサンプラー用の半解像度トレーニングペアが含まれています。

ライセンス

ComfyUI ノードのコードは Apache 2.0 ライセンスで配布されています。アダプターの重みは CircleStone Model の派生物であり、CircleStone Non-Commercial License が適用されます。生成物を使用したり、アダプターをプロジェクトに統合したりする前に、重みのライセンスを確認してください。リポジトリには、このプロジェクトは CircleStone Labs と提携しておらず、承認も受けていないと記載されています。

まとめ

Anima Reference Adapterは、アイデンティティ、アーティスト、外見のタグを記述せずに、キャラクターを新しいシーンへ移動する実用的な方法を提供します。まず基本的なワークフローから始め、bf16、Eulerサンプリング、CFG 4.5、リファレンスガイダンスを4.5から6の範囲で使用します。基本ワークフローが機能したら、通常のLoRAをアダプターローダーより前に配置したまま、APG、Anima Safe PAG、またはオプションのLoRAを追加します。