Google เปิดตัว Gemini 3.7 Flash เมื่อวันที่ 13 สิงหาคม 2026 เพียงสามสัปดาห์หลัง 3.6 Flash และเรียกว่าเป็น “โมเดลเวิร์กฮอร์สที่ฉลาดที่สุดของเรา” สำหรับนักพัฒนา จุดที่สำคัญคือคะแนนงานเขียนโค้ดแบบ agentic เพิ่มขึ้นมาก (DeepSWE v1.1 จาก 49.0% เป็น 65.3%) ราคาเปิดตัวลดลงครึ่งหนึ่งจาก 3.6 Flash และ API surface ยังคงเดิม หากคุณใช้ Gemini อยู่แล้ว ให้เปลี่ยนเพียง model ID; หากยังไม่เคยใช้ นี่คือจุดเริ่มต้นที่มีต้นทุนต่ำที่สุดของ Google สำหรับโมเดลระดับความสามารถนี้
คู่มือนี้พาคุณเริ่มใช้งานแบบลงมือทำ: สร้าง API key, ส่งคำขอแรกด้วย cURL, ใช้งานผ่าน Python และ Node.js, สตรีมคำตอบ, ปรับ generationConfig และทดสอบ prompt ใน Apidog ก่อนเขียนโค้ดแอป ข้อมูลจำเพาะจาก ประกาศอย่างเป็นทางการ คือบริบท 1M โทเค็น, เอาต์พุต 64k โทเค็น, รองรับอินพุตหลายรูปแบบ, function calling, การค้นหาเป็นเครื่องมือ และการใช้งานคอมพิวเตอร์
หากคุณสร้างระบบบนรุ่นก่อนหน้า โครงสร้างคำขอยังอ้างอิงจากคู่มือ Gemini 3 Flash Preview API ได้ บทความนี้เน้นสิ่งที่ต้องเปลี่ยนหรือทดสอบเพิ่มสำหรับเวิร์กโฟลว์ 3.7
สรุป (TL;DR)
- Model ID คือ
gemini-3.7-flash - Endpoint แบบ synchronous:
POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3.7-flash:generateContent
- ส่ง API key ผ่าน header:
x-goog-api-key: <KEY>
- ราคาเปิดตัวถึง 31 ธันวาคม 2026: อินพุต $0.75 ต่อ 1M โทเค็น และเอาต์พุต $3.75 ต่อ 1M โทเค็น
- ตั้งแต่ 1 มกราคม 2027 ราคาเพิ่มเป็นอินพุต $1.50 และเอาต์พุต $7.50 ต่อ 1M โทเค็น
- รองรับบริบทอินพุต 1M โทเค็น และเอาต์พุตสูงสุด 64k โทเค็น
- อินพุตรองรับข้อความ, รูปภาพ, วิดีโอ, เสียง และ PDF; เอาต์พุตเป็นข้อความ
- คะแนนเทียบกับ 3.6 Flash:
- DeepSWE: 49.0% → 65.3%
- FrontierCode: 34.4% → 43.6%
- AutomationBench: 17.0% → 30.4%
- WebDev Arena Elo: 1538 → 1588
- การสตรีมใช้ endpoint
:streamGenerateContent?alt=sse - ทดสอบ request, schema และ SSE ใน Apidog ก่อนนำโค้ดไปฝังในแอป
Gemini 3.7 Flash เหมาะสำหรับอะไร
Flash แลกความสามารถสูงสุดบางส่วนกับความเร็วและต้นทุนที่ต่ำกว่า แต่ Gemini 3.7 Flash ทำให้ช่องว่างนี้แคบลงมาก คะแนนจาก 3.6 Flash เพิ่มขึ้นอย่างชัดเจน: DeepSWE v1.1 จาก 49.0% เป็น 65.3%, FrontierCode 1.1 Main จาก 34.4% เป็น 43.6%, AutomationBench จาก 17.0% เป็น 30.4% และ WebDev Arena Elo เพิ่ม 50 คะแนนจาก 1538 เป็น 1588
เลือกใช้ Gemini 3.7 Flash เมื่อ:
คุณรัน agent loop
คะแนน AutomationBench เพิ่มขึ้นเกือบสองเท่า และ Google ระบุว่าโมเดลวางแผนหลายขั้นตอนและเรียกใช้เครื่องมือได้รอบคอบขึ้น เหมาะกับ pipeline ที่ต้องวนคิด วางแผน และใช้ tools หลายครั้งคุณสร้างหรือดีบักโค้ด
Google ระบุว่า 3.7 ทำงานด้านการดีบักดีขึ้น และสามารถสร้างโค้ดพร้อมใช้งานได้ตั้งแต่รอบแรก ผล DeepSWE และ FrontierCode สนับสนุนกรณีใช้งานนี้คุณประมวลผลเอกสาร
GDP.pdf เพิ่มจาก 22.0% เป็น 34.0% และ PDF เป็นอินพุตระดับเฟิร์สคลาส เหมาะกับการสกัดข้อมูลเชิงโครงสร้างจากเอกสารขนาดยาวคุณต้องการ multimodal input ในต้นทุนต่ำ
รวมข้อความ รูปภาพ วิดีโอ เสียง และ PDF ไว้ในcontentsเดียวกันได้
ดูข้อมูลฟีเจอร์เพิ่มเติม เช่น คะแนน Harvey LAB-AA ด้านกฎหมาย 90.7% และมาตรการป้องกัน CBRN/ไซเบอร์ที่อัปเดตได้ใน มีอะไรใหม่ใน Gemini 3.7 Flash ทั้งนี้ Gemini 3.5 Pro ยังล่าช้า และ Axios รายงานว่า Google ตั้งใจปล่อยอัปเดต Flash ก่อนเรือธงรุ่นถัดไป
รับ API key
มีสองทางเลือกหลัก
AI Studio: เริ่มเร็วที่สุด
- เปิด aistudio.google.com/apikey
- คลิก Get API key
- เลือก Google Cloud project
- คัดลอก key ที่สร้างขึ้น
Key นี้เรียก generativelanguage.googleapis.com ได้ทันที Free tier มีโควต้าสำหรับสร้าง prototype และ Gemini 3.7 Flash ให้บริการในกว่า 160 ประเทศ
Vertex AI: สำหรับระบบ production บน GCP
หากระบบของคุณอยู่บน Google Cloud อยู่แล้ว ให้ใช้ Vertex AI:
- การยืนยันตัวตนเปลี่ยนจาก API key เป็น OAuth
- ใช้ service account หรือ short-lived token
- เรียกผ่าน
aiplatform.googleapis.com - ได้ IAM, audit log และ regional endpoint
Model ID และ request body ยังคงเหมือนเดิม สิ่งที่เปลี่ยนคือ URL และกลไกการยืนยันตัวตน
เริ่ม prototype ด้วย AI Studio และย้ายไป Vertex AI ก่อนใช้งานจริง จากนั้นตั้งค่า key เป็น environment variable:
export GEMINI_API_KEY="AIza..."
อย่าฮาร์ดโค้ด key และอย่าส่ง key ผ่าน query string เช่น ?key= ใน production เพราะ query string อาจถูกบันทึกใน server logs
Endpoint และการยืนยันตัวตน
Endpoint สำหรับคำขอแบบ synchronous:
POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3.7-flash:generateContent
Endpoint สำหรับการสตรีมผ่าน Server-Sent Events:
POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3.7-flash:streamGenerateContent?alt=sse
ส่ง key ผ่าน header:
x-goog-api-key: $GEMINI_API_KEY
สำหรับ Generative Language API ไม่ต้องใช้ bearer token, signature หรือ session setup เพิ่มเติม
ส่งคำขอแรกด้วย cURL
เริ่มด้วย request ที่เล็กและตรวจสอบผลได้ง่าย:
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.7-flash:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"role": "user",
"parts": [{
"text": "Review this SQL for injection risk: SELECT * FROM orders WHERE id = ${orderId}"
}]
}],
"generationConfig": {
"temperature": 0.3,
"maxOutputTokens": 1024
}
}'
การตอบกลับจะมี:
-
candidates: รายการคำตอบที่โมเดลสร้าง -
candidates[].content.parts: ข้อความหรือ function call -
candidates[].finishReason: เหตุผลที่การสร้างจบ -
usageMetadata: จำนวนโทเค็นที่ใช้
ตรวจสอบ usageMetadata ทุกครั้ง โดยเฉพาะงานที่มีเอาต์พุตยาว เพราะโทเค็นเอาต์พุตมีราคาสูงกว่าอินพุตห้าเท่าตามราคาเปิดตัว
Google ใช้รูปแบบ
contents→role→partsไม่ใช่messagesแบบ OpenAI API หากกำลังย้ายจาก provider อื่น ให้ตรวจ mapping นี้ก่อน
เริ่มต้นใช้งาน Python
ติดตั้งหรืออัปเกรด SDK:
pip install --upgrade google-generativeai
ตัวอย่าง code review พร้อม system instruction:
import os
import google.generativeai as genai
genai.configure(api_key=os.environ["GEMINI_API_KEY"])
model = genai.GenerativeModel(
model_name="gemini-3.7-flash",
system_instruction="You are a code reviewer. Flag issues as blocking or non-blocking.",
generation_config={
"temperature": 0.3,
"max_output_tokens": 2048,
},
)
response = model.generate_content(
"Review this Flask route for security issues:\n\n"
"@app.route('/user/<id>')\n"
"def get_user(id):\n"
" return db.execute(f'SELECT * FROM users WHERE id = {id}')"
)
print(response.text)
print("input tokens:", response.usage_metadata.prompt_token_count)
print("output tokens:", response.usage_metadata.candidates_token_count)
ส่ง PDF เป็น multimodal input
อัปโหลดไฟล์ผ่าน Files API แล้วส่งไฟล์พร้อม prompt:
invoice = genai.upload_file("q3-invoice.pdf")
response = model.generate_content([
invoice,
"Extract the invoice number, total, and due date as JSON.",
])
print(response.text)
กรณีนี้สอดคล้องกับการเพิ่มขึ้นของคะแนน GDP.pdf จาก 22.0% เป็น 34.0%: การสกัดข้อมูลจากเอกสารจริงที่มีโครงสร้างซับซ้อน
เริ่มต้นใช้งาน Node.js
ติดตั้ง SDK:
npm install @google/generative-ai
ใช้ structured output เพื่อลดการ parse ข้อความอิสระใน downstream code:
import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);
const model = genAI.getGenerativeModel({
model: "gemini-3.7-flash",
generationConfig: {
temperature: 0.3,
maxOutputTokens: 2048,
responseMimeType: "application/json",
responseSchema: {
type: "object",
properties: {
severity: {
type: "string",
enum: ["blocking", "non-blocking"],
},
issues: {
type: "array",
items: { type: "string" },
},
},
required: ["severity", "issues"],
},
},
});
const result = await model.generateContent(
"Review this Express handler: app.get('/search', (req, res) => res.send(eval(req.query.q)))"
);
console.log(JSON.parse(result.response.text()));
responseSchema จะมีผลเมื่อใช้คู่กับ:
responseMimeType: "application/json"
หากไม่กำหนด MIME type เป็น JSON schema อาจถูกละเว้น ดังนั้นตั้งค่าทั้งสองฟิลด์เสมอเมื่อระบบ downstream ต้องการข้อมูลที่ parse ได้แน่นอน
การสตรีม
สำหรับ chat UI หรือผลลัพธ์ที่ผู้ใช้ควรเห็นทันที ให้ใช้ streaming
Python streaming
stream = model.generate_content(
"Explain the N+1 query problem with a concrete ORM example.",
stream=True,
)
for chunk in stream:
if chunk.text:
print(chunk.text, end="", flush=True)
HTTP streaming
เรียก endpoint นี้:
POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3.7-flash:streamGenerateContent?alt=sse
แต่ละบรรทัด data: คือ SSE event ที่มี candidates บางส่วน ส่วนท้ายของ stream จะรวม usageMetadata ดังนั้นให้บันทึกต้นทุนหลัง stream ปิดแล้วเท่านั้น
ปรับแต่ง generationConfig
พารามิเตอร์ที่ควรควบคุมก่อน:
| พารามิเตอร์ | ประเภท | ใช้งานอย่างไร |
|---|---|---|
maxOutputTokens |
จำนวนเต็ม | จำกัดเอาต์พุตสูงสุดไม่เกิน 64k และเป็นตัวควบคุมค่าใช้จ่ายหลัก |
temperature |
ตัวเลข | ช่วง 0–2 ใช้ 0.2–0.4 สำหรับโค้ด/การดึงข้อมูล และ 0.7+ สำหรับงานสร้างสรรค์ |
responseMimeType |
สตริง | ตั้งเป็น application/json เมื่อต้องการ JSON |
responseSchema |
อ็อบเจกต์ | บังคับโครงสร้างเอาต์พุตเมื่อใช้กับ JSON MIME type |
topP |
ตัวเลข | Nucleus sampling; ปล่อยค่าเริ่มต้นหากไม่ได้ปรับอย่างตั้งใจ |
stopSequences |
อาร์เรย์ | หยุดการสร้างเมื่อเจอสตริงที่กำหนด เหมาะกับ output ที่มี delimiter |
อย่าตั้ง maxOutputTokens เป็น 64k โดยอัตโนมัติ ให้ตั้งตามความต้องการของงานจริง เพราะเอาต์พุตมีค่าใช้จ่าย $3.75 ต่อ 1M โทเค็นในราคาเปิดตัว และ $7.50 ตั้งแต่เดือนมกราคม 2027
ดูตัวอย่างคำนวณต้นทุนแยกตาม workload ได้ที่รายละเอียดราคา Gemini 3.7 Flash
นอกจาก generationConfig แล้ว request body ยังรองรับ:
-
toolsสำหรับ function declarations, search grounding และ computer use -
toolConfigสำหรับกำหนดพฤติกรรมการเรียกใช้ tool
การใช้ tools เป็นส่วนที่ Gemini 3.7 Flash ปรับปรุงเด่นที่สุด ดูขั้นตอนการประกาศฟังก์ชัน, parallel calls และ response loop ได้ในบทแนะนำการเรียกใช้ฟังก์ชัน Gemini 3.7 Flash
ทดสอบ endpoint ใน Apidog ก่อนเขียนโค้ดแอป
การปรับ prompt ในสคริปต์ Python โดยตรงมักช้า: แก้ไขโค้ด, รันใหม่, อ่านผลลัพธ์ และวนซ้ำ โดยทุกครั้งอาจใช้โทเค็นเพิ่ม วิธีที่เร็วกว่า คือยืนยัน request format และ response contract ใน API client ก่อน แล้วจึงย้ายไปเขียน SDK code
ตั้งค่าใน Apidog ตามขั้นตอนนี้:
สร้างโปรเจกต์และนำเข้า API spec
นำเข้า Generative Language API OpenAPI spec จากเอกสาร Gemini API ของ Google จากนั้นค้นหา endpointgenerateContentสร้าง environment variable สำหรับ key
เพิ่มตัวแปรGEMINI_API_KEYแล้วใช้กับ header:
x-goog-api-key: {{GEMINI_API_KEY}}
ทุก request จะใช้ key เดียวกันโดยไม่ต้องใส่ซ้ำใน request body
- เก็บ model ID เป็นตัวแปร กำหนดตัวแปร เช่น:
GEMINI_MODEL=gemini-3.7-flash
เมื่อต้อง A/B test กับ gemini-3.6-flash ให้เปลี่ยนเพียงตัวแปรเดียว
สร้าง
contentsผ่าน JSON editor
ตรวจ nesting ของcontents,roleและpartsให้ถูกต้องก่อนส่ง ลดโอกาสเสียโทเค็นกับ HTTP 400ทดสอบ streaming endpoint
ส่ง request ไปยังstreamGenerateContent?alt=sseเพื่อดู SSE chunks แบบสด พร้อมสังเกต latencyบันทึก response ที่ถูกต้องเป็น example
ใช้ mock response ในการทดสอบภายหลังแทนการยิง API จริง ช่วยประหยัดโทเค็นเมื่อทดสอบ integration ซ้ำ
หลังบันทึก request แล้ว ให้เพิ่ม assertion สำหรับ:
finishReason- response schema
usageMetadata- ฟิลด์ธุรกิจที่แอปต้องใช้จริง
วิธีนี้เปลี่ยน prompt test แบบ manual ให้กลายเป็น regression suite ที่รันได้ทุกครั้งที่ prompt เปลี่ยน ดูรูปแบบการใช้งานในทีม QA เพิ่มเติมได้ในคู่มือการทดสอบ API สำหรับวิศวกร QA
การจัดการข้อผิดพลาดและ Rate Limits
Gemini ส่งคืน error object ระดับบนสุดที่มี code, status และ message
| HTTP | สถานะ | ความหมาย | วิธีแก้ |
|---|---|---|---|
| 400 | INVALID_ARGUMENT |
Request body ผิดรูปแบบ, role ไม่ถูกต้อง หรือ contents ว่าง |
ตรวจ request ใน Apidog ก่อนส่ง |
| 401 | UNAUTHENTICATED |
ไม่มี key หรือ key ถูกเพิกถอน | ตั้ง GEMINI_API_KEY ใหม่และตรวจ key ใน AI Studio |
| 403 | PERMISSION_DENIED |
Project ไม่มีสิทธิ์หรือยังไม่เปิด billing | ตรวจ project settings และ billing |
| 429 | RESOURCE_EXHAUSTED |
เกิน rate limit หรือ daily quota | ใช้ backoff พร้อม jitter, batch request หรืออัปเกรด tier |
| 500 | INTERNAL |
Server error ชั่วคราว | retry ด้วย exponential backoff |
| 503 | UNAVAILABLE |
บริการโอเวอร์โหลด | retry หลังไม่กี่วินาที; บน Vertex AI ลอง region อื่น |
สำหรับ production ให้ทำ 3 อย่างนี้:
ห่อทุก API call ด้วย retry helper
รองรับ 429 และ 5xx ด้วย exponential backoff แบบ jittered เพื่อควบคุม logging, circuit breaker และ retry policy ได้เองอย่าฮาร์ดโค้ดตัวเลข rate limit
ขีดจำกัดต่างกันตาม service tier และเปลี่ยนแปลงได้ ตรวจค่าปัจจุบันจากหน้าราคาและขีดจำกัดของ Gemini API และตั้ง alert ที่ประมาณ 80% ของ quotaใส่ model ID ไว้หลัง environment variable
หากพฤติกรรมของ 3.7 ทำให้ prompt เดิมมีปัญหา ให้ rollback ไปgemini-3.6-flashด้วย config change แทนการ deploy ใหม่
ตัวอย่าง retry helper ใน Python:
import random
import time
RETRYABLE_STATUS_CODES = {429, 500, 503}
def call_with_retry(fn, max_attempts=5):
for attempt in range(max_attempts):
try:
return fn()
except Exception as error:
status_code = getattr(error, "status_code", None)
if status_code not in RETRYABLE_STATUS_CODES:
raise
if attempt == max_attempts - 1:
raise
delay = min(2 ** attempt, 30) + random.uniform(0, 1)
time.sleep(delay)
คำถามที่พบบ่อย
Gemini 3.7 Flash ใช้งานได้ฟรีหรือไม่
AI Studio มี Free tier พร้อม quota รายวันสำหรับสร้าง prototype ราคาแบบเสียเงินช่วงเปิดตัวคือ $0.75 ต่อ 1M input tokens จนถึง 31 ธันวาคม 2026 หากต้องการดูทางเลือกที่ไม่เสียค่าใช้จ่ายเพิ่มเติม อ่านคู่มือการเข้าถึง Gemini API ฟรี
AI Studio และ Vertex AI ต่างกันอย่างไร
ใช้โมเดลและ request body เดียวกัน แต่ระบบ backend ต่างกัน:
- AI Studio ใช้ API key และ
generativelanguage.googleapis.com - Vertex AI ใช้ OAuth และ
aiplatform.googleapis.com - Vertex AI เพิ่ม IAM, audit logs และ regional endpoints
เริ่มบน AI Studio เพื่อพัฒนาเร็ว แล้วค่อยย้ายไป Vertex AI เมื่อมีความต้องการด้าน production, governance หรือ scale
ส่งรูปภาพ เสียง และ PDF ไปยัง Gemini 3.7 Flash ได้หรือไม่
ได้ Gemini 3.7 Flash รองรับข้อความ รูปภาพ วิดีโอ เสียง และ PDF ใน contents เดียวกัน ส่งข้อมูลแบบ inline ด้วย base64 หรืออ้างอิงไฟล์ผ่าน Files API ก็ได้ เอาต์พุตเป็นข้อความเท่านั้น
Context window และ output limit เท่าใด
อินพุตสูงสุด 1M โทเค็น และเอาต์พุตสูงสุด 64k โทเค็น คะแนน 128k-needle ที่ 97.0% บ่งชี้ว่าการเรียกคืนบริบทขนาดยาวมีความน่าเชื่อถือ แต่ยังควรแบ่งข้อมูลยาวเป็นส่วนย่อยเมื่อทำได้เพื่อลดต้นทุน input tokens
ควรอัปเกรดจาก Gemini 3.6 Flash หรือไม่
สำหรับ agent workload และงานเขียนโค้ด คำตอบคือควรทดลองอัปเกรด เพราะช่องว่าง benchmark มีนัยสำคัญและเปลี่ยน model ID เพียงบรรทัดเดียว อย่างไรก็ตาม ควรรัน regression test กับ prompt สำคัญก่อนเปิด production ดูรายการพฤติกรรมที่ควรตรวจได้ในคู่มือย้ายจาก Gemini 3.6 ไปยัง 3.7 Flash
Gemini 3.7 Flash เหมาะกับสแตกของคุณอย่างไร
Gemini 3.7 Flash เป็นรุ่นที่ความสามารถเพิ่มขึ้นพร้อมต้นทุนเปิดตัวที่ลดลง จนถึงสิ้นปี 2026 คุณจ่ายครึ่งหนึ่งของราคาเปิดตัว 3.6 Flash แต่ได้คะแนน DeepSWE สูงขึ้น 16 จุด และคะแนน AutomationBench เกือบสองเท่า
แนวทางเริ่มต้นที่ใช้งานได้จริง:
- ส่ง agent loop, งานเขียนโค้ด และงานดึงข้อมูลจากเอกสารไปทดสอบบน
gemini-3.7-flash - ตั้ง model ID ผ่าน environment variable เพื่อรองรับ rollback
- จำกัด
maxOutputTokensตามงานจริง - เก็บ
usageMetadataเพื่อติดตามต้นทุน - สร้าง regression test สำหรับ prompt สำคัญก่อนสลับ production traffic
เริ่มจาก cURL request ด้านบนเพื่อตรวจ response format จากนั้นย้าย request ไปทดสอบใน API client ก่อนเขียน application code ดาวน์โหลด Apidog เพื่อนำเข้า Gemini spec, ผูก API key เพียงครั้งเดียว และทดสอบ synchronous request, streaming และ tool calling จาก workspace เดียว เมื่อ prompt และ response contract ถูกต้องแล้ว การพอร์ตไป Python หรือ Node.js จะทำได้เร็วขึ้น เพราะคุณเห็น network payload ที่แอปต้องส่งและรับอย่างชัดเจน

Top comments (0)