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 から
- キャラクター3面図の画像を添付
- プロンプトに、キャラクター設定文章を書く
- プロンプトに、今回作りたいシーンを書く
でも良いのですが、1と2は、そのキャラクターで固定されている情報なので、毎回書く必要はなさそう。
そこで n8n ワークフローを作り、楽をしたいと思います。
ワークフローの概要

フローの組み方は色々ありますが、とりあえずは以下のフローが良いと思います。
- Chat trigger: When chat message received
- AI node: Message a model
- Google Drive node: Download file
- :Extract from File node
- HTTP Request node.
- code node
- 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種類あります。
- 挨拶文無しで、いきなり画像が届く
- 挨拶文の後に画像が届く
どちらになるか、制御できないようです。
※制御方法をご存じの方がいらっしゃいましたら、教えて下さい。
なので、届いたデータの形式を元に、inlineData だけを後続 node に渡します。
Convert to File node
inlineData を、ファイルに変 換します。
この node により、n8n インターフェース上で、 view / download の機能が使えます。
使ってみた
スーパーマンのように空を飛んでいるシーン。
hana dog は背中に乗っている。

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

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


