Generative Language API

Gemini API を使用すると、デベロッパーは Gemini モデルを使用して生成 AI アプリケーションを構築できます。Gemini は、マルチモーダル モデルとして一から構築された、Google の最も高性能なモデルです。言語、画像、音声、動画、コードなど、さまざまな種類の情報を一般化してシームレスに理解し、操作、組み合わせることができます。Gemini API は、テキストや画像にわたる推論、コンテンツ生成、対話エージェント、要約 / 分類システムなどのユースケースに使用できます。

サービス: generativelanguage.googleapis.com

このサービスを呼び出すには、Google が提供するクライアント ライブラリを使用することをおすすめします。アプリケーションで独自のライブラリを使用してこのサービスを呼び出す必要がある場合は、API リクエストの際に次の情報を使用してください。

ディスカバリ ドキュメント

ディスカバリ ドキュメントは、REST API を記述して使用するための機械可読仕様です。クライアント ライブラリ、IDE プラグイン、Google API と連携するその他のツールのビルドに使用されます。1 つのサービスで複数のディスカバリ ドキュメントを提供できます。このサービスには、次のディスカバリ ドキュメントが用意されています。

サービス エンドポイント

サービス エンドポイントは、API サービスのネットワーク アドレスを指定するベース URL です。1 つのサービスに複数のサービス エンドポイントが存在することもあります。このサービスには次のサービス エンドポイントがあり、以下のすべての URI がこのサービス エンドポイントに関連しています。

  • https://generativelanguage.googleapis.com

REST リソース: v1beta.cachedContents

メソッド
create POST /v1beta/cachedContents
CachedContent リソースを作成します。
delete DELETE /v1beta/{name=cachedContents/*}
CachedContent リソースを削除します。
get GET /v1beta/{name=cachedContents/*}
CachedContent リソースを読み取ります。
list GET /v1beta/cachedContents
CachedContents を一覧表示します。
patch PATCH /v1beta/{cachedContent.name=cachedContents/*}
CachedContent リソースを更新します(有効期限のみ更新可能)。

REST リソース: v1beta.corpora

メソッド
create POST /v1beta/corpora
空の Corpus を作成します。
delete DELETE /v1beta/{name=corpora/*}
Corpus を削除します。
get GET /v1beta/{name=corpora/*}
特定の Corpus に関する情報を取得します。
list GET /v1beta/corpora
ユーザーが所有しているすべての Corpora を一覧表示します。
patch PATCH /v1beta/{corpus.name=corpora/*}
Corpus を更新します。
query POST /v1beta/{name=corpora/*}:query
Corpus に対してセマンティック検索を行います。

REST リソース: v1beta.corpora.documents

メソッド
create POST /v1beta/{parent=corpora/*}/documents
空の Document を作成します。
delete DELETE /v1beta/{name=corpora/*/documents/*}
Document を削除します。
get GET /v1beta/{name=corpora/*/documents/*}
特定の Document に関する情報を取得します。
list GET /v1beta/{parent=corpora/*}/documents
Corpus 内のすべての Document を一覧表示します。
patch PATCH /v1beta/{document.name=corpora/*/documents/*}
Document を更新します。
query POST /v1beta/{name=corpora/*/documents/*}:query
Document に対してセマンティック検索を行います。

REST リソース: v1beta.corpora.documents.chunks

メソッド
batchCreate POST /v1beta/{parent=corpora/*/documents/*}/chunks:batchCreate
Chunk をバッチ作成します。
batchDelete POST /v1beta/{parent=corpora/*/documents/*}/chunks:batchDelete
Chunk を一括削除します。
batchUpdate POST /v1beta/{parent=corpora/*/documents/*}/chunks:batchUpdate
バッチ アップデート Chunk
create POST /v1beta/{parent=corpora/*/documents/*}/chunks
Chunk を作成します。
delete DELETE /v1beta/{name=corpora/*/documents/*/chunks/*}
Chunk を削除します。
get GET /v1beta/{name=corpora/*/documents/*/chunks/*}
特定の Chunk に関する情報を取得します。
list GET /v1beta/{parent=corpora/*/documents/*}/chunks
Document 内のすべての Chunk を一覧表示します。
patch PATCH /v1beta/{chunk.name=corpora/*/documents/*/chunks/*}
Chunk を更新します。

REST リソース: v1beta.corpora.permissions

メソッド
create POST /v1beta/{parent=corpora/*}/permissions
特定のリソースに対する権限を作成します。
delete DELETE /v1beta/{name=corpora/*/permissions/*}
権限を削除します。
get GET /v1beta/{name=corpora/*/permissions/*}
特定の権限に関する情報を取得します。
list GET /v1beta/{parent=corpora/*}/permissions
特定のリソースの権限を一覧表示します。
patch PATCH /v1beta/{permission.name=corpora/*/permissions/*}
権限を更新します。

REST リソース: v1beta.files

メソッド
delete DELETE /v1beta/{name=files/*}
File を削除します。
get GET /v1beta/{name=files/*}
指定された File のメタデータを取得します。
list GET /v1beta/files
リクエストしているプロジェクトが所有する File のメタデータを一覧表示します。

REST リソース: v1beta.media

メソッド
upload POST /v1beta/files
POST /upload/v1beta/files
File を作成します。

REST リソース: v1beta.models

メソッド
batchEmbedContents POST /v1beta/{model=models/*}:batchEmbedContents
同期呼び出しで入力テキストが指定されたモデルから、複数のエンベディングを生成します。
batchEmbedText POST /v1beta/{model=models/*}:batchEmbedText
同期呼び出しで入力テキストが指定されたモデルから、複数のエンベディングを生成します。
countMessageTokens POST /v1beta/{model=models/*}:countMessageTokens
文字列に対してモデルのトークナイザを実行し、トークン数を返します。
countTextTokens POST /v1beta/{model=models/*}:countTextTokens
テキストに対してモデルのトークナイザを実行し、トークン数を返します。
countTokens POST /v1beta/{model=models/*}:countTokens
入力コンテンツに対してモデルのトークナイザを実行し、トークン数を返します。
embedContent POST /v1beta/{model=models/*}:embedContent
入力 Content を指定して、モデルからエンベディングを生成します。
embedText POST /v1beta/{model=models/*}:embedText
指定されたメッセージでモデルからエンベディングを生成します。
generateAnswer POST /v1beta/{model=models/*}:generateAnswer
GenerateAnswerRequest が入力されると、モデルから根拠のある回答を生成します。
generateContent POST /v1beta/{model=models/*}:generateContent
入力 GenerateContentRequest を指定して、モデルからレスポンスを生成します。
generateMessage POST /v1beta/{model=models/*}:generateMessage
入力 MessagePrompt を指定して、モデルからレスポンスを生成します。
generateText POST /v1beta/{model=models/*}:generateText
指定された入力メッセージが与えられたモデルからレスポンスを生成します。
get GET /v1beta/{name=models/*}
特定のモデルに関する情報を取得します。
list GET /v1beta/models
API で利用可能なモデルを一覧表示します。
streamGenerateContent POST /v1beta/{model=models/*}:streamGenerateContent
GenerateContentRequest が入力されると、ストリーミングされたレスポンスをモデルから生成します。

REST リソース: v1beta.tunedModels

メソッド
create POST /v1beta/tunedModels
チューニング済みモデルを作成します。
delete DELETE /v1beta/{name=tunedModels/*}
チューニング済みモデルを削除します。
generateContent POST /v1beta/{model=tunedModels/*}:generateContent
入力 GenerateContentRequest を指定して、モデルからレスポンスを生成します。
generateText POST /v1beta/{model=tunedModels/*}:generateText
指定された入力メッセージが与えられたモデルからレスポンスを生成します。
get GET /v1beta/{name=tunedModels/*}
特定の TunedModel に関する情報を取得します。
list GET /v1beta/tunedModels
ユーザーが所有するチューニング済みモデルを一覧表示します。
patch PATCH /v1beta/{tunedModel.name=tunedModels/*}
チューニング済みモデルを更新します。
transferOwnership POST /v1beta/{name=tunedModels/*}:transferOwnership
チューニング済みモデルのオーナー権限を譲渡します。

REST リソース: v1beta.tunedModels.permissions

メソッド
create POST /v1beta/{parent=tunedModels/*}/permissions
特定のリソースに対する権限を作成します。
delete DELETE /v1beta/{name=tunedModels/*/permissions/*}
権限を削除します。
get GET /v1beta/{name=tunedModels/*/permissions/*}
特定の権限に関する情報を取得します。
list GET /v1beta/{parent=tunedModels/*}/permissions
特定のリソースの権限を一覧表示します。
patch PATCH /v1beta/{permission.name=tunedModels/*/permissions/*}
権限を更新します。

REST リソース: v1.models

メソッド
batchEmbedContents POST /v1/{model=models/*}:batchEmbedContents
同期呼び出しで入力テキストが指定されたモデルから、複数のエンベディングを生成します。
countTokens POST /v1/{model=models/*}:countTokens
入力コンテンツに対してモデルのトークナイザを実行し、トークン数を返します。
embedContent POST /v1/{model=models/*}:embedContent
入力 Content を指定して、モデルからエンベディングを生成します。
generateContent POST /v1/{model=models/*}:generateContent
入力 GenerateContentRequest を指定して、モデルからレスポンスを生成します。
get GET /v1/{name=models/*}
特定のモデルに関する情報を取得します。
list GET /v1/models
API で利用可能なモデルを一覧表示します。
streamGenerateContent POST /v1/{model=models/*}:streamGenerateContent
GenerateContentRequest が入力されると、ストリーミングされたレスポンスをモデルから生成します。

REST リソース: v1.operations

メソッド
delete DELETE /v1/{name=operations/**}
長時間実行オペレーションを削除します。
list GET /v1/{name}
リクエストで指定されたフィルタに一致するオペレーションを一覧表示します。

REST リソース: v1.tunedModels

メソッド
generateContent POST /v1/{model=tunedModels/*}:generateContent
入力 GenerateContentRequest を指定して、モデルからレスポンスを生成します。

REST リソース: v1.tunedModels.operations

メソッド
cancel POST /v1/{name=tunedModels/*/operations/*}:cancel
長時間実行オペレーションの非同期キャンセルを開始します。
get GET /v1/{name=tunedModels/*/operations/*}
長時間実行オペレーションの最新状態を取得します。
list GET /v1/{name=tunedModels/*}/operations
リクエストで指定されたフィルタに一致するオペレーションを一覧表示します。