n8nでNano Bananaキャラクター固定画像生成を自動化する方法

November 16, 2025

n8n で Nano Banana キャラクター固定画像生成を楽ちんにする方法を紹介します。

Nano Banana の凄さ

Nano Banana すごいです。Nano Banana 素晴らしいです。

画像生成AIの基本である画像生成機能自体はもちろんすごいのですが、
キャラクターの固定能力と画像の参照能力は、他の画像生成AIと一線を画しています。

キャラクター固定能力の高さ

「キャラクターの一貫性: Character Consistency」や「キャラクターの参照: Character Reference」とも言われます。

「この画像を参照して…」「このキャラクターを使用して…」といった指示に、どれだけ忠実に従えるか、、、
これがキャラクター固定能力であり、Nano Bananaはこの点で非常に優れています。

「このキャラクターが、○○で✕✕しているシーンを描いて」と指示すると、本当にそのとおりになります。

いままで、できそうでできなかったやつです。

キャラクターの固定のさせ方

キャラクターの固定方法

では、どうやってキャラクターを固定するのか。

基本的には、固定させたいキャラクターの画像を参照画像として読み込ませ、「そのキャラクターを使って・・・」などと指示を出します。

なお、複数の参照画像がある場合には、「1枚目は、、、2枚目は、、、3枚目は、、、」と、添付された順番で指定できます。

参照画像のコツ – 3面図

ここで、キャラクター固定の精度を上げるいくつかの重要なコツがあります。

どのような参照が画像がいいのか。

3面図、4面図を用意する

3面図:正面、横(側面)、後ろの3方向から撮影した図
正面、横、真上 の3方向のこともあります。
Character Turnaround, Turnaround Sheet, Character Model Sheet

正面から撮影したショットだけでも、それなりに機能しますが、
それだけだと、撮影角度が変わると、狂い始めます。

例えば、獣形ロボットの正面写真だけを準備して渡し、
後ろ姿を撮影させるとどうなるでしょうか?

背面に関しては、正面と矛盾がない範囲で、自由に作られてしまいます。

キャラクターによっては、尻尾があったり、なかったりします。
形状も、様々になります。

ちょっとテストしてみます。

3面図無しのテスト

Buffalo-type robot, chubby and stout, bipedal, no background で生成させてみました。
バッファローが2本足で立っているロボットが描かれました。
特に指定しませんでしたが、正面からのショットです。

A back view shot of that character. で、後ろを描かせてみました。
複数回描かせてみます。

背中に毛があったり、背骨みたいのがついていたりします。

考えてみれば、当たり前ですね。
指示がない(参照画像に写っていない)部分に関しては、AIが勝手に想像するしかないのです。

このブレを防ぐためにも、背面のショットも有ったほうが良いです。

「キャラクター設定」が重要

プロンプトを作る際に、「そのキャラクター」と、漠然と指定してもキャラクター固定の効果は動きますが、
精度を上げるためには、事前にキャラクターの名称を決め、三面図と一緒に渡し、プロンプト内でその名称を使用して指示する方がよいです。

「キャラクター設定」の例

今回のキャラクター設定は、以下の通りにしました。

なお、後述しますが、英語にすることが重要なので、正式名称を英語にしてあります。

# キャラクター設定文書
キャラクター1: Hana Robo
基本情報:

名前: 花ロボ, Hana Robo
タイプ: ロボット型キャラクター
特徴: 頭部に花を持つ友好的なロボット

外見の詳細:

頭部: グレーの四角いボックス型。頭頂部に黄色とオレンジの花が咲いている
顔: シンプルな黒い点の目と楕円形の口。無表情だが愛らしい印象
胴体: 上部がライトグレー、下部がダークグレーの二層構造
腕: 短く、横に広がった形状。ライトグレー
足: 短い円柱状の脚。グレー
全体的な印象: ミニマルでかわいらしいローポリゴン風デザイン

性格/設定:

穏やかで優しい性格
花を大切にしている
花ドッグの親友・保護者的存在


キャラクター2: Hana Dog
基本情報:

名前: 花ドッグ, Hana Dog
タイプ: 犬型ロボット
特徴: 赤い花を持つ元気な犬型キャラクター

外見の詳細:

頭部: オレンジブラウンの四角いボックス型。口元に赤い花をくわえている
耳: 大きな三角形の垂れ耳。ダークブラウン
顔: 黒い丸い目と三角形の鼻。明るく親しみやすい表情
胴体: オレンジブラウンの四角いボディ
足: 短い四本足。ダークブラウン
全体的な印象: コーギーのようなプロポーションでキュートなローポリゴン風デザイン

性格/設定:

明るく活発な性格
花を口にくわえているのがトレードマーク
花ロボと常に一緒に行動する相棒


キャラクター同士の関係:

花ロボと花ドッグは切っても切れない仲良しコンビ
お互いに花を持っていることが絆の象徴
二人で平和な世界を守っている

デザインコンセプト:

ローポリゴン・ボクセル風の3Dスタイル
シンプルで親しみやすいフォルム
花をモチーフにした癒し系デザイン

プロンプトを英語にする

Nano Banana は日本語に対応していますが、
2025-11-16 現在、プロンプトは、英語で書いたほうが、圧倒的に精度が上がります。

なので、深く考えずに、プロンプトは、英語に翻訳させます。

n8n を活用する

結構やることが多いですね。

毎回 Google AI Studio から

  1. キャラクター3面図の画像を添付
  2. プロンプトに、キャラクター設定文章を書く
  3. プロンプトに、今回作りたいシーンを書く

でも良いのですが、1と2は、そのキャラクターで固定されている情報なので、毎回書く必要はなさそう。

そこで n8n ワークフローを作り、楽をしたいと思います。

ワークフローの概要

フローの組み方は色々ありますが、とりあえずは以下のフローが良いと思います。

  1. Chat trigger: When chat message received
  2. AI node: Message a model
  3. Google Drive node: Download file
  4. :Extract from File node
  5. HTTP Request node.
  6. code node
  7. Convert to File node

ワークフローの簡単な解説

Chat trigger

作りたい「シーン」指示=プロンプトを受け付けるための node です。

n8n では、文字列をダイレクトに受け付ける node がないので、set node で変数に格納するか、
chat node で、チャット入力欄に文字列を入力する手法が取れます。
※もっと適切な node があったら、ぜひ教えて下さい。

AI node

Chat node で入力された「シーン」の文章と、
キャラクター指示書と、
AI への指示をまとめてAIに渡します。

こんな感じになると思います。

以下の文章を画像生成AI向けのプロンプトに変換してください。
解説や挨拶は不要です。英語の回答だけ出力してください。

=====

このキャラクター三面図を厳密に参照して、以下のシーンの画像を生成してください。

なお、キャラクターの特徴は以下のとおりです。

# キャラクター設定文書
キャラクター1: Hana Robo
基本情報:

名前: 花ロボ, Hana Robo
タイプ: ロボット型キャラクター
特徴: 頭部に花を持つ友好的なロボット

外見の詳細:

頭部: グレーの四角いボックス型。頭頂部に黄色とオレンジの花が咲いている
顔: シンプルな黒い点の目と楕円形の口。無表情だが愛らしい印象
胴体: 上部がライトグレー、下部がダークグレーの二層構造
腕: 短く、横に広がった形状。ライトグレー
足: 短い円柱状の脚。グレー
全体的な印象: ミニマルでかわいらしいローポリゴン風デザイン

性格/設定:

穏やかで優しい性格
花を大切にしている
花ドッグの親友・保護者的存在


キャラクター2: Hana Dog
基本情報:

名前: 花ドッグ, Hana Dog
タイプ: 犬型ロボット
特徴: 赤い花を持つ元気な犬型キャラクター

外見の詳細:

頭部: オレンジブラウンの四角いボックス型。口元に赤い花をくわえている
耳: 大きな三角形の垂れ耳。ダークブラウン
顔: 黒い丸い目と三角形の鼻。明るく親しみやすい表情
胴体: オレンジブラウンの四角いボディ
足: 短い四本足。ダークブラウン
全体的な印象: コーギーのようなプロポーションでキュートなローポリゴン風デザイン

性格/設定:

明るく活発な性格
花を口にくわえているのがトレードマーク
花ロボと常に一緒に行動する相棒


キャラクター同士の関係:

花ロボと花ドッグは切っても切れない仲良しコンビ
お互いに花を持っていることが絆の象徴
二人で平和な世界を守っている

デザインコンセプト:

ローポリゴン・ボクセル風の3Dスタイル
シンプルで親しみやすいフォルム
花をモチーフにした癒し系デザイン



{{ $json.chatInput }}
=====
Google drive: Download file node

事前に3面図を Google Drive にアップロードしておきます。

そして、その画像の ID を取得しておきます。
※n8n Google drive: file search などを使うと楽です

Extract from File node

Nano Banana に参照画像を提出する際には、 base64 encode された文字列をそえることになります。

n8n では Extract from file node で実現できます。

HTTP Request node

いよいよ、Nano Banana に投げます。

Endpoint は https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-image:generateContent です。

なお、画像生成自体はここで完了しています。
ただ、完成した画像も base64 encode された文字列で届きますので、このままだと人間には理解できません。

後続 node でファイルに変えて、表示したり・ダウンロードしたりできるようにしましょう。

code node

ここはちょっとしたハマりポイントです。

というのも、Nano Banana の回答フォーマットが大きく2種類あります。

  1. 挨拶文無しで、いきなり画像が届く
  2. 挨拶文の後に画像が届く

どちらになるか、制御できないようです。
※制御方法をご存じの方がいらっしゃいましたら、教えて下さい。

なので、届いたデータの形式を元に、inlineData だけを後続 node に渡します。

Convert to File node

inlineData を、ファイルに変換します。

この node により、n8n インターフェース上で、 view / download の機能が使えます。

使ってみた

スーパーマンのように空を飛んでいるシーン。
hana dog は背中に乗っている。

エベレストの山頂で凍えているシーン

ビーチでくつろいでいるシーン