Gemini 3 API の使い方:開発者向け完全ガイド (2026年版)
コード例で学ぶ、Google Gemini 3をアプリケーションに統合する方法
Hyperealで構築を始めよう
Kling、Flux、Sora、Veoなどに単一のAPIでアクセス。無料クレジットで開始、数百万規模まで拡張可能。
クレジットカード不要 • 10万人以上の開発者 • エンタープライズ対応
Gemini 3 API の使い方:2026年版開発者向け完全ガイド
Google の Gemini 3 は、推論、コード生成、マルチモーダル理解、および指示追従(Instruction Following)において大幅な進化を遂げた、最新世代のマルチモーダル AI モデルファミリーです。チャットボット、コンテンツ生成ツール、コードアシスタント、あるいはマルチモーダルアプリケーションの構築など、Gemini 3 API は強力な基盤を提供します。
本ガイドでは、認証、Python および JavaScript での API 呼び出し、マルチモーダル入力、ストリーミング、Function Calling、そして価格体系まで、利用開始に必要なすべてを解説します。
Gemini 3 モデルのバリエーション
| モデル | コンテキストウィンドウ | 最適な用途 | 速度 |
|---|---|---|---|
| Gemini 3 Ultra | 200万トークン | 複雑な推論、研究、コーディング | 低速 |
| Gemini 3 Pro | 200万トークン | 品質と速度のバランス | 中速 |
| Gemini 3 Flash | 100万トークン | 高速な応答、高いスループット | 高速 |
| Gemini 3 Flash Lite | 51.2万トークン | コスト最適化、単純なタスク | 極めて高速 |
事前準備
- Google Cloud アカウント または Google AI Studio アカウント
- Google AI Studio で発行した API キー
- Python 3.9 以上 または Node.js 18 以上
- Google Generative AI SDK
ステップ 1: API キーの取得
最も早く API キーを取得する方法:
- Google AI Studio にアクセス
- Get API Key をクリック
- Google Cloud プロジェクトを選択または作成
- 生成された API キーをコピー
本番環境で使用する場合は、Google Cloud Console の「API とサービス」 > 「認証情報」からキーを作成してください。
ステップ 2: SDK のインストール
Python:
pip install google-generativeai
JavaScript/Node.js:
npm install @google/generative-ai
ステップ 3: 基本的なテキスト生成 (Python)
import google.generativeai as genai
genai.configure(api_key="YOUR_API_KEY")
model = genai.GenerativeModel("gemini-3-pro")
response = model.generate_content("量子コンピューティングを分かりやすく説明してください")
print(response.text)
ステップ 4: 基本的なテキスト生成 (JavaScript)
import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI("YOUR_API_KEY");
const model = genAI.getGenerativeModel({ model: "gemini-3-pro" });
async function generateText() {
const result = await model.generateContent(
"量子コンピューティングを分かりやすく説明してください"
);
console.log(result.response.text());
}
generateText();
ステップ 5: マルチターンの会話
対話形式のやり取りを行うためにチャットセッションを作成します。
Python:
import google.generativeai as genai
genai.configure(api_key="YOUR_API_KEY")
model = genai.GenerativeModel("gemini-3-pro")
chat = model.start_chat(history=[])
# 最初のメッセージ
response = chat.send_message("PythonでREST APIを構築しています。どのフレームワークを使うべきですか?")
print(response.text)
# 続けて質問
response = chat.send_message("POSTエンドポイントを持つ基本的なFastAPIの例を教えてください。")
print(response.text)
# さらに質問(文脈が維持されます)
response = chat.send_message("これにPydanticによる入力バリデーションを追加してください。")
print(response.text)
JavaScript:
const chat = model.startChat({
history: [],
});
const result1 = await chat.sendMessage(
"PythonでREST APIを構築しています。どのフレームワークを使うべきですか?"
);
console.log(result1.response.text());
const result2 = await chat.sendMessage(
"POSTエンドポイントを持つ基本的なFastAPIの例を教えてください。"
);
console.log(result2.response.text());
ステップ 6: マルチモーダル入力 (画像 + テキスト)
Gemini 3 は、テキストと並行して画像を理解することに長けています。
Python:
import google.generativeai as genai
from pathlib import Path
genai.configure(api_key="YOUR_API_KEY")
model = genai.GenerativeModel("gemini-3-pro")
# 画像の読み込み
image_path = Path("screenshot.png")
image_data = image_path.read_bytes()
response = model.generate_content([
"このUIスクリーンショットを分析し、アクセシビリティとユーザビリティに関する3つの具体的な改善案を提示してください。",
{
"mime_type": "image/png",
"data": image_data
}
])
print(response.text)
JavaScript:
import fs from "fs";
const imageData = fs.readFileSync("screenshot.png");
const base64Image = imageData.toString("base64");
const result = await model.generateContent([
"このUIスクリーンショットを分析し、3つの具体的な改善案を提示してください。",
{
inlineData: {
mimeType: "image/png",
data: base64Image,
},
},
]);
console.log(result.response.text());
ステップ 7: ストリーミングレスポンス
ユーザーエクスペリエンス向上のため、トークンごとに逐一レスポンスを返します。
Python:
import google.generativeai as genai
genai.configure(api_key="YOUR_API_KEY")
model = genai.GenerativeModel("gemini-3-pro")
response = model.generate_content(
"GitHub Actionsを使用したCI/CDパイプライン構築の完全ガイドを書いてください",
stream=True
)
for chunk in response:
print(chunk.text, end="", flush=True)
print() # 最後に改行
JavaScript:
const result = await model.generateContentStream(
"GitHub Actionsを使用したCI/CDパイプライン構築の完全ガイドを書いてください"
);
for await (const chunk of result.stream) {
process.stdout.write(chunk.text());
}
console.log();
ステップ 8: Function Calling
Gemini 3 は Function Calling をサポートしており、モデルが特定の実行コードを要求できるようにします。
import google.generativeai as genai
genai.configure(api_key="YOUR_API_KEY")
# ツールの定義
tools = [
{
"function_declarations": [
{
"name": "get_weather",
"description": "指定された場所の現在の天気を取得する",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "都市名 (例: 'San Francisco, CA')"
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
"description": "温度の単位"
}
},
"required": ["location"]
}
},
{
"name": "search_products",
"description": "カタログ内の商品を検索する",
"parameters": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "検索クエリ"
},
"max_results": {
"type": "integer",
"description": "最大取得件数"
}
},
"required": ["query"]
}
}
]
}
]
model = genai.GenerativeModel("gemini-3-pro", tools=tools)
chat = model.start_chat()
response = chat.send_message("東京の天気はどうですか?")
# モデルが関数を呼び出そうとしているか確認
for part in response.parts:
if hasattr(part, "function_call"):
function_name = part.function_call.name
function_args = dict(part.function_call.args)
print(f"関数呼び出し: {function_name}({function_args})")
# 関数を実行して結果を返す
if function_name == "get_weather":
# ここで実際のAPI呼び出しを行う
weather_result = {"temperature": 22, "condition": "薄曇り"}
response = chat.send_message({
"function_response": {
"name": function_name,
"response": weather_result
}
})
print(response.text)
ステップ 9: システムインストラクション (System Instructions)
システムインストラクションを使用してモデルの挙動を定義します。
model = genai.GenerativeModel(
"gemini-3-pro",
system_instruction="""あなたはPythonとクラウドアーキテクチャを専門とするシニアソフトウェアエンジニアです。
常にコード例を提示してください。FlaskよりもFastAPIを優先してください。
すべてのPythonコードに型ヒントを使用してください。
説明は簡潔かつ実践的に行ってください。"""
)
response = model.generate_content("レート制限(レートリミット)を実装するにはどうすればいいですか?")
print(response.text)
ステップ 10: セーフティ設定 (Safety Settings)
コンテンツフィルタリングのしきい値を設定します。
from google.generativeai.types import HarmCategory, HarmBlockThreshold
model = genai.GenerativeModel("gemini-3-pro")
response = model.generate_content(
"プロンプトをここに記述",
safety_settings={
HarmCategory.HARM_CATEGORY_HARASSMENT: HarmBlockThreshold.BLOCK_NONE,
HarmCategory.HARM_CATEGORY_HATE_SPEECH: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT: HarmBlockThreshold.BLOCK_ONLY_HIGH,
HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
}
)
価格(2026年2月時点)
| モデル | インプット (100万トークンあたり) | アウトプット (100万トークンあたり) | コンテキストキャッシング |
|---|---|---|---|
| Gemini 3 Ultra | $10.00 | $30.00 | $2.50/時 |
| Gemini 3 Pro | $2.50 | $10.00 | $0.625/時 |
| Gemini 3 Flash | $0.15 | $0.60 | $0.0375/時 |
| Gemini 3 Flash Lite | $0.04 | $0.15 | なし |
無料枠: Google AI Studio では、レート制限あり(Proは15 RPM、Flashは30 RPM)の寛容な無料枠を提供しています。
REST API を直接使用する場合
SDK を使用したくない場合:
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro:generateContent?key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"parts": [{
"text": "メールアドレスを検証するためのPython関数を書いてください"
}]
}],
"generationConfig": {
"temperature": 0.7,
"topK": 40,
"topP": 0.95,
"maxOutputTokens": 2048
}
}'
生成構成オプション (Generation Config Options)
| パラメータ | デフォルト | 範囲 | 説明 |
|---|---|---|---|
temperature |
1.0 | 0.0-2.0 | 出力のランダム性 |
topP |
0.95 | 0.0-1.0 | 核サンプリング(Nucleus sampling)のしきい値 |
topK |
40 | 1-100 | Top-k サンプリング |
maxOutputTokens |
モデル依存 | 1-8192+ | 最大レスポンス長 |
stopSequences |
[] | 最大5個まで | 生成を停止させる文字列 |
candidateCount |
1 | 1-8 | レスポンス候補の数 |
エラー処理
import google.generativeai as genai
from google.api_core import exceptions
genai.configure(api_key="YOUR_API_KEY")
model = genai.GenerativeModel("gemini-3-pro")
try:
response = model.generate_content("プロンプト")
print(response.text)
except exceptions.InvalidArgument as e:
print(f"不正なリクエスト: {e}")
except exceptions.ResourceExhausted as e:
print(f"レート制限を超過しました。しばらくしてから再試行してください: {e}")
except exceptions.PermissionDenied as e:
print(f"APIキーが無効、または権限が不足しています: {e}")
except exceptions.InternalServerError as e:
print(f"Googleサーバーエラーが発生しました。再試行してください: {e}")
except Exception as e:
# セーフティフィルタによってコンテンツがブロックされたか確認
if hasattr(response, 'prompt_feedback'):
print(f"コンテンツがブロックされました: {response.prompt_feedback}")
else:
print(f"予期しないエラー: {e}")
ベストプラクティス
- 適切なモデルを選択する: 速度には Flash、品質には Pro、複雑な推論には Ultra を選びます。
- 適切な Temperature を設定する: 事実に基づくタスクやコード記述には 0.0〜0.3、クリエイティブなタスクには 0.7〜1.0 を推奨します。
- システムインストラクションを使用して整合性のある挙動を維持します。
- チャットインターフェースでは、ユーザーエクスペリエンス向上のためにストリーミングを実装します。
- コスト削減のため、頻繁に使うプロンプトにはコンテキストキャッシュを活用します(Pro、Ultra で利用可能)。
- セーフティフィルタによるブロックを、アプリケーション側で適切に処理します。
- レート制限エラーに対しては、**エクスポネンシャル・バックオフ(指数関数的後退)**を実装します。
- テキストから構造化データを解析する代わりに、Function Calling を使用します。
まとめ
Gemini 3 API は、AI 駆動のアプリケーション構築において強力かつコスト効率の高い選択肢です。大規模なコンテキストウィンドウ、優れたマルチモーダル機能、そして競争力のある価格設定(特に Flash モデル)により、プロトタイピングから本番運用まで幅広く対応します。
もし言語モデルと併せて、画像生成、動画作成、トーキングアバター、音声合成などの AI メディア生成機能が必要な場合は、Gemini との相性が良い Hypereal AI が統合 API を提供しています。テキストと推論には Gemini を、視覚的・音声的なコンテンツ生成には Hypereal を組み合わせることで、シンプルな API 呼び出しと透明性のある価格体系で高度なツールを構築できます。
