Generative Language API

Gemini API 可讓開發人員使用 Gemini 模型建構生成式 AI 應用程式。Gemini 是 Google 最強大的模型,從零開始設計就能變成多模態。能順暢理解、操作及合併各種類型的資訊 (包括語言、圖片、音訊、影片和程式碼),你可以將 Gemini API 用於文字與圖片推論、生成內容、對話代理程式、摘要和分類系統等。

服務:generativelanguage.googleapis.com

如要呼叫這項服務,建議您使用 Google 提供的用戶端程式庫。如果應用程式需要使用您自己的程式庫呼叫這項服務,請在發出 API 要求時使用下列資訊。

探索文件

探索文件是一種機器可解讀的規格,用於說明和使用 REST API。此文件用於建構用戶端程式庫、IDE 外掛程式,以及與 Google API 互動的其他工具。一項服務可能會提供多個探索文件。此服務提供下列探索文件:

服務端點

服務端點是指定 API 服務網路位址的基準網址。一項服務可能有多個服務端點。這項服務有以下服務端點,且下方的 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
列出符合要求中指定篩選器的作業。