DEV Community

Cover image for วิธีใช้ Gemini 3.8 Flash API: Interactions API, ระดับการคิด และการเรียกใช้ครั้งแรกใน Apidog
Thanawat Wongchai
Thanawat Wongchai

Posted on Originally published at apidog.com

วิธีใช้ Gemini 3.8 Flash API: Interactions API, ระดับการคิด และการเรียกใช้ครั้งแรกใน Apidog

Gemini 3.8 Flash API: คู่มือเชื่อมต่อและควบคุมค่าใช้จ่าย

Google เปิดตัว Gemini 3.8 Flash เมื่อวันที่ 2 กันยายน 2026 โดยใช้รหัสโมเดล API gemini-3.8-flash โดยไม่มีส่วนต่อท้ายสำหรับรุ่นพรีวิว โมเดลนี้ยังคงราคาแนะนำของ 3.7 Flash ไว้ที่ 0.75 ดอลลาร์ต่อล้านอินพุตโทเค็น และ 3.75 ดอลลาร์ต่อล้านเอาต์พุตโทเค็นจนถึงวันที่ 31 ธันวาคม 2026 Google อธิบายว่าเป็นโมเดลที่ “ทำงานหนักขึ้น” โดยใช้ขั้นตอนการให้เหตุผลมากขึ้นและเรียกใช้เครื่องมือบ่อยขึ้นในงานซับซ้อน ซึ่งจะแสดงในบิลค่าโทเค็นของคุณ

ลองใช้ Apidog วันนี้

คู่มือนี้ครอบคลุมการผสานรวม Gemini 3.8 Flash ตั้งแต่การรับคีย์ใน AI Studio การส่งคำขอผ่าน Interactions API การใช้ generateContent แบบเดิม การกำหนด thinking_level การสตรีม และการอ่าน thoughtsTokenCount เพื่อควบคุมค่าใช้จ่าย ทุกคำขอเป็น HTTP พร้อม JSON จึงสามารถสร้างและตรวจสอบใน Apidog ก่อนนำไปใช้ในโค้ดจริงได้

สำหรับภาพรวมโมเดลและการวัดประสิทธิภาพ อ่าน Gemini 3.8 Flash คืออะไร และ โพสต์เปิดตัวของ Google

Gemini 3.8 Flash API โดยสังเขป

รายการ ค่า
รหัสโมเดล gemini-3.8-flash
เอนด์พอยต์หลัก POST /v1beta/interactions
เอนด์พอยต์แบบเดิม POST /v1beta/models/gemini-3.8-flash:generateContent
ส่วนหัวการยืนยันตัวตน x-goog-api-key
บริบท / เอาต์พุต อินพุต 1,048,576 โทเค็น / เอาต์พุต 65,536 โทเค็น
อินพุต ข้อความ, รูปภาพ, วิดีโอ, เสียง, PDF
เอาต์พุต ข้อความเท่านั้น
ระดับการคิด low, medium (ค่าเริ่มต้น), high; minimal ใช้ไม่ได้
ราคาแนะนำถึง 31 ธันวาคม 2026 $0.75 / $3.75 ต่อ 1 ล้านโทเค็น
ราคาตั้งแต่ 1 มกราคม 2027 $1.50 / $7.50 ต่อ 1 ล้านโทเค็น

ระดับการคิดเริ่มต้นคือ medium ไม่ใช่ high เหมือน Gemini 3 Pro และโทเค็นสำหรับการคิดจะถูกเรียกเก็บในอัตราเอาต์พุตตาม หน้าราคาอย่างเป็นทางการ ดังนั้นการเลือกระดับจึงเป็นทั้งการตัดสินใจด้านคุณภาพและค่าใช้จ่าย ดูตัวเลขต่อภารกิจได้ใน รายละเอียดราคา

ขั้นตอนที่ 1: รับ API key ใน AI Studio

เปิด Google AI Studio ลงชื่อเข้าใช้ แล้วสร้าง API key จากหน้าคีย์ คีย์ใช้งานได้ทันทีใน free tier แต่มีข้อจำกัดอัตราการใช้งาน และ Google ระบุว่าข้อมูลในระดับฟรี “ใช้เพื่อปรับปรุงผลิตภัณฑ์ของเรา”

เชื่อมโยงบัญชีสำหรับการเรียกเก็บเงินเพื่อย้ายไป Tier 1 และเพิ่มข้อจำกัดสำหรับงานโปรดักชัน

ส่งออกคีย์แทนการใส่ไว้ในโค้ด:

export GEMINI_API_KEY="AIza..."
Enter fullscreen mode Exit fullscreen mode

Python SDK อย่างเป็นทางการจะอ่าน GEMINI_API_KEY จาก environment ดังนั้น genai.Client() จึงไม่ต้องรับอาร์กิวเมนต์:

pip install google-genai
Enter fullscreen mode Exit fullscreen mode

ขั้นตอนที่ 2: เรียกใช้ครั้งแรกด้วย Interactions API

ปัจจุบัน Google ถือว่า Interactions API เป็นวิธีหลักสำหรับโมเดล Gemini 3.x คำขอประกอบด้วย model, input และ generation_config ซึ่งเป็นที่อยู่ของ thinking_level

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-[REDACTED CREDENTIAL] \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-3.8-flash",
    "input": "Explain HTTP caching in 3 sentences.",
    "generation_config": {"thinking_level": "medium"}
  }'
Enter fullscreen mode Exit fullscreen mode

การตอบกลับเป็นรายการขั้นตอนการดำเนินการแทนข้อความเดียว ความคิดของโมเดลและการเรียกใช้เครื่องมือจะปรากฏเป็นขั้นตอน ส่วนขั้นตอนสุดท้ายคือ model_output ซึ่งเก็บข้อความ

Python SDK จัดการรูปแบบนี้ให้:

from google import genai

client = genai.Client()

interaction = client.interactions.create(
    model="gemini-3.8-flash",
    input="Explain HTTP caching in 3 sentences.",
    generation_config={"thinking_level": "medium"},
)

print(interaction.output_text)
Enter fullscreen mode Exit fullscreen mode

ปล่อย temperature, top_p และ top_k เป็นค่าเริ่มต้น Google แนะนำให้ใช้ temperature ที่ 1.0 สำหรับ Gemini 3 ทุกรุ่น เพราะการลดค่าอาจทำให้เกิดการวนซ้ำหรือประสิทธิภาพลดลง หากคัดลอกคอนฟิกจากโมเดลเก่า ให้ลบบรรทัดเหล่านี้ออกก่อน

ขั้นตอนที่ 3: สนทนาหลายรอบด้วย previous_interaction_id

โดยค่าเริ่มต้น Interactions API จะเก็บสถานะการสนทนาไว้บนเซิร์ฟเวอร์ หากต้องการสนทนาต่อ ให้ส่ง ID ของการตอบกลับก่อนหน้าเป็น previous_interaction_id พร้อมอินพุตใหม่ โดยไม่ต้องส่งประวัติทั้งหมดซ้ำ:

follow_up = client.interactions.create(
    model="gemini-3.8-flash",
    input="Now give one example of a Cache-Control header.",
    previous_interaction_id=interaction.id,
)

print(follow_up.output_text)
Enter fullscreen mode Exit fullscreen mode

หากข้อกำหนดด้านการปฏิบัติตามกฎห้ามจัดเก็บข้อมูลฝั่งเซิร์ฟเวอร์ ให้ตั้งค่า store: false แต่คุณจะต้องจัดการสถานะเอง รวมถึงส่งบล็อกความคิดและลายเซ็นความคิดกลับไปในแต่ละรอบอย่างถูกต้อง กฎเดียวกันนี้มีผลต่อการใช้เครื่องมือ ดูรายละเอียดใน คู่มือการเรียกใช้ฟังก์ชันสำหรับ Gemini 3.8 Flash

ขั้นตอนที่ 4: ใช้ generateContent แบบเดิม

โค้ด Gemini ส่วนใหญ่ในโปรดักชันยังคงใช้ generateContent Google เรียกว่าเป็น API แบบเดิม แต่ยัง “รองรับอย่างเต็มที่” และยังไม่มีกำหนดเลิกใช้งาน คุณจึงไม่จำเป็นต้องเขียนโค้ดใหม่ทันที

คู่มือ Gemini 3.7 Flash API ครอบคลุมเส้นทางนี้ และรูปแบบของ Gemini 3.8 Flash เหมือนกัน เพียงแต่ตำแหน่งของคอนฟิกการคิดแตกต่างจาก Interactions API

ใน generateContent ให้กำหนดระดับผ่าน generationConfig.thinkingConfig.thinkingLevel:

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": "Explain HTTP caching in 3 sentences."}]}],
    "generationConfig": {"thinkingConfig": {"thinkingLevel": "low"}}
  }'
Enter fullscreen mode Exit fullscreen mode

Python ใช้ typed config objects:

from google import genai
from google.genai import types

client = genai.Client()

response = client.models.generate_content(
    model="gemini-3.8-flash",
    contents="Explain HTTP caching in 3 sentences.",
    config=types.GenerateContentConfig(
        thinking_config=types.ThinkingConfig(thinking_level="low")
    ),
)

print(response.text)
Enter fullscreen mode Exit fullscreen mode

หากคอนฟิกเดิมใช้ thinking_budget เป็นจำนวนเต็ม ให้เปลี่ยนเป็น enum string และลบ candidate_count เพราะถูกยกเลิกใน Gemini 3 และรุ่นใหม่กว่า ดู JSON ก่อนและหลังการแก้ไขได้ใน คู่มือการย้ายจาก 3.7 ไป 3.8 Flash

เปรียบเทียบการตั้งค่าใน API ทั้งสองแบบ

ข้อกังวล Interactions API generateContent แบบเดิม
ระดับการคิด generation_config.thinking_level generationConfig.thinkingConfig.thinkingLevel
สถานะการสนทนา previous_interaction_id ฝั่งเซิร์ฟเวอร์ ส่งอาร์เรย์ contents ทั้งหมดซ้ำ
ผลลัพธ์เครื่องมือ function_result พร้อม call_id + name functionResponse พร้อม id + name
ข้อความสุดท้าย ขั้นตอน model_output หรือ output_text ใน SDK candidates[0].content.parts[].text
ลายเซ็นความคิด SDK จัดการให้ เว้นแต่ใช้ store: false ส่งคืนทุกส่วนตามที่ได้รับอย่างครบถ้วน

ขั้นตอนที่ 5: สตรีมและอ่านค่าใช้จ่ายในการคิด

สำหรับแชต ให้เปลี่ยนเมธอดเป็น streamGenerateContent และเพิ่ม ?alt=sse เพื่อรับ Server-Sent Events:

curl -N "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.8-flash:streamGenerateContent?alt=sse" \
  -H "x-goog-[REDACTED CREDENTIAL] \
  -H "Content-Type: application/json" \
  -d '{"contents":[{"parts":[{"text":"List three HTTP caching headers."}]}]}'
Enter fullscreen mode Exit fullscreen mode

ไม่ว่าจะสตรีมหรือไม่ การตอบกลับของ generateContent จะสิ้นสุดด้วย usageMetadata:

"usageMetadata": {
  "promptTokenCount": 12,
  "candidatesTokenCount": 84,
  "thoughtsTokenCount": 310,
  "totalTokenCount": 406
}
Enter fullscreen mode Exit fullscreen mode

thoughtsTokenCount คือค่าที่ควรจับตาใน Gemini 3.8 Flash โทเค็นการคิดถูกคิดราคาในอัตราเอาต์พุตที่ 3.75 ดอลลาร์ต่อล้านโทเค็นในช่วงแนะนำ Google ระบุว่าโมเดลอาจใช้โทเค็นมากขึ้นเพื่อเพิ่มประสิทธิภาพ โดยเฉพาะระดับความพยายามสูง

Artificial Analysis วัดได้ประมาณ 48k เอาต์พุตโทเค็นต่อภารกิจเมื่อใช้ high มากกว่า 3.7 Flash ประมาณ 30% ทำให้ค่าใช้จ่ายต่อภารกิจเพิ่มจาก 0.40 ดอลลาร์เป็น 0.58 ดอลลาร์ แม้ราคาต่อโทเค็นจะเท่าเดิม ส่วน medium และ low มีค่าใช้จ่ายประมาณ 0.41 ดอลลาร์และ 0.24 ดอลลาร์ต่อภารกิจตามลำดับ อ่านกลยุทธ์เพิ่มเติมใน คู่มือระดับการคิด

หากต้องการดูเหตุผลของโมเดล ให้เพิ่ม includeThoughts: true ภายใน thinkingConfig สรุปความคิดจะถูกส่งกลับเป็นส่วนที่มี "thought": true ให้ข้ามส่วนเหล่านี้เมื่อประกอบคำตอบที่ผู้ใช้มองเห็น

ข้อผิดพลาดที่พบบ่อยในชั่วโมงแรก

  • thinking_level: "minimal" ใช้ไม่ได้

    Gemini 3.8 Flash รองรับเฉพาะ low, medium และ high การส่ง minimal จะได้ข้อผิดพลาด 400 INVALID_ARGUMENT พร้อมข้อความ Thinking level MINIMAL is not supported for this model. Please retry with other thinking level. วิธีแก้คือเปลี่ยนเป็น low การตั้งค่าจาก Gemini 3.x รุ่นเก่ามักเป็นสาเหตุของปัญหานี้

  • 429 หมายถึงถึงขีดจำกัดของ Tier

    รายละเอียดข้อจำกัดอัตราการใช้งาน แบ่งเป็น free tier, Tier 1 เมื่อเชื่อมโยงบัญชีสำหรับเรียกเก็บเงิน, Tier 2 หลังมียอดใช้จ่ายอย่างน้อย 100 ดอลลาร์และใช้งานมาแล้ว 3 วัน และ Tier 3 หลังมียอดอย่างน้อย 1,000 ดอลลาร์และใช้งานมาแล้ว 30 วัน ตัวเลขคำขอต่อนาทีและโทเค็นต่อนาทีแตกต่างกันตามบัญชี จึงควรตรวจสอบใน AI Studio แทนการใช้ตัวเลขจากบล็อกโพสต์

เมื่อพบ 429 ให้รอสักครู่แล้วลองใหม่ หากเกิดซ้ำแม้ใช้งานไม่มาก ให้พิจารณาอัปเกรด Tier สำหรับงานออฟไลน์ Batch API เหมาะกว่า เพราะลดราคา 50% เหลือ 0.375 ดอลลาร์ / 1.875 ดอลลาร์ต่อล้านโทเค็นในช่วงแนะนำ และมีโควตาโทเค็นในคิวแยกกันที่ 3M สำหรับ Tier 1, 400M สำหรับ Tier 2 และ 1B สำหรับ Tier 3 ดูรูปแบบคำขอใน คู่มือโหมด Batch ของ Gemini

  • ผลลัพธ์ฟังก์ชันขาด call_id หรือ ID ที่ตรงกัน ใน Interactions API ทุก function_result ต้องมีทั้ง call_id และ name ส่วน functionResponse แบบเดิมต้องมี id ที่ตรงกันพร้อม name หากขาดฟิลด์ใดฟิลด์หนึ่ง การสนทนาจะล้มเหลว

ทดสอบทั้งสองเอนด์พอยต์ใน Apidog

เมื่อคำขอทำงานจากเทอร์มินัลแล้ว ให้ ดาวน์โหลด Apidog สร้างโปรเจกต์ และบันทึกทั้งสองเอนด์พอยต์ให้ทีมใช้งานร่วมกัน

1. เก็บ API key ไว้นอกคำขอ

เพิ่ม GEMINI_API_KEY เป็น environment variable แล้วอ้างอิงในส่วนหัว:

x-goog-[REDACTED CREDENTIAL]
Enter fullscreen mode Exit fullscreen mode

คำขอที่บันทึกไว้จะไม่เก็บความลับ และการสลับจากคีย์ฟรีเป็นคีย์แบบชำระเงินทำได้ด้วยการเปลี่ยน environment เพียงครั้งเดียว

2. ยืนยันสถานะและการใช้โทเค็น

เพิ่มการยืนยันว่า HTTP status เป็น 200 และตรวจสอบ JSON path:

usageMetadata.thoughtsTokenCount
Enter fullscreen mode Exit fullscreen mode

กำหนดเพดานต่อพรอมต์เพื่อให้การทดสอบล้มเหลวก่อนเกิดค่าใช้จ่ายที่ไม่คาดคิด หากพรอมต์หรือโมเดลเปลี่ยนแล้วใช้โทเค็นการคิดมากขึ้น

สำหรับการสตรีม อ่าน คู่มือการทดสอบ SSE โดย Apidog จะแสดงสตรีมเป็นเหตุการณ์ที่รวมกันแทนข้อมูลดิบแต่ละส่วน

3. เปรียบเทียบทั้งสามระดับ

ส่งพรอมต์เดียวกันด้วย low, medium และ high แล้วเปรียบเทียบ thoughtsTokenCount กับเวลาตอบสนอง วิธีนี้ให้ตัวเลขจริงของงานคุณ แทนการอ้างอิงค่าเฉลี่ย

4. ตั้งเวลาการทดสอบ

เปลี่ยนคำขอเป็น test scenario แล้วเรียกใช้ตามกำหนดเวลา เพื่อให้เห็นการเปลี่ยนแปลงของข้อจำกัด การตรวจสอบ เช่น การลบ minimal หรือการเพิ่มขึ้นของโทเค็นในรายงานก่อนกระทบโปรดักชัน ดูขั้นตอนได้จาก วิธีตั้งเวลาการทดสอบ API ใน Apidog

Apidog ไม่ได้รันโมเดลหรือแทนที่ SDK แต่ช่วยให้ทีมมีเวอร์ชัน HTTP request ที่บันทึก แชร์ และตรวจสอบได้ ซึ่งเป็นส่วนที่มักถูกข้ามจนกว่าจะเกิดปัญหา

คำถามที่พบบ่อย

โปรเจกต์ใหม่ควรใช้เอนด์พอยต์ใด?

ใช้ Interactions API เพราะ Google ถือว่าเป็น API หลัก ฟีเจอร์ใหม่จะปรากฏที่นี่ก่อน และสถานะฝั่งเซิร์ฟเวอร์ทำให้โค้ดหลายรอบสั้นลง อย่างไรก็ตาม generateContent ยังรองรับอย่างเต็มที่ จึงควรใช้ต่อในบริการเดิมจนกว่าจะมีเหตุผลต้องย้าย

ต้องมีบัญชีแบบชำระเงินหรือไม่?

ไม่จำเป็น คีย์ AI Studio แบบฟรีใช้งานได้ แต่มีข้อจำกัดอัตราการใช้งานและข้อกำหนดการใช้ข้อมูลของ Google อ่าน คู่มือการใช้งานฟรี สำหรับรายละเอียด รวมถึงข้อเท็จจริงว่าแอป Gemini ต้องการแผน AI Pro หรือ Ultra สำหรับ 3.8 Flash

3.8 Flash ช้ากว่า 3.7 Flash หรือไม่?

ไม่ช้ากว่าเมื่อวัดต่อโทเค็น Logan Kilpatrick จาก Google ระบุว่าความเร็วเท่ากัน และ Artificial Analysis วัดได้ประมาณ 300 เอาต์พุตโทเค็นต่อวินาที แต่การรันที่ high ใช้เวลาต่อภารกิจนานกว่า คือ 2.5 นาทีเทียบกับ 2.2 นาที เพราะสร้างโทเค็นมากขึ้น

ยังใช้ Gemini 3.7 Flash ได้หรือไม่?

ได้ Google ระบุว่า 3.7 Flash “ยังคงรองรับอย่างเต็มที่” และยังไม่ประกาศวันเลิกใช้งาน หากโทเค็นที่เพิ่มขึ้นของ 3.8 Flash ไม่ได้ให้ประโยชน์กับงานของคุณ การใช้ 3.7 Flash ต่อไปก็เป็นทางเลือกที่เหมาะสม

3.8 Flash รองรับ Live API หรือการสร้างรูปภาพหรือไม่?

ไม่รองรับ โมเดลนี้สร้างได้เฉพาะข้อความ การสร้างเสียง การสร้างรูปภาพ และ Live API ไม่ได้รับการสนับสนุน ดูข้อแตกต่างเพิ่มเติมใน การเปรียบเทียบ Gemini 3.8 กับ 3.7 Flash

ไปต่อที่ไหนดี

ตอนนี้คุณมีเส้นทางเรียกใช้สองแบบ การสนทนาหลายรอบ และการตรวจสอบการใช้โทเค็นแล้ว ขั้นตอนถัดไปคือ:

Top comments (0)