วิธีใช้ Gemini Notebook API (NotebookLM API) เปลี่ยนเว็บ PDF และวิดีโอ YouTube เป็นพอดแคสต์ภาษาไทย
อ่าน 6 นาที • 4 ตุลาคม 2026 (18 ตุลาคม 2026)
useapi.net เป็น API ของบุคคลที่สาม (third-party) ไม่มีส่วนเกี่ยวข้องกับ Google และไม่ได้รับการรับรองจาก Google
สารบัญ
- บทนำ
- Gemini Notebook API สร้างอะไรได้บ้าง: พอดแคสต์ Video Overview สไลด์ อินโฟกราฟิก
- ราคา Gemini Notebook API (NotebookLM API)
- เตรียมตัว
- สร้างพอดแคสต์ภาษาไทยจาก Gemini Notebook ด้วยการเรียก API ครั้งเดียว
- ตรวจสถานะงานและดาวน์โหลด
- ขั้นตอนเต็ม: โน้ตบุ๊ก แหล่งข้อมูล และการสร้าง
- ตัวอย่าง Python
- การขยายขนาด: หลายบัญชีและการจำกัดอัตรา
- ทำ Gemini Notebook (NotebookLM) อัตโนมัติ: n8n, Colab และผู้ช่วยเขียนโค้ด AI
- ตัวอย่างผลลัพธ์
- คำถามที่พบบ่อย
- สรุป
บทนำ
ด้วย Gemini Notebook API (NotebookLM API) ของ useapi.net คุณส่งหน้าเว็บหรือวิดีโอ YouTube ให้บัญชี Google ของคุณเองได้ด้วยการเรียก REST ครั้งเดียว แล้วรับพอดแคสต์ Audio Overview ของ Gemini Notebook เป็นไฟล์ .m4a และกำหนดให้พอดแคสต์เป็นภาษาไทยได้ ไม่ต้องมีโปรเจกต์ Google Cloud ไม่ต้องมี Gemini API Key และใช้บัญชี Google ฟรีได้
Google เปลี่ยนชื่อ NotebookLM เป็น Gemini Notebook แล้ว ฟังก์ชันยังเหมือนเดิม บัญชี Google ทั่วไปไม่มี API ทางการ ทุกอย่างที่ทำได้บนเว็บ API นี้ทำได้ด้วยโค้ด ทั้งสร้างโน้ตบุ๊ก เพิ่มแหล่งข้อมูล แชตพร้อมแหล่งอ้างอิง Deep Research และงานสร้างทั้งหมดใน Studio
บทความนี้เขียนโดยผู้ดูแล useapi.net และพูดถึง API ที่เราให้บริการเอง โค้ดตัวอย่างเป็นโอเพนซอร์สบน GitHub
Gemini Notebook API สร้างอะไรได้บ้าง: พอดแคสต์ Video Overview สไลด์ อินโฟกราฟิก
POST /artifacts ใช้พารามิเตอร์ type เลือกสิ่งที่จะสร้าง:
| สิ่งที่สร้าง | type | ผลลัพธ์ |
|---|---|---|
| Audio Overview (พอดแคสต์สองคน) | audio เลือก format ได้ คือ deep_dive (ค่าเริ่มต้น), brief, critique, debate | เสียง m4a |
| Video Overview | video เลือก format ได้ คือ explainer (ค่าเริ่มต้น), brief, cinematic, short | วิดีโอ mp4 |
| สไลด์ | slides | pdf และ pptx |
| อินโฟกราฟิก | infographic | ภาพ png |
| รายงาน รายงานแบบโต้ตอบ ตารางข้อมูล | report, interactive_report, table | ข้อความ Markdown หรือแถวตาราง |
| แบบทดสอบ แฟลชการ์ด แผนผังความคิด | quiz, flashcards, mindmap | JSON |
เสียง วิดีโอ (ยกเว้น cinematic) รายงาน รายงานแบบโต้ตอบ ตารางข้อมูล สไลด์ และอินโฟกราฟิก กำหนดภาษาผลลัพธ์ได้ด้วย language ภาษาไทยคือ th
ราคา Gemini Notebook API (NotebookLM API)
จ่ายให้ useapi.net ราคาคงที่ $15 ต่อเดือน การสมัครครั้งเดียวครอบคลุม API ทุกตัวของ useapi.net ไม่ใช่แค่ Gemini Notebook การสมัครหนึ่งครั้งเชื่อมบัญชี Google ได้ 3 บัญชี และเพิ่มได้สูงสุด 100 บัญชี งานสร้างทำบนบัญชี Google ของคุณเอง เราไม่คิดเงินตามครั้งหรือตามพอดแคสต์ การใช้งานฝั่ง Google รวมอยู่ในแพ็กเกจที่บัญชีมีอยู่แล้ว แพ็กเกจฟรีก็ใช้ได้
| Gemini Notebook API ของ useapi.net | Gemini Notebook Enterprise API ของ Google | |
|---|---|---|
| บัญชี | บัญชี Google ของคุณเอง แพ็กเกจฟรีหรือเสียเงินก็ได้ | ไลเซนส์ Enterprise ในโปรเจกต์ Google Cloud |
| ราคา | คงที่ $15 ต่อเดือน | ซื้อไลเซนส์ Enterprise ต่อผู้ใช้ |
| แชตพร้อมแหล่งอ้างอิง | ||
| Deep Research | ||
| Audio Overview | ||
| Video Overview สไลด์ อินโฟกราฟิก รายงาน แบบทดสอบ แฟลชการ์ด แผนผังความคิด | ||
| สถานะ | ทดลอง | Preview (Pre-GA) |
Google กำหนดโควตาการใช้งานต่อบัญชี รีเฟรชทุก 5 ชั่วโมง และมีโควตารายสัปดาห์อีกชั้น ตามตัวเลขประมาณของ Google เอง รอบ 5 ชั่วโมงเต็มเริ่ม Audio Overview ได้อย่างน้อย 2 รายการ (แพ็กเกจฟรี), 9 รายการ (Google AI Pro) หรือ 181 รายการ (Google AI Ultra) และเมื่อทำเสร็จจริงมักใช้โควตาน้อยกว่าที่ประมาณไว้ ถ้าต้องการผลงานมากขึ้น ก็เชื่อมบัญชีเพิ่ม ดูที่การขยายขนาด
เริ่มใช้งาน API
การสมัครสมาชิกเดือนละ $15 ใช้ได้กับทุก API บน useapi.net ใช้ Token เดียวกับทุกบริการ เชื่อมบัญชีของคุณเองได้สูงสุด 3 บัญชีต่อบริการ แต่ละบัญชีใช้แพ็กเกจของเว็บไซต์นั้นเอง ส่วน useapi.net ดูแล REST API การกระจายโหลด และการ polling ให้ ต้องการบัญชีมากกว่านี้? สมัครเพิ่มแต่ละครั้งเดือนละ $10 และได้เพิ่มอีก 3 บัญชีต่อบริการ
ไม่มีบัตรเครดิตที่ใช้จ่ายต่างประเทศได้? สมัครด้วยคริปโตก็ได้ (การชำระด้วยคริปโตขอคืนเงินไม่ได้) ดูราคาและแพ็กเกจสำหรับปริมาณมากได้ที่หน้าการสมัครสมาชิก ถ้าชำระผ่าน Stripe ขอคืนเงินเต็มจำนวนได้ภายใน 14 วันหลังซื้อครั้งแรก หากสร้างงานสำเร็จไม่ถึง 50 ครั้ง สมัครไว้แล้ว? เปลี่ยนจำนวนได้ที่ Stripe Customer Portal โดยไม่ต้องซื้อใหม่
เตรียมตัว
- สมัคร useapi.net และรับ API Token ตัวอย่างด้านล่างทั้งหมดถือว่าเก็บไว้ในตัวแปรสภาพแวดล้อม
USEAPI_TOKEN - เชื่อมบัญชี Google ด้วยขั้นตอนเบราว์เซอร์อัตโนมัติ: ใส่ Token แล้วล็อกอิน Google ในเบราว์เซอร์ระยะไกล ไม่ต้องคัดลอกคุกกี้เอง แนะนำให้ใช้บัญชี Gmail แยกสำหรับงานนี้ ไม่ใช่บัญชีหลักส่วนตัว
คำขอแบบครั้งเดียวและการสร้างโน้ตบุ๊กใหม่ด้านล่างไม่ต้องใส่ email ก็ได้ ถ้าเชื่อมไว้บัญชีเดียว API จะใช้บัญชีนั้น ถ้าเชื่อมหลายบัญชี API จะเลือกบัญชีที่ว่างให้ การเรียกที่อิงโน้ตบุ๊กจะทำงานบนบัญชีเจ้าของโน้ตบุ๊กนั้นเสมอ
สร้างพอดแคสต์ภาษาไทยจาก Gemini Notebook ด้วยการเรียก API ครั้งเดียว
ไม่ต้องสร้างโน้ตบุ๊กก่อน ส่ง urls (หรือข้อความที่วางไว้ใน text) ไปที่ POST /artifacts ได้เลย API จะสร้างโน้ตบุ๊กใหม่บนบัญชีหนึ่งของคุณ เพิ่มแหล่งข้อมูล รอให้ประมวลผลเสร็จ แล้วเริ่มสร้าง ลิงก์ youtube.com และ youtu.be จะถูกเพิ่มเป็นแหล่งข้อมูล YouTube ส่งได้สูงสุด 50 ลิงก์ต่อครั้ง
JOBID=$(curl -s -X POST "https://api.useapi.net/v1/gemini-notebook/artifacts" \
-H "Authorization: Bearer $USEAPI_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"type": "audio",
"format": "brief",
"length": "short",
"language": "th",
"urls": ["https://th.wikipedia.org/wiki/อะพอลโล_11"],
"title": "พอดแคสต์อะพอลโล 11",
"mode": "async"
}' | jq -r '.jobid')
mode: "async" จะตอบกลับ 201 พร้อม jobid ทันที ส่วนค่าเริ่มต้น mode: "sync" รอได้นานสุด 90 วินาที แต่พอดแคสต์มักใช้เวลาหลายนาที จึงจะได้ 202 กลับมาก่อน แล้วก็ต้องตรวจสถานะเหมือนกัน
ตรวจสถานะงานและดาวน์โหลด
เรียก GET /jobs/jobid จนกว่า status จะเป็น completed หรือ failed ใน jobid มี : และ @ จึงต้องเข้ารหัสก่อนใส่ใน URL เมื่องานเสร็จ result.files[].url จะชี้ไปที่ GET /artifacts/download ซึ่งต้องแนบ API Token ตอนดาวน์โหลดด้วย ฟังก์ชันนี้จะใช้ซ้ำในส่วนถัดไป:
API=https://api.useapi.net/v1/gemini-notebook
enc() { jq -rn --arg v "$1" '$v|@uri'; }
wait_job() {
[ -z "$1" ] || [ "$1" = "null" ] && { echo "ส่งงานไม่สำเร็จ ดู error ในคำตอบ"; return 1; }
until curl -s "$API/jobs/$(enc "$1")" -H "Authorization: Bearer $USEAPI_TOKEN" > job.json &&
jq -e '.status == "completed" or .status == "failed"' job.json > /dev/null; do
sleep 15
done
jq '{status, title: .result.title, duration: .result.duration, error}' job.json
jq -r '.result.files[]?.url' job.json | while read -r url; do
curl -s -OJ -H "Authorization: Bearer $USEAPI_TOKEN" "$url"
done
}
wait_job "$JOBID"
เรารันคำขอแบบเดียวกันนี้เมื่อ 4 ตุลาคม 2026 โดยใช้ภาษาจีน (zh_Hans) และหน้าวิกิพีเดียภาษาจีน งานเสร็จในราว 6 นาที Google สร้างพอดแคสต์ยาว 99 วินาที และ -OJ บันทึกไฟล์ .m4a ตามชื่อเรื่องที่ Google ตั้งให้
- งานที่ล้มเหลวจะมี
error.codeเช่นquota(โควตาไม่พอ),sources(ใช้แหล่งข้อมูลไม่ได้เลย) หรือgeneration_failed - ถ้าไม่อยากตรวจสถานะเอง ให้ส่ง
replyUrlในคำขอ เมื่องานจบจะได้รับPOSTหนึ่งครั้ง ซึ่งมีข้อมูลงานครบทั้งหมด - ไฟล์ที่สร้างยังอยู่ในโน้ตบุ๊ก ลิงก์ดาวน์โหลดใช้ได้ตราบที่โน้ตบุ๊กและผลงานยังอยู่
ขั้นตอนเต็ม: โน้ตบุ๊ก แหล่งข้อมูล และการสร้าง
ถ้าต้องการสร้างหลายอย่างจากแหล่งข้อมูลชุดเดียวกัน หรือต้องอัปโหลดไฟล์ในเครื่อง ให้สร้างโน้ตบุ๊กก่อน แหล่งข้อมูลเป็นหน้าเว็บ วิดีโอ YouTube ข้อความที่วางไว้ ไฟล์ Google Drive หรือไฟล์ที่อัปโหลด เช่น PDF, Word, PowerPoint, EPUB เสียง และวิดีโอ ก็ได้
# 1. สร้างโน้ตบุ๊กใหม่
NOTEBOOK=$(curl -s -X POST "$API/notebooks" \
-H "Authorization: Bearer $USEAPI_TOKEN" \
-H "Content-Type: application/json" \
-d '{"title": "อะพอลโล 11"}' | jq -r '.notebook')
# 2. เพิ่มหน้าเว็บและวิดีโอ YouTube
curl -s -X POST "$API/sources" \
-H "Authorization: Bearer $USEAPI_TOKEN" \
-H "Content-Type: application/json" \
-d "$(jq -n --arg nb "$NOTEBOOK" '{
notebook: $nb,
urls: ["https://th.wikipedia.org/wiki/อะพอลโล_11", "https://www.youtube.com/watch?v=xUcYQ7slmRw"]
}')"
# 3. อัปโหลด PDF โดยตัวไฟล์คือ body ของคำขอ
curl -s -X POST "$API/sources/upload?notebook=$(enc "$NOTEBOOK")&name=report.pdf" \
-H "Authorization: Bearer $USEAPI_TOKEN" \
-H "Content-Type: application/pdf" \
--data-binary @report.pdf
# 4. รอให้แหล่งข้อมูลทั้งหมดประมวลผลเสร็จ
until curl -s "$API/notebooks/$(enc "$NOTEBOOK")" -H "Authorization: Bearer $USEAPI_TOKEN" > notebook.json &&
jq -e '[.sources[].status] | all(. == "ready" or . == "error")' notebook.json > /dev/null; do
sleep 10
done
# 5. สร้างอินโฟกราฟิกภาษาไทย
JOBID=$(curl -s -X POST "$API/artifacts" \
-H "Authorization: Bearer $USEAPI_TOKEN" \
-H "Content-Type: application/json" \
-d "$(jq -n --arg nb "$NOTEBOOK" '{notebook: $nb, type: "infographic", orientation: "portrait", language: "th", mode: "async"}')" \
| jq -r '.jobid')
wait_job "$JOBID"
ตอนทดสอบจริง (ผลลัพธ์ภาษาจีน) แหล่งข้อมูลทั้งสามพร้อมในราว 30 วินาที อินโฟกราฟิกแนวตั้งใช้เวลาสร้างราว 2 นาที ได้ไฟล์ png ขนาด 1536 × 2752 เปลี่ยน type ในขั้นที่ 5 เป็น audio, video หรือ slides ก็สร้างพอดแคสต์ Video Overview หรือสไลด์ต่อจากโน้ตบุ๊กเดิมได้ ตัวอย่างเต็ม 19 ขั้น (รวมแชต Deep Research และการแก้สไลด์ทีละหน้า) อยู่ในบทความภาษาอังกฤษ
ตัวอย่าง Python
แทบเหมือนคำขอแบบครั้งเดียวด้านบน (ไม่ได้กำหนด length จึงใช้ความยาวเริ่มต้น) เขียนด้วย Python และ requests:
import os, time, requests
from urllib.parse import quote
API = 'https://api.useapi.net/v1/gemini-notebook'
H = {'Authorization': f"Bearer {os.environ['USEAPI_TOKEN']}"}
r = requests.post(f'{API}/artifacts', headers=H, json={
'type': 'audio',
'format': 'brief',
'language': 'th',
'urls': ['https://th.wikipedia.org/wiki/อะพอลโล_11'],
'mode': 'async',
})
r.raise_for_status()
job = r.json()
while job['status'] in ('pending', 'processing'):
time.sleep(15)
r = requests.get(f"{API}/jobs/{quote(job['jobid'], safe='')}", headers=H)
r.raise_for_status()
job = r.json()
if job['status'] == 'failed':
raise SystemExit(job['error'])
print(job['result']['title'], job['result']['duration'], 'วินาที')
for f in job['result']['files']:
with open(f"podcast.{f['format']}", 'wb') as out:
out.write(requests.get(f['url'], headers=H).content)
ตอนเรารันสคริปต์นี้ด้วยภาษาจีน ใช้เวลาราว 6 นาทีครึ่ง ได้พอดแคสต์ podcast.m4a ยาว 70 วินาที สคริปต์ Node.js และ Python สำหรับประมวลผลรายการลิงก์ทีละชุดอยู่ในโฟลเดอร์ podcast/ ของรีโพตัวอย่างบน GitHub
การขยายขนาด: หลายบัญชีและการจำกัดอัตรา
API นี้ทำงานได้เองโดยไม่ต้องมีคนเฝ้า:
- เมื่อเชื่อมหลายบัญชี Google งานใหม่แต่ละงานจะถูกส่งไปยังบัญชีที่สถานะปกติ มีช่องงานว่าง และยังมีโควตาสำหรับงานประเภทนั้นเหลือ คุณไม่ต้องคอยดูโควตา 5 ชั่วโมงและรายสัปดาห์เอง
- แต่ละบัญชีรันงานพร้อมกันได้สูงสุด
maxJobsงาน (ค่าเริ่มต้น 3 ตั้งได้ 1–10 แก้ด้วย POST /accounts) GET /jobs แสดงงานที่กำลังรันในแต่ละบัญชี - เมื่อทุกบัญชีไม่ว่างหรือโควตาไม่พอ การเรียกจะได้
429ถ้า Google บอกเวลารีเซ็ต คำตอบจะมีretryAtโค้ดของคุณรอจนถึงเวลานั้นแล้วลองใหม่ได้ หรือใช้emailส่งชุดถัดไปไปยังบัญชีอื่น หรือลดความถี่ลง - GET /accounts/
emailแสดงการใช้งานปัจจุบันของบัญชี เวลารีเซ็ตของทั้งสองรอบ และตัวเลขประมาณของงานแต่ละประเภท
ทำ Gemini Notebook (NotebookLM) อัตโนมัติ: n8n, Colab และผู้ช่วยเขียนโค้ด AI
- เทมเพลต n8n: เปลี่ยนหน้าเว็บ วิดีโอ YouTube หรือฟีด RSS ของบล็อกเป็นพอดแคสต์ Gemini Notebook นำเข้าแล้วใช้ได้ทันที
- โน้ตบุ๊ก Google Colab: ใส่ Token และลิงก์ในเบราว์เซอร์ แล้วฟังและดาวน์โหลดพอดแคสต์ได้เลย
- ผู้ช่วยเขียนโค้ด AI อย่าง Claude Code และ Codex ติดตั้งสกิล
notebooklm-podcastจากรีโพได้ แล้วสร้างพอดแคสต์ด้วยประโยคเดียว:npx skills add useapi/notebooklm-api --skill notebooklm-podcast
ทั้งหมดนี้อยู่ในรีโพ useapi/notebooklm-api
ตัวอย่างผลลัพธ์
ด้านล่างคือผลลัพธ์จริงจาก Gemini Notebook API ตัวเดียวกันนี้ แหล่งข้อมูลคือหน้าวิกิพีเดียภาษาอังกฤษเรื่อง Apollo 11 วิดีโอ YouTube ของ NASA ข้อความที่วางไว้ และ PDF หนึ่งไฟล์ นำมาจากบทความภาษาอังกฤษ เนื้อหาจึงเป็นภาษาอังกฤษ
Audio Overview รูปแบบ brief ความยาว short ยาว 1 นาที 31 วินาที ใช้เวลาสร้าง 4 นาที 36 วินาที:
Video Overview รูปแบบ explainer สไตล์ whiteboard ยาวเต็ม 11 นาที 50 วินาที ตรงนี้คือ 90 วินาทีแรก:
อินโฟกราฟิกแนวตั้ง สไตล์ sketch_note ขนาด 1536 × 2752 ใช้เวลาสร้าง 1 นาที 45 วินาที:
คำถามที่พบบ่อย
- NotebookLM (Gemini Notebook) มี API ทางการไหม? ผ่าน useapi.net บัญชีทั่วไปใช้ได้ Gemini Notebook API ของ useapi.net เป็น REST API ของบุคคลที่สาม ทำงานบนบัญชี Google ของคุณเอง ทั้งแพ็กเกจส่วนตัวฟรีและเสียเงิน และครอบคลุมทุกฟังก์ชันบนเว็บ ในราคาคงที่ $15 ต่อเดือน (ข้อมูล ณ ตุลาคม 2026) Google มี API ให้เฉพาะ Gemini Notebook Enterprise ต้องซื้อไลเซนส์ Enterprise ในโปรเจกต์ Google Cloud และทำได้แค่จัดการโน้ตบุ๊ก เพิ่มแหล่งข้อมูล และสร้าง Audio Overview บัญชี Google ทั่วไปใช้ไม่ได้ ดูการเปรียบเทียบที่ราคา
- ต้องมี Gemini API Key หรือ NotebookLM API Key ไหม? ผ่าน useapi.net ไม่ต้อง คุณเรียก API ด้วย API Token ของ useapi.net แล้วเชื่อมบัญชี Google ครั้งเดียวผ่านขั้นตอนอัตโนมัติ ใช้เวลาไม่กี่นาที ไม่ต้องมีโปรเจกต์ Google Cloud และ Google ไม่ออก Gemini Notebook API Key ให้บัญชีทั่วไป
- สร้างพอดแคสต์ภาษาไทยได้ไหม? ผ่าน useapi.net ได้ ส่ง
language: "th"ใน POST /artifacts ตามตัวอย่างด้านบนlanguageใช้ได้กับเสียง วิดีโอ (ยกเว้นcinematic) รายงาน รายงานแบบโต้ตอบ ตารางข้อมูล อินโฟกราฟิก และสไลด์ ค่าเริ่มต้นคือenหรือตั้งภาษาผลลัพธ์ของ Studio ทั้งบัญชีด้วยoutputLanguageใน POST /accounts - มี Gemini Notebook (NotebookLM) API ฟรีไหม? ผ่าน useapi.net Gemini Notebook API ใช้กับบัญชี Google ฟรีได้ ฝั่ง Google ไม่คิดเงิน และ Google ไม่มี API สำหรับบัญชีทั่วไป การสมัคร useapi.net ราคา $15 ต่อเดือน (ข้อมูล ณ ตุลาคม 2026) ถ้าจ่ายผ่าน Stripe และสร้างสำเร็จไม่ถึง 50 ครั้งภายใน 14 วันแรกของการซื้อครั้งแรก ขอคืนเงินเต็มจำนวนได้ ดูนโยบายการคืนเงิน
- บัญชี Google ฟรีใช้ได้ไหม? ผ่าน useapi.net ได้ แพ็กเกจฟรีเริ่ม Audio Overview ได้ราว 2 รายการต่อรอบ 5 ชั่วโมง (ข้อมูล ณ ตุลาคม 2026) แพ็กเกจ Google AI แบบเสียเงินเพิ่มลิมิตให้สูงขึ้น และวิดีโอ Cinematic ต้องใช้แพ็กเกจเสียเงิน
- สร้างพอดแคสต์หนึ่งรายการใช้เวลานานแค่ไหน? ผ่าน useapi.net Audio Overview มักใช้ 3–6 นาที Video Overview 10 นาทีขึ้นไป อินโฟกราฟิกและรายงานหนึ่งถึงสองนาที แบบทดสอบราวหนึ่งนาทีครึ่ง แฟลชการ์ดและตารางข้อมูลไม่ถึงหนึ่งนาที
- NotebookLM กับ Gemini Notebook เป็นผลิตภัณฑ์เดียวกันไหม? ใช่ Gemini Notebook คือชื่อใหม่ของ NotebookLM ตั้งแต่กรกฎาคม 2026 API ในบทความนี้ก็คือ NotebookLM API
คำถามเพิ่มเติมดูที่คำถามที่พบบ่อยของ Gemini Notebook API (ภาษาอังกฤษ)
สรุป
มีคำถามเข้ามาคุยกับเราได้ที่ เซิร์ฟเวอร์ Discord หรือ
ช่อง Telegram
ดู endpoint ทั้งหมดได้ที่เอกสาร Gemini Notebook API และโค้ดตัวอย่างที่รีโพ GitHub
