Skip to main content
Google Gemini 是一款非常強大的 AI 對話系統,只要輸入提示詞,就能在短短幾秒內生成流暢自然的回覆。Gemini 都能提供令人驚嘆的智慧協助,極大地提高了人類的工作效率和創造力。 本文檔主要介紹 Gemini Chat Completion API 操作的使用流程,利用它我們可以輕鬆使用官方 Gemini 的對話功能。

申請流程

要使用 Gemini Chat Completion API,首先到 Ace Data Cloud 控制台 取得您的 API Token,留作備用。 如果你尚未登入或註冊,會自動跳轉到登入頁面邀請你註冊和登入,完成後會自動返回目前頁面。 一個 API Token 即可呼叫平台所有服務,無需為每個服務單獨申請。 首次申請會贈送免費額度,可免費體驗;額度不足時可在 控制台 儲值通用餘額。
📘 完整文件:Gemini Chat Completion API →

基本使用

接下來就可以在介面上填寫對應的內容,如圖所示:

在第一次使用該介面時,我們至少需要填寫三個內容,一個是 authorization,直接在下拉列表裡面選擇即可。另一個參數是 modelmodel 就是我們選擇使用 Gemini 官網模型類別,可選模型以介面文件中的 model 列舉為準。最後一個參數是messagesmessages是我們輸入的提問詞陣列,它是一個陣列,表示可以同時上傳多個提問詞,每個提問詞包含了 rolecontent,其中 role 表示提問者的角色,我們提供了三種身分,分別為 userassistantsystem 。另一個 content 就是我們提問的具體內容。 同時您可以注意到右側有對應的呼叫程式碼生成,您可以複製程式碼直接執行,也可以直接點擊「Try」按鈕進行測試。

提示gemini-3.x 系列 flash 為思考模型,會先消耗 reasoning tokens;請把 max_tokens 設到 512 以上,否則可能只回傳空內容。gemini-3.8-flash 是目前推薦的 Flash 模型,支援最多 100 萬 Token 上下文、圖像輸入、工具呼叫和串流回應;目前透過 Chat Completions 介面呼叫。
呼叫之後,我們發現回傳結果如下:
回傳結果一共有多個欄位,介紹如下:
  • id,生成此次對話任務的 ID,用於唯一識別此次對話任務。
  • model ,選擇的 Gemini 官網模型。
  • choices,Gemini 針對提問詞給予的回答資訊。
  • usage :針對本次問答對 token 的統計資訊。
其中 choices 是包含了 Gemini 的回答資訊,它裡面的 choices 是 Gemini回答的具體資訊,可以發現如圖所示。

可以看到,choices 裡面的 content 欄位包含了 Gemini 回覆的具體內容。

圖片理解(多模態輸入)

Gemini 是原生多模態模型,可以直接「看圖」。要傳入圖片,把某條訊息的 content 從字串改成內容區塊陣列,陣列裡同時放 text 區塊和 image_url 區塊即可——這與 OpenAI、以及官方 Gemini 的 OpenAI 相容格式完全一致。 image_url.url 支援兩種寫法:
  • base64 data: URI(推薦,最穩定):格式為 data:<媒體類型>;base64,<資料>,例如 data:image/jpeg;base64,/9j/4AAQ...媒體類型(MIME)已經寫在 data: 前綴裡,所以不需要、也不存在單獨的 media_type 欄位。
  • 公開可存取的圖片 URL:例如 https://cdn.acedata.cloud/4hfydw.jpg
支援的圖片類型:pngjpegwebpheicheif Python 範例呼叫程式碼(base64 data URI):
也可以直接傳送可公開存取的圖片 URL:
💡 image_url 只接受 url 欄位(值可以是圖片 URL 或 base64 data: URI),以及可選的 detail 欄位。不要傳送 media_type——那是 Anthropic Claude 的圖片欄位,不屬於 OpenAI / Gemini 的 image_url 格式。

串流回應

該介面也支援串流回應,這對網頁串接十分有用,可以讓網頁實現逐字顯示效果。 如果想要串流傳回回應,可以更改請求標頭裡面的 stream 參數,修改為 true 修改如圖所示,不過呼叫程式碼需要有對應的更改才能支援串流回應。

stream 修改為 true 之後,API 將逐行傳回對應的 JSON 資料,在程式碼層面我們需要做相應的修改來取得逐行的結果。 Python 範例呼叫程式碼:
輸出效果如下:
可以看到,回應裡面有許多 datadata 裡面的 choices 即為最新的回答內容,與上文介紹的內容一致。choices 是新增的回答內容,您可以根據結果來串接到您的系統中。同時串流回應的結束是根據 data 的內容來判斷的,如果內容為 [DONE],則表示串流回應回答已經全部結束。傳回的 data 結果一共有多個欄位,介紹如下:
  • id,產生此次對話任務的 ID,用於唯一識別此次對話任務。
  • model ,選擇的 Gemini 官網模型。
  • choices,Gemini 針對提問詞給予的回答資訊。
JavaScript 也是支援的,例如 Node.js 的串流呼叫程式碼如下:
Java 範例程式碼:
其他語言可以另外自行改寫,原理都是一樣的。

多輪對話

如果您想要串接多輪對話功能,需要在 messages 欄位上傳多個提問詞,多個提問詞的具體範例如下圖所示:

Python 範例呼叫程式碼:
透過上傳多個提問詞,就可以輕鬆實現多輪對話,可以得到如下回答:
可以看到,choices 所包含的資訊與基本使用的內容是一致的,這裡包含了 Gemini 針對多個對話進行回覆的具體內容,這樣就可以根據多個對話內容來回答對應的問題了。

Gemini-3.0 多模態模型

請求範例:
範例結果:
當然你也可以傳入影片的連結,具體的輸入如下:
範例結果:
從上面可以看出 Gemini 3.0 模型可以支援多模態的理解。

Gemini-3.1 多模態模型

gemini-3.1-pro-preview 是目前 Gemini 3.1 Pro 的官方模型 ID,支援文字、圖像、影片等多模態輸入,適合複雜推理、編碼和理解任務。 請求範例:
Gemini 3.1 Pro 同樣支援影片理解:
回傳格式與 Gemini 3.0 Pro 一致,詳見上方 Gemini-3.0 多模態模型章節的說明。

錯誤處理

在呼叫 API 時,如果遇到錯誤,API 會回傳相應的錯誤代碼和資訊。例如:
  • 400 token_mismatched:Bad request, possibly due to missing or invalid parameters.
  • 400 api_not_implemented:Bad request, possibly due to missing or invalid parameters.
  • 401 invalid_token:Unauthorized, invalid or missing authorization token.
  • 429 too_many_requests:Too many requests, you have exceeded the rate limit.
  • 500 api_error:Internal server error, something went wrong on the server.

錯誤回應範例

結論

透過本文檔,您已經了解如何使用 Gemini Chat Completion API 輕鬆實現官方 Gemini 的對話功能。希望本文檔能幫助您更好地串接和使用該 API。如有任何問題,請隨時聯絡我們的技術支援團隊。