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.corpora

Methods
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

Methods
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

Methods
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

Methods
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

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

REST リソース: v1beta.media

Methods
upload POST /v1beta/files
POST /upload/v1beta/files
File を作成します。

REST リソース: v1beta.models

Methods
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

Methods
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

Methods
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

Methods
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

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

REST リソース: v1.tunedModels

Methods
generateContent POST /v1/{model=tunedModels/*}:generateContent
GenerateContentRequest が入力されたら、モデルからレスポンスを生成します。

REST リソース: v1.tunedModels.operations

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