Tích hợp Gemini 3.8 Flash API: Interactions, generateContent và kiểm soát chi phí suy nghĩ
Google đã phát hành Gemini 3.8 Flash vào ngày 2 tháng 9 năm 2026. ID mô hình API là gemini-3.8-flash, không có hậu tố xem trước. Trong thời gian giới thiệu đến hết ngày 31 tháng 12 năm 2026, giá vẫn là 0,75 đô la cho mỗi triệu token đầu vào và 3,75 đô la cho mỗi triệu token đầu ra.
Gemini 3.8 Flash được Google mô tả là mô hình “làm việc chăm chỉ hơn”: mô hình thực hiện nhiều bước suy luận hơn và gọi công cụ thường xuyên hơn trên các tác vụ phức tạp. Điều này có thể làm tăng số token và chi phí thực tế.
Bài viết này hướng dẫn toàn bộ quy trình tích hợp:
- Lấy API key trong AI Studio.
- Gửi yêu cầu đầu tiên qua Interactions API.
- Sử dụng
generateContent, API cũ mà nhiều ứng dụng hiện có vẫn dùng. - Đặt
thinking_levelđúng vị trí trong từng API. - Sử dụng streaming.
- Đọc
thoughtsTokenCountđể kiểm soát chi phí suy nghĩ. - Kiểm thử các request HTTP trong Apidog trước khi triển khai.
Để xem tổng quan về mô hình, benchmark và các thay đổi chính, hãy đọc bài Gemini 3.8 Flash là gì và bài đăng ra mắt chính thức của Google.
Tổng quan Gemini 3.8 Flash API
| Mục | Giá trị |
|---|---|
| ID mô hình | gemini-3.8-flash |
| Điểm cuối chính | POST /v1beta/interactions |
| Điểm cuối cũ | POST /v1beta/models/gemini-3.8-flash:generateContent |
| Tiêu đề xác thực | x-goog-api-key |
| Ngữ cảnh / đầu ra | 1.048.576 token đầu vào / 65.536 token đầu ra |
| Đầu vào | Văn bản, hình ảnh, video, âm thanh, PDF |
| Đầu ra | Chỉ văn bản |
| Mức độ suy nghĩ |
low, medium mặc định, high
|
Mức minimal
|
Không được hỗ trợ và sẽ trả về lỗi |
| Giá đến hết 31/12/2026 | 0,75 đô la / 3,75 đô la cho mỗi 1 triệu token |
| Giá từ 01/01/2027 | 1,50 đô la / 7,50 đô la cho mỗi 1 triệu token |
Hai điểm cần nhớ trước khi viết mã:
- Mức suy nghĩ mặc định là
medium, không phảihighnhư trên Gemini 3 Pro. - Token suy nghĩ được tính phí theo tỷ lệ token đầu ra. Vì vậy, lựa chọn mức suy nghĩ ảnh hưởng cả chất lượng lẫn chi phí. Xem thêm phân tích giá Gemini 3.8 Flash.
Bước 1: Lấy API key trong AI Studio
Mở Google AI Studio, đăng nhập bằng tài khoản Google và tạo API key từ trang quản lý khóa.
Khóa hoạt động ngay trên gói miễn phí, nhưng gói này có giới hạn tốc độ. Google cũng cho biết dữ liệu của gói miễn phí “được sử dụng để cải thiện sản phẩm của chúng tôi”. Để chuyển sang Bậc 1 và tăng giới hạn sản xuất, hãy liên kết tài khoản thanh toán.
Không dán khóa trực tiếp vào mã nguồn. Hãy lưu khóa dưới dạng biến môi trường:
export GEMINI_API_KEY="AIza..."
SDK Python chính thức sẽ tự đọc GEMINI_API_KEY, nên genai.Client() không cần truyền thêm đối số.
Cài đặt SDK:
pip install google-genai
Bước 2: Gửi request đầu tiên qua Interactions API
Google hiện xem Interactions API là cách chính để gọi các mô hình Gemini 3.x.
Request gồm:
-
model: ID mô hình. -
input: nội dung đầu vào. -
generation_config: tùy chọn, dùng để đặtthinking_level.
Gọi bằng cURL
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-3.8-flash",
"input": "Giải thích HTTP caching trong 3 câu.",
"generation_config": {"thinking_level": "medium"}
}'
Interactions API trả về danh sách các bước thực thi thay vì một tin nhắn duy nhất. Các bước suy nghĩ và gọi công cụ xuất hiện riêng, còn bước cuối cùng là model_output, chứa văn bản trả lời.
Gọi bằng Python
SDK sẽ làm phẳng cấu trúc này:
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3.8-flash",
input="Giải thích HTTP caching trong 3 câu.",
generation_config={"thinking_level": "medium"},
)
print(interaction.output_text)
Không giảm temperature
Đối với các mô hình Gemini 3, Google khuyến nghị giữ temperature ở giá trị mặc định 1.0. Việc giảm giá trị này “có thể gây ra vòng lặp hoặc hiệu suất suy giảm”.
Nếu bạn sao chép cấu hình từ mô hình cũ, hãy xóa các thiết lập như:
temperaturetop_ptop_k
Bước 3: Xây dựng hội thoại nhiều lượt
Interactions API lưu trạng thái hội thoại trên máy chủ theo mặc định. Để tiếp tục một hội thoại, gửi previous_interaction_id cùng với input mới. Bạn không cần gửi lại toàn bộ lịch sử.
follow_up = client.interactions.create(
model="gemini-3.8-flash",
input="Bây giờ hãy đưa ra một ví dụ về tiêu đề Cache-Control.",
previous_interaction_id=interaction.id,
)
print(follow_up.output_text)
Nếu chính sách tuân thủ không cho phép lưu trạng thái phía máy chủ, hãy đặt:
{
"store": false
}
Khi đó, ứng dụng phải tự quản lý trạng thái. Ở mỗi lượt, bạn cũng phải gửi lại chính xác các khối suy nghĩ và chữ ký suy nghĩ của mô hình như đã nhận được. Đây là một trong những điểm khiến việc sử dụng công cụ phức tạp hơn; xem thêm hướng dẫn function calling cho Gemini 3.8 Flash.
Bước 4: Sử dụng generateContent
Phần lớn mã Gemini đang chạy trong môi trường production vẫn sử dụng generateContent. Google gọi đây là API cũ nhưng vẫn “được hỗ trợ đầy đủ” và chưa công bố ngày ngừng hỗ trợ.
Bạn chưa bắt buộc phải viết lại ứng dụng hiện có. Hình dạng request tương tự hướng dẫn Gemini 3.7 Flash API, nhưng vị trí của cấu hình suy nghĩ khác với Interactions API.
Trong generateContent, thinkingLevel nằm tại:
generationConfig.thinkingConfig.thinkingLevel
Gọi bằng cURL
curl -X POST "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.8-flash:generateContent" \
-H "x-goog-[REDACTED CREDENTIAL] \
-H "Content-Type: application/json" \
-d '{
"contents": [{"parts": [{"text": "Giải thích HTTP caching trong 3 câu."}]}],
"generationConfig": {"thinkingConfig": {"thinkingLevel": "low"}}
}'
Gọi bằng Python
from google import genai
from google.genai import types
client = genai.Client()
response = client.models.generate_content(
model="gemini-3.8-flash",
contents="Giải thích HTTP caching trong 3 câu.",
config=types.GenerateContentConfig(
thinking_config=types.ThinkingConfig(thinking_level="low")
),
)
print(response.text)
Nếu cấu hình cũ đang dùng thinking_budget dạng số nguyên, hãy thay thế bằng enum chuỗi:
low
medium
high
Ngoài ra, candidate_count không còn được hỗ trợ từ Gemini 3 trở lên. Xem đầy đủ JSON trước và sau trong hướng dẫn di chuyển từ Gemini 3.7 sang 3.8 Flash.
So sánh hai API
| Mối quan tâm | Interactions API | generateContent |
|---|---|---|
| Mức độ suy nghĩ | generation_config.thinking_level |
generationConfig.thinkingConfig.thinkingLevel |
| Trạng thái hội thoại |
previous_interaction_id phía máy chủ |
Gửi lại toàn bộ mảng contents
|
| Kết quả công cụ |
function_result với call_id + name
|
functionResponse với id + name
|
| Văn bản cuối cùng | Bước model_output, hoặc output_text trong SDK |
candidates[0].content.parts[].text |
| Chữ ký suy nghĩ | SDK xử lý, trừ khi store: false
|
Phải gửi lại từng phần chính xác |
Bước 5: Streaming và theo dõi chi phí suy nghĩ
Đối với giao diện trò chuyện, đổi tên phương thức thành streamGenerateContent và thêm ?alt=sse để nhận Server-Sent Events.
curl -N "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.8-flash:streamGenerateContent?alt=sse" \
-H "x-goog-[REDACTED CREDENTIAL]INI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"contents":[{"parts":[{"text":"Liệt kê ba tiêu đề HTTP caching."}]}]}'
Dù sử dụng streaming hay không, phản hồi generateContent đều kết thúc bằng usageMetadata. Hãy đọc trường này trong mọi request:
"usageMetadata": {
"promptTokenCount": 12,
"candidatesTokenCount": 84,
"thoughtsTokenCount": 310,
"totalTokenCount": 406
}
Trường quan trọng nhất trên Gemini 3.8 Flash là thoughtsTokenCount.
Token suy nghĩ được tính phí như token đầu ra: 3,75 đô la cho mỗi triệu token trong giai đoạn giới thiệu. Google cũng cảnh báo mô hình “có thể sử dụng nhiều token hơn để tối đa hóa hiệu suất, đặc biệt ở mức độ nỗ lực cao hơn”.
Artificial Analysis đã đo được khoảng 48.000 token đầu ra cho mỗi tác vụ trong các lần chạy ở mức high, nhiều hơn 30% so với Gemini 3.7 Flash. Với cùng mức giá mỗi token, chi phí mỗi tác vụ tăng từ 0,40 đô la lên 0,58 đô la.
Chi phí được đo cho các mức khác:
-
medium: 0,41 đô la mỗi tác vụ. -
low: 0,24 đô la mỗi tác vụ.
Bài Gemini 3.8 Flash thinking levels trình bày cách chọn mức suy nghĩ theo từng loại tác vụ.
Hiển thị tóm tắt suy nghĩ
Để xem mô hình đã suy luận về điều gì, thêm includeThoughts: true bên trong thinkingConfig:
{
"generationConfig": {
"thinkingConfig": {
"thinkingLevel": "medium",
"includeThoughts": true
}
}
}
Tóm tắt suy nghĩ sẽ được trả về dưới dạng các phần có cờ:
{
"thought": true
}
Khi ghép nội dung hiển thị cho người dùng, hãy bỏ qua những phần này.
Các lỗi thường gặp
thinking_level: "minimal" trả về lỗi 400
Gemini 3.8 Flash chỉ hỗ trợ:
lowmediumhigh
Gửi minimal sẽ trả về lỗi 400 INVALID_ARGUMENT:
Thinking level MINIMAL is not supported for this model.
Please retry with other thinking level.
Cách khắc phục là đổi minimal thành low:
{
"thinking_level": "low"
}
Lỗi này thường xuất hiện khi sao chép cấu hình từ các mô hình Gemini 3.x cũ hơn.
Lỗi 429
Lỗi 429 thường có nghĩa là bạn đã chạm giới hạn của bậc tài khoản, không nhất thiết là request sai.
Các bậc hiện có:
- Gói miễn phí: giới hạn tốc độ thấp.
- Bậc 1: mở khóa khi liên kết tài khoản thanh toán.
- Bậc 2: yêu cầu chi tiêu từ 100 đô la và tài khoản hoạt động thêm ba ngày.
- Bậc 3: yêu cầu chi tiêu từ 1.000 đô la và tài khoản hoạt động thêm 30 ngày.
Số request mỗi phút và token mỗi phút phụ thuộc mô hình và tài khoản. Hãy kiểm tra trực tiếp trang giới hạn tốc độ trong AI Studio thay vì dùng con số từ một bài blog.
Khi gặp lỗi 429:
- Tạm dừng và thử lại với backoff.
- Nếu lỗi tiếp tục xảy ra ở lưu lượng thấp, nâng cấp bậc tài khoản.
- Với công việc ngoại tuyến, cân nhắc Gemini Batch API.
Batch API được giảm giá 50% trong thời gian giới thiệu, còn 0,375 đô la / 1,875 đô la cho mỗi triệu token. Giới hạn token xếp hàng riêng là:
- Bậc 1: 3 triệu token.
- Bậc 2: 400 triệu token.
- Bậc 3: 1 tỷ token.
Thiếu định danh trong kết quả hàm
Khi sử dụng công cụ:
-
function_resultcủa Interactions API phải có cảcall_idvàname. -
functionResponsecủa API cũ phải có cảidvàname. - Các giá trị định danh phải khớp với function call tương ứng.
Thiếu một trong các trường này sẽ khiến lượt gọi thất bại.
Kiểm thử cả hai endpoint trong Apidog
Khi hai request hoạt động từ terminal, hãy chuyển chúng vào một nơi mà cả nhóm có thể chạy lại. Tải Apidog, tạo project và lưu cả hai endpoint dưới dạng request.
1. Tách API key khỏi request
Thêm biến môi trường:
GEMINI_API_KEY
Sau đó tham chiếu biến trong header:
x-goog-[REDACTED CREDENTIAL]
Request đã lưu không chứa bí mật. Việc chuyển đổi giữa khóa miễn phí và khóa trả phí chỉ cần thay đổi môi trường.
2. Kiểm tra trạng thái và token sử dụng
Thêm assertion kiểm tra:
status == 200
Sau đó thêm JSON path assertion để bảo đảm:
usageMetadata.thoughtsTokenCount
nằm dưới ngưỡng bạn chọn cho mỗi prompt.
Ngưỡng này hoạt động như cảnh báo hồi quy chi phí. Nếu thay đổi prompt hoặc mô hình khiến số token suy nghĩ tăng bất thường, test sẽ thất bại trước khi hóa đơn tăng. Hướng dẫn kiểm thử SSE cũng bao gồm biến thể streaming; Apidog hiển thị luồng này dưới dạng các sự kiện đã hợp nhất.
3. So sánh cả ba mức suy nghĩ
Tạo ba bản sao của cùng một request với:
lowmediumhigh
So sánh thoughtsTokenCount và thời gian phản hồi cạnh nhau. Nhờ đó, bạn có số liệu thực tế cho prompt của mình thay vì chỉ dựa vào mức trung bình benchmark.
4. Lên lịch chạy test
Biến các request thành test scenario và chạy theo lịch. Khi giới hạn tốc độ, xác thực hoặc số token thay đổi, vấn đề sẽ xuất hiện trong báo cáo test thay vì production.
Xem cách lên lịch kiểm thử API trong Apidog.
Apidog không chạy mô hình và không thay thế SDK. Nó cung cấp một phiên bản HTTP request có thể lưu trữ, chia sẻ và kiểm chứng — phần thường bị bỏ qua cho đến khi có sự cố.
Câu hỏi thường gặp
Dự án mới nên sử dụng endpoint nào?
Nên dùng Interactions API. Google gọi generateContent là API cũ nhưng vẫn hỗ trợ đầy đủ. Các tính năng mới thường xuất hiện trên Interactions trước, đồng thời trạng thái phía máy chủ giúp mã đa lượt ngắn gọn hơn.
Với dịch vụ hiện có, bạn có thể tiếp tục dùng generateContent cho đến khi có lý do cụ thể để di chuyển.
Có cần tài khoản trả phí để gọi Gemini 3.8 Flash không?
Không. API key AI Studio miễn phí vẫn hoạt động, nhưng đi kèm giới hạn tốc độ và điều khoản sử dụng dữ liệu của Google.
Xem hướng dẫn sử dụng Gemini 3.8 Flash miễn phí để biết gói miễn phí hỗ trợ và không hỗ trợ những gì. Lưu ý rằng ứng dụng Gemini có thể yêu cầu gói AI Pro hoặc Ultra để dùng Gemini 3.8 Flash.
Gemini 3.8 Flash có chậm hơn 3.7 Flash không?
Tính theo mỗi token thì không. Logan Kilpatrick của Google cho biết tốc độ gần như tương đương, còn Artificial Analysis đo được khoảng 300 token đầu ra mỗi giây.
Tính theo mỗi tác vụ, Gemini 3.8 Flash có thể mất nhiều thời gian hơn ở mức high: khoảng 2,5 phút so với 2,2 phút trong các lần chạy của Artificial Analysis. Nguyên nhân là mô hình tạo ra nhiều token hơn.
Có thể tiếp tục dùng Gemini 3.7 Flash không?
Có. Google cho biết Gemini 3.7 Flash vẫn “được hỗ trợ đầy đủ” và chưa công bố ngày ngừng hỗ trợ.
Nếu số token bổ sung của Gemini 3.8 Flash không mang lại lợi ích cho workload, tiếp tục dùng 3.7 Flash vẫn là lựa chọn hợp lý. Xem thêm bài so sánh Gemini 3.8 Flash và 3.7 Flash.
Gemini 3.8 Flash có hỗ trợ Live API hoặc tạo hình ảnh không?
Không. Mô hình chỉ xuất văn bản. Tạo âm thanh, tạo hình ảnh và Live API không được hỗ trợ.
Bước tiếp theo
Bạn hiện đã có:
- Hai endpoint hoạt động.
- Một mẫu hội thoại nhiều lượt.
- Cấu hình cho cả Interactions API và
generateContent. - Streaming qua SSE.
- Cách theo dõi
thoughtsTokenCount. - Bộ kiểm thử có thể chạy lại và lên lịch trong Apidog.
Tiếp theo, hãy kết nối công cụ theo hướng dẫn function calling, chọn mức suy nghĩ cho từng route và dùng script Apidog để phát hiện sớm các thay đổi chi phí.
Top comments (0)