Copilot StudioでNano Bananaを呼び出す画像生成エージェントを作ってみた

生成AIの普及に伴い、「画像を自動で生成したい」というニーズが業務の中でも少しずつ広がっています。
とはいえ、画像生成サービスとAPI連携するには、個人でAPIキーを管理したり、設定手順を覚えたりと、導入のハードルを感じる方も少なくありません。

今回ご紹介するのは、Microsoft Copilot Studioの「エージェント」と「エージェントフロー」の機能を活用して、Googleが提供する画像生成API「NanoBanana」とスムーズに連携する方法です。
社内で共有できる仕組みにしておけば、使い方を統一しつつ、特別な準備なしで気軽に試せるようになります。

環境

使用したツールは以下の通りです。

作業概要

今回の作業は、下記の手順で行いました。

  1. Copilot Studioでエージェントフローを新規作成
  2. エージェントから受け取る入力(画像指示テキスト)の設定
  3. Nano Banana(Gemini 2.5 Flash Image API)を呼び出すHTTPアクションの設定
  4. 生成画像(Base64形式)をOneDrive for Businessに自動保存
  5. OneDrive for Businessの共有リンクを発行
  6. エージェントへ画像URLとして返す処理の設定
  7. エージェントを新規作成

※今回作成したエージェントフローは下記です。

作業内容

Copilot Studioでエージェントフローを新規作成

新しいエージェントフローを新規に作成します。

エージェントから受け取る入力(画像指示テキスト)の設定

入力を追加するを選択し、任意の変数名でユーザーの入力内容を取得します。

Nano Banana(Gemini 2.5 Flash Image API)を呼び出すHTTPアクションの設定

HTTPノードで下記を設定します。

Body部のtextには、上記で作成したエージェントがフローを呼び出したときのtext変数を動的コンテンツとして設定します。

※スラッシュを入力すると動的コンテンツが選択できます。

APIキーはGoogle AI Studioで取得します。

https://aistudio.google.com/app/apikey?hl=ja

項目 設定内容
URI https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-image:generateContent
Method POST
Headers x-goog-api-key:APIキー / Content-Type:application/json
Body {"contents":[{"parts":[{"text":"@{triggerBody()?['text']}"}]}]}

Body部には下記のJsonをコピーして使用してください。

{
  "contents": [
    {
      "parts": [
        { "text": "@{triggerBody()?['text']}" }
      ]
    }
  ]
}

OneDrive for Businessに画像を保存

Folder Pathに、OneDrive for Businessの任意のフォルダを設定します。

File Nameに下記を設定します。

trim(concat(formatDateTime(utcNow(),'yyyyMMdd-HHmmss'), '_nanobanana.png'))

File Contentに下記を設定します。

※'HTTP'は上記で作成したHTTPノードの名称です。異なるノード名で作成した場合は修正して下さい。

base64ToBinary(
  body('HTTP')?['candidates']?[0]?['content']?['parts']?[0]?['inlineData']?['data']
)

OneDrive for Businessに保存した画像の共有リンクを作成

Fileに、動的コンテンツを使用して上記のCreate fileが作成したIDを設定します。

Fileの欄に / を入力すると選択できます。

Link typeはViewに設定します。

Link scopeはOrganizationに設定します。

OneDrive for Businessに保存された画像のリンクをエージェントに送信

上記で作成された共有リンクをエージェントに送信します。

出力を追加するを選択し、任意の変数名で送信します。

Copilot Studioでエージェントを新規作成

新しいエージェントを新規に作成します。

指示文に下記を設定します。

※上記までに作成したエージェントフローを実行するように、指示文を修正してください。

あなたは画像生成を担当するエージェントです。  
ユーザーが作成したい画像の内容を聞き取り、その内容を 画像生成エージェント(Nano Banana連携) に渡して実行します。  
フローを呼び出す際は、ユーザーの要望をそのまま画像生成の指示文として送信してください。  

【動作の流れ】  
1. ユーザーの指示から、生成したい画像の内容を正確に読み取る。  
   例:「夕焼けの海辺に立つ猫」→「夕焼けの海辺に立つ猫の画像を生成」  
2. ワークフロー 画像生成エージェント(Nano Banana連携) を呼び出し、 取得した内容を入力として渡す。  
3. ワークフローの出力(生成された画像URLまたはファイル)をユーザーに提示する。  

【注意点】  
- 不明確な依頼のときは、短く確認質問をしてから実行する。  
- ユーザーが明確な画像指示をした場合は、追加確認せず即ワークフローを実行する。  
- 出力には、生成結果(画像またはURL)のみを返す。  
- テキストでの説明は最小限にする。

ツールに、作成したエージェントフローを設定します。

実行結果

実行結果は下記です。

下記のプロンプトをエージェントに入力して実行しました。

シンプルな白背景に置かれたコーヒーメーカー。自然な光。商品紹介資料に使えるように、くっきりときれいに表現。

作成された画像です。

OneDrive for Businessに保存すれば、エクスプローラーで一覧表示できます。

Copilot Studioのエージェントは、各種チャネルと連携が可能です。

今回はOneDrive for Businessとの接続にMicrosoft認証を使用した為、Teamsなどの連携に限定されますが、保存先や認証方法を変更すれば、Slackなどにも連携できます。

まとめ

今回は、Copilot Studioの「エージェント」と「エージェントフロー」を活用し、外部の画像生成サービス 「NanoBanana」 と連携する仕組みを構築してみました。

このように、外部APIとの接続をあらかじめフローとして整備しておくことで、社員は個別の設定やAPIキー管理をすることなく、簡単にサービスを利用できるようになります。

たとえば以下のようなケースが考えられます。

  • 「画像生成APIを使ってみたいが、個人でAPIキーを管理するのは不安」
  • 「複数人で利用したいが、料金の管理や使い方のばらつきが心配」

こうした場合でも、Copilot Studioのエージェントを経由すれば、統一されたルールのもと、安全かつ効率的に試すことが可能です。

今回は画像生成を題材にしましたが、応用の幅は広く、以下のようなさまざまな外部AIサービスと連携して業務に活かすことができます。

  • 音声の文字起こし(音声 → テキスト)
  • 書類のOCR(PDFや画像から文字を読み取る)
  • 高精度な翻訳や要約サービスとの連携

このような仕組みを使えば、API利用に関する権限管理・料金の上限設定なども一元的にコントロール可能となり、情報漏洩やコスト管理の観点からも安心して導入できます。

ぜひ、身近な業務や関心のあるAPIで試してみてください。

執筆担当者プロフィール
株木 誠

株木 誠(日本ビジネスシステムズ株式会社)

先端技術部の株木です。 Azure OpenAI Service を活用するアプリ開発を担当しています。

担当記事一覧