以下に Delphi と Python の両方で、
Gemini API を API キー経由で利用する最小コード例をまとめて示すよ。
検索結果の公式ドキュメントに基づいているので、構造は最新仕様に沿っている。
(Python SDK の情報は公式 Quickstart によるもの ai.google.dev)
⭐ 結論:Delphi では REST 呼び出し、Python では公式 SDK を使うのが最短ルート
🐍 Python:公式 SDK(google‑genai)を使う最短コード
Gemini API の Python Quickstart に基づく最小例だよ。
(公式の generateContent の例を参照 ai.google.dev)
📦 インストール
pip install -q -U google-genai
🧪 最小コード例(テキスト生成)
from google import genai
client = genai.Client(api_key="YOUR_API_KEY")
response = client.models.generate_content(
model="gemini-3-flash-preview",
contents="Delphi から Gemini API を呼ぶ方法を説明して"
)
print(response.text)
🔍 ポイント
google-genaiが公式 SDKgenerate_content()にmodelとcontentsを渡すだけ- レスポンスは
.textで取得できる
🟦 Delphi:REST API を直接叩く(REST.Client + JSON)
Delphi には公式 SDK がないので、
REST API を直接 POST するのが最短ルート。
以下は REST.Client(TRESTClient / TRESTRequest) を使った最小例。
🧪 Delphi(VCL/FMX 共通)最小コード例
🔧 1. REST クライアント設定
var
Client: TRESTClient;
Request: TRESTRequest;
Response: TRESTResponse;
begin
Client := TRESTClient.Create('https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=YOUR_API_KEY');
Request := TRESTRequest.Create(nil);
Response := TRESTResponse.Create(nil);
Request.Client := Client;
Request.Response := Response;
Request.Method := rmPOST;
📝 2. JSON ボディを設定
Gemini API の標準 REST 形式(公式リファレンスより) ai.google.dev
Request.AddBody(
'{ "contents": [ { "parts": [ { "text": "Python と Delphi の比較を説明して" } ] } ] }',
ctAPPLICATION_JSON
);
▶ 3. 実行してレスポンスを取得
Request.Execute;
ShowMessage(Response.Content);
end;
🧩 Delphi 版のポイント
- URL は
https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent?key=API_KEY - Body は JSON で
{ "contents": [ { "parts": [ { "text": "..." } ] } ] } - レスポンスは JSON で返るので、必要なら
TJSONObject.ParseJSONValueで解析
📚 Python と Delphi の比較表
| 言語 | 利用方法 | メリット | デメリット |
|---|---|---|---|
| Python | 公式 SDK(google‑genai) | 最短・簡単・高機能 | 特になし |
| Delphi | REST API を直接叩く | どのバージョンでも動く | JSON を自分で組む必要 |
🌱 次に進めるなら…
あなたのプロジェクト(Delphi → AI → 外部 API → Roblox/MCP)を考えると、
次のステップもすぐ作れるよ:
- Delphi で関数呼び出し(function calling)を使う例
- 画像を送って解析する例
- ストリーミング API(リアルタイム)を Delphi で扱う方法
- Delphi 側を「AI システムコールの ISA」として設計する雛形
どれを深掘りしたい?