All methods

Generative Language API

開發人員可以使用 Gemini API 建構生成式 AI 應用程式,Gemini 是我們最強大的模型,打從設計之初就具有多模態的特質。它可歸納內容,完美解讀、操作及結合語言、圖片、音訊、影片和程式碼等不同類型的資訊。您可以使用 Gemini API 進行文字和圖片推論、內容生成、對話方程式、摘要和分類系統等用途。

服務:generativelanguage.googleapis.com

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

服務端點

服務端點是指定 API 服務網路位址的基準網址。一項服務可能有多個服務端點。這項服務有以下服務端點,且下方的 URI 皆以此服務端點為基準:

  • https://generativelanguage.googleapis.com

REST 資源:v1beta

方法
chatCompletions POST /v1beta:chatCompletions
根據輸入的對話記錄,產生模型的一系列回覆。
embeddings POST /v1beta/embeddings
根據輸入內容,從模型產生嵌入項目。
listModels GET /v1beta/listModels
列出目前可用的模型。

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

方法
completions POST /v1beta/chat/completions
根據輸入的即時通訊記錄,產生模型的一系列回覆。

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

方法
generate POST /v1beta/embeddings:generate
根據輸入內容,從模型產生嵌入項目。

REST 資源:v1beta.files

方法
delete DELETE /v1beta/{name=files/*}
刪除 File
get GET /v1beta/{name=files/*}
取得指定 File 的中繼資料。
list GET /v1beta/files
列出要求專案擁有的 File 中繼資料。

REST 資源:v1beta.generatedFiles

方法
list GET /v1beta/generatedFiles
列出要求專案擁有的產生檔案。

REST 資源:v1beta.generatedFiles.operations

方法
get GET /v1beta/{name=generatedFiles/*/operations/*}
取得長時間執行作業的最新狀態。

REST 資源:v1beta.media

方法
download GET /v1beta/{name=generatedFiles/*}
取得產生的檔案。
upload POST /v1beta/files
POST /upload/v1beta/files
建立 File

REST 資源:v1beta.models

方法
batchEmbedContents POST /v1beta/{model=models/*}:batchEmbedContents
從輸入的 Content 產生多個嵌入向量,其中包含一批以 EmbedContentRequest 物件表示的字串。
batchEmbedText POST /v1beta/{model=models/*}:batchEmbedText
在同步呼叫中,根據模型提供的輸入文字產生多個嵌入。
countMessageTokens POST /v1beta/{model=models/*}:countMessageTokens
在字串上執行模型的剖字器,並傳回符號計數。
countTextTokens POST /v1beta/{model=models/*}:countTextTokens
在文字上執行模型的剖字器,並傳回符號計數。
countTokens POST /v1beta/{model=models/*}:countTokens
在輸入 Content 上執行模型的剖析器,並傳回符記數。
embedContent POST /v1beta/{model=models/*}:embedContent
使用指定的 Gemini 嵌入模型,從輸入 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/*}
取得特定 Model 的相關資訊,例如版本編號、符記限制、參數和其他中繼資料。
list GET /v1beta/models
列出可透過 Gemini API 取得的 Model
predict POST /v1beta/{model=models/*}:predict
執行預測要求。
predictLongRunning POST /v1beta/{model=models/*}:predictLongRunning
與 Predict 相同,但會傳回 LRO。
streamGenerateContent POST /v1beta/{model=models/*}:streamGenerateContent
根據輸入內容 GenerateContentRequest,從模型產生串流回應

REST 資源:v1beta.models.operations

方法
get GET /v1beta/{name=models/*/operations/*}
取得長時間執行作業的最新狀態。
list GET /v1beta/{name=models/*}/operations
列出符合要求中指定篩選器的作業。

REST 資源:v1beta.openai

方法
embeddings POST /v1beta/openai/embeddings
根據輸入內容,從模型產生嵌入項目。
models GET /v1beta/openai/models
列出目前可用的模型。

REST 資源:v1beta.openai.chat

方法
completions POST /v1beta/openai/chat/completions
根據輸入的即時通訊記錄,產生一組模型回覆。

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/*}
更新已調整的模型。
streamGenerateContent POST /v1beta/{model=tunedModels/*}:streamGenerateContent
根據輸入內容 GenerateContentRequest,從模型產生串流回應
transferOwnership POST /v1beta/{name=tunedModels/*}:transferOwnership
轉移已調整模型的擁有權。

REST 資源:v1beta.tunedModels.operations

方法
get GET /v1beta/{name=tunedModels/*/operations/*}
取得長時間執行作業的最新狀態。
list GET /v1beta/{name=tunedModels/*}/operations
列出符合要求中指定篩選器的作業。

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/*}
更新權限。