AI活用

Gemini APIをJavaScriptで使う方法|Node.jsで最初の応答を取得する

Gemini APIの現行Interactions APIをNode.jsと公式Google Gen AI SDKから呼び出し、最初の応答を得る手順、保存設定、エラー確認を解説します。

この記事の目次
  1. 結論:@google/genaiとInteractions APIを使う
  2. Node.jsプロジェクトを準備する
  3. プロジェクトを作成する
  4. 公式SDKをインストールする
  5. APIキーを環境変数へ設定する
  6. JavaScriptで最初の応答を取得する
  7. モデル名を設定ファイルへ分ける
  8. Interactions APIを呼ぶ
  9. storeと会話状態を理解する
  10. 前の会話を継続する例
  11. 画像・PDF・長い入力へ広げる前の判断
  12. generateContentとの違い
  13. 代表的なエラーの切り分け
  14. まとめ

Gemini APIをJavaScriptから使う最短ルートは、Node.jsへ公式のGoogle Gen AI SDKを入れ、APIキーを環境変数へ設定し、Interactions APIの ai.interactions.create() を呼ぶ方法です。

Gemini APIには過去のサンプルでよく見かける generateContent もありますが、2026年7月17日時点の公式ドキュメントでは、新しい機能の提供先としてInteractions APIが案内されています。この記事は新規実装を想定し、現行の最小例を使います。

Node.jsプロジェクトの作成、APIキーの設定、最初の応答、会話状態と保存の考え方、代表的なエラーまで順番に解説します。

情報確認日:2026年7月17日(日本時間)

結論:@google/genaiとInteractions APIを使う

最小構成

  • Node.jsとnpm
  • Gemini APIキー
  • 環境変数 GEMINI_API_KEY
  • 公式パッケージ @google/genai
  • ai.interactions.create() を呼ぶサーバー側JavaScript
gemini-api-sample/
├── .gitignore
├── config.mjs
├── example.mjs
├── package-lock.json
└── package.json

APIキーはブラウザへ配信するコードに置かず、Node.jsなど自分が管理するサーバー側から呼び出します。キー管理の基本はAI APIキーの安全な管理方法も参照してください。

スポンサーリンク

Node.jsプロジェクトを準備する

プロジェクトを作成する

mkdir gemini-api-sample
cd gemini-api-sample
npm init -y
npm pkg set type=module
npm pkg set scripts.start="node example.mjs"

Node.jsの対応条件はSDKの更新で変わる可能性があります。現行LTSを使い、導入時のpackage要件も確認してください。

公式SDKをインストールする

npm install @google/genai

旧パッケージや非公式ラッパーと混同せず、公式ドキュメントに記載されている @google/genai を使います。

APIキーを環境変数へ設定する

macOS・Linuxでは次の形式です。

export GEMINI_API_KEY="your_api_key_here"

PowerShellでは次の形式です。

$env:GEMINI_API_KEY="your_api_key_here"
node_modules/
.env
.env.*
!.env.example

注意:本物のキーをサンプルコード、Git、画面共有へ含めないでください。誤って公開したキーは削除表示だけで済ませず、無効化して再発行します。

JavaScriptで最初の応答を取得する

モデル名を設定ファイルへ分ける

config.mjsを作成します。

export const MODEL =
  process.env.GEMINI_MODEL || "gemini-3.5-flash";

初期値は2026年7月17日時点の公式Get startedに掲載される例です。利用できるモデルはプロジェクトや時期で変わるため、環境変数で差し替えられる構成にしています。

Interactions APIを呼ぶ

example.mjsを作成します。

import { GoogleGenAI } from "@google/genai";
import { MODEL } from "./config.mjs";

if (!process.env.GEMINI_API_KEY) {
  throw new Error("GEMINI_API_KEY is not set");
}

const ai = new GoogleGenAI({});

const interaction = await ai.interactions.create({
  model: MODEL,
  input: "JavaScriptのconstを50文字程度の日本語で説明してください。",
  store: false,
});

console.log(interaction.output_text);

実行します。

npm start

成功すると、interaction.output_text にテキスト応答が入ります。この例では1往復だけなので、サーバー側へInteractionを保存しない store: false を指定しています。

storeと会話状態を理解する

Interactions APIは、既定でInteractionを保存し、前のIDを previous_interaction_id に渡して会話を継続できます。公式ドキュメントでは、確認時点の保持期間として有料階層55日、無料階層1日が案内されています。保持条件は公開前に再確認してください。

方式 指定 特徴
状態あり 既定の保存+previous_interaction_id 履歴を毎回送り直さず会話を継続
状態なし store: false アプリ側で必要な履歴を管理

保存を使うかは、利便性だけでなく、入力データ、保持期間、削除要件、社内規程で判断します。store: false はバックグラウンド実行や前InteractionのIDによる継続と両立しないため、機能要件も確認します。

前の会話を継続する例

const first = await ai.interactions.create({
  model: MODEL,
  input: "私は犬を2匹飼っています。",
});

const second = await ai.interactions.create({
  model: MODEL,
  input: "犬は何匹でしたか?",
  previous_interaction_id: first.id,
});

console.log(second.output_text);

toolssystem_instruction、生成設定などはInteractionごとの設定です。継続時にも必要なものを毎回明示します。

画像・PDF・長い入力へ広げる前の判断

Geminiはマルチモーダル入力に対応しますが、最初からファイル処理まで加えると、MIMEタイプ、アップロード、サイズ、保存、権限の問題が増えます。まずテキスト1往復を成功させ、次の順に広げます。

  1. テキスト1往復
  2. ストリーミング表示
  3. 会話状態
  4. 構造化出力
  5. 画像・音声・文書
  6. Tool Calling

JSONをアプリで使う場合は、文章だけでJSONを要求する方法とスキーマ指定を分けて考えます。詳しくはAIにJSONを出力させる方法で解説しています。

generateContentとの違い

既存コードでは ai.models.generateContent() を見かけます。すぐに動かなくなるという意味ではありませんが、公式は新機能の提供先としてInteractions APIを案内し、移行ガイドも公開しています。

状況 判断
新規プロジェクト Interactions APIを先に検討する
既存generateContent実装 移行ガイドで機能差と保存方針を確認する
短期の検証コード 使うAPIと確認日をREADMEへ記録する

代表的なエラーの切り分け

症状 確認点
キーがない 実行した同じターミナルで環境変数を設定したか
認証エラー キーの有効性、対象プロジェクト、制限設定
モデルが見つからない モデルID、利用可能地域、API・SDKの現行ドキュメント
429 レート制限、割り当て、課金状態、再試行間隔
importエラー package導入、ES Modules設定、Node.js要件
出力が空に見える output_text、終了理由、安全フィルタ、レスポンス全体

まとめ

Gemini APIの新規JavaScript実装は、公式の @google/genai とInteractions APIから始めると、現在の機能提供方針へ合わせやすくなります。APIキーはサーバー側の環境変数へ置き、まず1往復を成功させます。

その後、保存方針を決めてから会話、ストリーミング、構造化出力、マルチモーダル、ツールへ段階的に広げてください。

スポンサーリンク