DEV Community

Cover image for Gemini API CLI: ให้ Coding Agent ของคุณเรียกใช้ Gemini สำหรับรูปภาพ วิดีโอ PDF และ Deep Research
Thanawat Wongchai
Thanawat Wongchai

Posted on Originally published at apidog.com

Gemini API CLI: ให้ Coding Agent ของคุณเรียกใช้ Gemini สำหรับรูปภาพ วิดีโอ PDF และ Deep Research

Gemini API CLI (gemini-api) คือไคลเอนต์บรรทัดคำสั่งโอเพนซอร์สของ Google สำหรับ Gemini API สร้างขึ้นเพื่อเอเจนต์เขียนโค้ดอย่าง Claude Code, Codex, Cursor และ Antigravity ติดตั้งไบนารี Go เพียงตัวเดียว ตั้งค่า GEMINI_API_KEY แล้วเอเจนต์ของคุณก็สร้างรูปภาพ วิดีโอ เสียงพูด และเพลง วิเคราะห์ไฟล์ PDF และไฟล์บันทึกเสียง ถอดเสียงเป็น SRT และเริ่ม Deep Research แบบเบื้องหลังได้

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

ด้านล่างนี้: การติดตั้ง การยืนยันตัวตน คำสั่งที่เอเจนต์ของคุณจะรัน ความแตกต่างจาก Gemini CLI และวิธีจับคู่กับ Apidog CLI ทุกแฟล็กคัดลอกจาก gemini-api --help ในเวอร์ชัน 0.4.5 ซึ่งเผยแพร่เมื่อวันที่ 30 ตุลาคม 2026

Gemini API CLI คืออะไร?

Gemini API CLI เป็นไคลเอนต์แบบไม่เก็บสถานะ (stateless) ในรูปแบบไบนารีเดียวสำหรับ Interactions API ของ Google แต่ละคำสั่งคือการเรียก HTTP หนึ่งครั้ง: ส่งพรอมป์ต์เข้าไป แล้วได้เส้นทางไฟล์ ข้อความถอดเสียง ผลวิเคราะห์ หรือ ID ของ interaction ออกมา — เป็นเครื่องมือที่เอเจนต์ที่มีอยู่แล้วของคุณเรียกใช้เมื่อเจองานที่ต้องใช้ Gemini

หน้าเอกสารอย่างเป็นทางการของ Google เรียกมันว่า "รีลีสเบต้าโอเพนซอร์สที่พัฒนาควบคู่ไปกับ Interactions API" โค้ดอยู่ที่ google-gemini/gemini-api-cli ภายใต้สัญญาอนุญาต Apache 2.0 และทำงานบน macOS, Linux และ Windows

นี่คือสิ่งที่ gemini-api --help แสดงในเวอร์ชัน 0.4.5 พร้อมโมเดลเริ่มต้นของแต่ละคำสั่ง:

เวอร์ชันของ gemini-api และเอาต์พุตของ gemini-api --help ในเวอร์ชัน 0.4.5 แสดงกลุ่มคำสั่ง Create, Understand และ Manage พร้อมโมเดลเริ่มต้นของแต่ละคำสั่ง

กลุ่ม คำสั่ง หน้าที่ โมเดลเริ่มต้น
Create generate สร้างข้อความและมัลติโหมด gemini-3.8-flash
Create image สร้างหรือแก้ไขรูปภาพ gemini-nano-banana-2.1
Create video สร้างและแก้ไขวิดีโอ gemini-omni-1.1-flash
Create tts / music เสียงพูดและเพลง gemini-3.8-flash-tts / lyria-3.5
Understand analyze ถามคำถามเกี่ยวกับ PDF รูปภาพ เสียง วิดีโอ และ URL ของ YouTube gemini-3.8-flash
Understand transcribe แปลงเสียงหรือวิดีโอเป็น md, text, json หรือ srt gemini-3.5-transcribe
Manage agent รันโมเดลหรือ managed agent เช่น Deep Research กำหนดต่อการรันแต่ละครั้ง
Manage files อัปโหลดผ่าน Files API เก็บไว้ 48 ชั่วโมง ไม่มี

Gemini API CLI กับ Gemini CLI

ชื่อใกล้กันมาก นี่คือความแตกต่าง Gemini CLI (@google/gemini-cli) เป็นเอเจนต์เขียนโค้ดแบบอินเทอร์แอกทีฟ ซึ่งเป็นทางเลือกแทน Claude Code ที่คุณสนทนาด้วย ส่วน Gemini API CLI (gemini-api) ไม่มีลูปเอเจนต์เลย มันเป็นเครื่องมือที่เอเจนต์ตัวอื่นเป็นคนรัน

Gemini API CLI Gemini CLI
ไบนารี gemini-api gemini
บทบาท เครื่องมือที่เอเจนต์ของคุณเรียกใช้ เอเจนต์ที่คุณพูดคุยด้วย
เอาต์พุตสื่อ รูปภาพ วิดีโอ เสียงพูด เพลง ลงดิสก์ ไม่ใช่จุดเน้นของมัน
เหมาะที่สุดสำหรับ มอบโมเดลของ Gemini ให้ Claude Code, Codex หรือ Cursor การใช้ Gemini เป็นเอเจนต์เขียนโค้ดของคุณ

หากคุณทำงานใน Claude Code หรือ Codex และต้องการใช้โมเดลด้านสื่อและงานวิจัยของ Gemini ภายในเวิร์กโฟลว์นั้น ให้ใช้ gemini-api ในรูปแบบเดียวกับ OpenAI CLI เพียงแต่ชี้ไปที่ Google

วิธีติดตั้ง Gemini API CLI

เลือกหนึ่งในสี่วิธีจาก README

macOS และ Linux:

curl -fsSL https://raw.githubusercontent.com/google-gemini/gemini-api-cli/main/scripts/install.sh | bash
Enter fullscreen mode Exit fullscreen mode

Windows (PowerShell):

iwr -useb https://raw.githubusercontent.com/google-gemini/gemini-api-cli/main/scripts/install.ps1 | iex
Enter fullscreen mode Exit fullscreen mode

Go:

go install github.com/google-gemini/gemini-api-cli/cmd/gemini-api@latest
Enter fullscreen mode Exit fullscreen mode

ไบนารีที่คอมไพล์ไว้แล้ว: ดาวน์โหลดไฟล์เก็บถาวรสำหรับแพลตฟอร์มของคุณจาก GitHub Releases ตรวจสอบกับ checksums.txt แล้ววาง gemini-api ไว้ใน PATH ของคุณ เราใช้ไฟล์เก็บถาวร Darwin_arm64 โดย shasum -a 256 -c checksums.txt --ignore-missing แสดงผลเป็น OK

Google เตือนว่าการเปลี่ยนแปลงที่ทำให้ของเดิมพังอาจเกิดขึ้นได้ระหว่างเวอร์ชันไมเนอร์ ดังนั้นควรปักหมุดรีลีสใน CI เอกสารแสดงสคริปต์ติดตั้งโดยวาง GEMINI_VERSION=<release-tag> ไว้ข้างหน้า bash

ตรวจสอบการติดตั้ง:

gemini-api version
# gemini-api 0.4.5
Enter fullscreen mode Exit fullscreen mode

การยืนยันตัวตนของ Gemini API CLI

สร้างคีย์ใน Google AI Studio (คู่มือวิธีขอ Gemini API key ฟรีของเราอธิบายขั้นตอนไว้ทั้งหมด) จากนั้น export คีย์:

export GEMINI_API_KEY="YOUR_API_KEY"
Enter fullscreen mode Exit fullscreen mode

บนเครื่องของคุณเอง เก็บคีย์ไว้แทนได้:

gemini-api configure --api-key "YOUR_API_KEY"
gemini-api whoami
Enter fullscreen mode Exit fullscreen mode

configure จะบันทึกคีย์ลงใน keychain ของระบบปฏิบัติการของคุณ (macOS Keychain, Linux Secret Service หรือ Windows Credential Manager) เพิ่มแฟล็กโกลบอล --no-keyring หากต้องการเก็บไว้ใน ~/.config/gemini-api/config.yaml แทน ส่วน whoami จะแสดงว่าขณะนี้ใช้ข้อมูลรับรองตัวใดและมาจากไหน

เมื่อยังไม่ได้ตั้งค่าคีย์ gemini-api --help จะแสดงข้อความที่ส่งถึงตัวเอเจนต์เองว่า API key "ต้องถูกสร้างด้วยมือโดยผู้ใช้ใน Google AI Studio ให้หยุดและขอให้ผู้ใช้สร้างขึ้นมา" เอเจนต์ของคุณจะถามคุณแทนที่จะตั้งค่าคีย์ด้วยตัวเอง

ดูตัวอย่างทุกการเรียกด้วย --dry-run

--dry-run จะตรวจสอบแฟล็กและแสดงคำขอโดยปิดบังข้อมูลรับรอง โดยไม่มีการเรียกผ่านเครือข่ายและไม่มีการอ่าน keychain ใช้งานได้ก่อนที่คุณจะตั้งค่าคีย์ ซึ่งเป็นวิธีที่เราใช้ตรวจสอบทุกตัวอย่างในบทความนี้

นี่คือตัวอย่าง dry run จริงของงาน Deep Research ที่รันเบื้องหลัง:

คำสั่ง gemini-api agent run พร้อม --agent deep-research-preview-04-2026 --background --dry-run แสดงคำขอ POST ไปยัง endpoint v1beta interactions และเนื้อหา JSON โดยไม่ส่งออกไปจริง

ทุกคำสั่งจะ POST ไปที่ https://generativelanguage.googleapis.com/v1beta/interactions เพิ่ม -o json เพื่อให้ได้ JSON หนึ่งออบเจ็กต์ต่อหนึ่งคำขอทาง stdout ซึ่งเอเจนต์สามารถแยกวิเคราะห์ได้ก่อนที่จะใช้โทเคน

คำสั่ง Gemini API CLI ที่เอเจนต์ของคุณจะรัน

สร้างและแก้ไขรูปภาพ

gemini-api image "A friendly robot mascot, soft studio lighting" --out ./assets/mascot.jpg
gemini-api image "Add a winter scarf" -i ./assets/mascot.jpg --out ./assets/mascot-winter.jpg
Enter fullscreen mode Exit fullscreen mode

คำสั่งเกี่ยวกับสื่อจะเขียนไฟล์และแสดงเพียงเส้นทางของไฟล์ ดังนั้นเอเจนต์จะจับค่านั้นด้วย $(...) แล้วทำงานต่อไปได้ image ยังรองรับ --aspect-ratio และ --image-size (512, 1K, 2K หรือ 4K) โมเดลเริ่มต้นคือ Nano Banana 2.1 ดูคู่มือ Nano Banana 2.1 APIของเราเพื่อรู้ว่ามันทำอะไรได้ดี

สร้างวิดีโอ เสียงพูด และเพลง

gemini-api video "A slow camera move through a sunlit workshop" --resolution 1080p --out ./assets/
gemini-api tts "Welcome. Let's build something together." --out ./assets/welcome.wav
gemini-api music "Warm ambient music for a product walkthrough" --out ./assets/
Enter fullscreen mode Exit fullscreen mode

วิดีโอใช้เวลานานกว่า ดังนั้น video จะ polling ให้คุณ ใช้ --async เพื่อรับ operation handle ทันที และ --resume <id> เพื่อกลับมา polling ต่อในภายหลัง --resolution มีค่าเริ่มต้นเป็น 720p

วิเคราะห์ PDF รูปภาพ และ URL ของ YouTube

gemini-api analyze -i product-brief.pdf "What should we build first, and why?" > plan.md
gemini-api analyze -i before.png -i after.png "Summarize the visual design changes"
Enter fullscreen mode Exit fullscreen mode

-i/--input ใช้ซ้ำได้และรองรับเส้นทางไฟล์ในเครื่อง, URI แบบ files/<id> หรือ URL ของ YouTube อินพุตแบบอินไลน์จำกัดที่ประมาณ 14 MB (ขนาดดิบ) สำหรับไฟล์ที่ใหญ่กว่า ให้อัปโหลดครั้งเดียวแล้วนำ URI กลับมาใช้ซ้ำ:

FILE_URI=$(gemini-api files upload interview.mp4 --wait --output-format json --jq '.name')
gemini-api analyze -i "$FILE_URI" "List the key action items with timestamps"
Enter fullscreen mode Exit fullscreen mode

ไฟล์ที่อัปโหลดจะถูกลบหลัง 48 ชั่วโมง

ถอดเสียงจากไฟล์เสียงและวิดีโอ

gemini-api transcribe -i interview.mp4 --format srt --out interview.srt
Enter fullscreen mode Exit fullscreen mode

--format รับค่า md (ค่าเริ่มต้น), text, json หรือ srt เพิ่ม --no-speakers หรือ --no-timestamps เพื่อตัดผู้พูดหรือเวลาออกจากเอาต์พุต

รัน Deep Research ในเบื้องหลัง

ID=$(gemini-api agent run "Research battery recycling approaches and cite sources" \
  --agent deep-research-preview-04-2026 --background --jq '.id')
gemini-api agent status "$ID" --stream=false --output-format json
Enter fullscreen mode Exit fullscreen mode

--background จะคืนค่า interaction ID ทันทีแทนที่จะเปิดสตรีมค้างไว้ เอเจนต์จะเก็บ ID นั้นไว้ ไปทำงานอย่างอื่น แล้วกลับมาตรวจสอบด้วย agent status ส่วน agent cancel ใช้หยุดการรัน ผลลัพธ์ help ของ 0.4.5 ยังระบุ deep-research-max-preview-04-2026 และ antigravity-preview-05-2026 เป็น managed agent ด้วย

แฟล็กที่ทำให้ gemini-api ปลอดภัยสำหรับเอเจนต์

นี่คือแฟล็กโกลบอลที่ควรใส่ไว้ในคำสั่งของเอเจนต์คุณ ทั้งหมดมาจาก gemini-api --help-global:

  • --agent-mode (หรือ GEMINI_CLI_AGENT_MODE=1): ข้อผิดพลาดแบบ JSON ที่มีโครงสร้างทาง stderr และเอาต์พุต TOON แบบกะทัดรัดทาง stdout
  • -o, --output-format: pretty, json, yaml, table หรือ toon
  • -q, --jq: กรองเอาต์พุตแบบอินไลน์ เช่น --jq '.id'
  • --no-interactive: ไม่มีพรอมป์ต์หรือฟอร์ม TUI ซึ่งเป็นสิ่งที่เอเจนต์แบบไม่มีหน้าจอ (headless) ต้องการ
  • --usage: โครงสร้างคำสั่งทั้งหมดในรูปแบบ KDL ที่เครื่องอ่านได้
  • --schema (ต่อคำสั่ง): JSON Schema สำหรับเพย์โหลด --body

รหัสออก (exit code) บอกเอเจนต์ว่าเกิดอะไรขึ้นโดยไม่ต้องแยกวิเคราะห์ข้อความ: 0 สำเร็จ, 1 ข้อผิดพลาดขณะรันหรือจาก API, 2 ข้อผิดพลาดในการใช้งานหรือการตรวจสอบความถูกต้อง, 3 การยืนยันตัวตน ข้อควรระวังอย่างหนึ่ง: คำสั่งแบบสตรีมมิ่ง (generate, agent run) ต้องใช้ --stream=false ก่อน -o json หรือ --jq จึงจะให้ผลลัพธ์เดียวที่แยกวิเคราะห์ได้

มอบ Gemini API CLI ให้เอเจนต์เขียนโค้ดของคุณ

README ของ Google มีบล็อกให้คัดลอกไปวางใน AGENTS.md, CLAUDE.md หรือ .cursorrules (ตัดมาเฉพาะบางส่วน):

You have access to gemini-api through the shell.
1. Inspect --help or --usage to choose a command, and --schema when building a --body JSON payload.
2. Preview API calls with --dry-run.
3. For JSON output or --jq on streaming commands, pass --stream=false --output-format json.
4. Capture returned file paths and interaction IDs to continue multi-step tasks.
Enter fullscreen mode Exit fullscreen mode

ตรวจสอบให้แน่ใจว่า GEMINI_API_KEY ไปถึงสภาพแวดล้อมของโปรเซสย่อยของเอเจนต์ จากนั้นสั่งงานตามปกติ: "สร้างแลนดิ้งเพจ ใช้ Gemini ทำรูปมาสคอตและเสียงบรรยาย 20 วินาที และเริ่มรัน Deep Research เกี่ยวกับผลิตภัณฑ์คู่แข่ง" เอเจนต์จะเป็นคนเลือกคำสั่งเอง

แผนภาพเอเจนต์เขียนโค้ดเรียก gemini-api เพื่อเข้าถึง Gemini API และบันทึกรูปภาพ วิดีโอ เสียง และเอกสารลงใน ./assets ขณะเดียวกันก็รัน apidog เพื่อทดสอบ API ของคุณเองจนกว่าเทสต์จะผ่าน

สิ่งที่มันทำไม่ได้: เสียงหรือวิดีโอแบบเรียลไทม์ ไม่มีการรองรับ WebSocket ดังนั้น Live API จึงยังต้องใช้ GenAI SDK

ทดสอบ API ที่คุณสร้างด้วย Apidog CLI

gemini-api มอบโมเดลของ Gemini ให้เอเจนต์ของคุณ แต่มันไม่รู้อะไรเลยเกี่ยวกับ API ของคุณเอง ไม่ว่าจะเป็น endpoint /summarize หรือ /thumbnail ที่แอปของคุณห่อไว้รอบ Gemini สภาพแวดล้อมต่างๆ ของมัน หรือ assertion ที่พิสูจน์ได้ว่ารีลีสใหม่ไม่ได้ทำให้อะไรพัง นั่นคืองานของ Apidog CLI และเอเจนต์ตัวเดียวกันก็รันทั้งสองอย่างได้

ตั้งค่าเพียงครั้งเดียว:

npm install -g apidog-cli@latest
apidog login --with-token <YOUR_TOKEN>
npx -y skills add https://apidog.com   # pick your agent when prompted
Enter fullscreen mode Exit fullscreen mode

จากนั้นสั่งเอเจนต์ด้วยพรอมป์ต์เดียว:

Use gemini-api to dry-run an analyze call on ./docs/sample-invoice.pdf, then run it for real.
Import ./openapi.yaml into Apidog project <id>, create a test case for POST /v1/invoices/extract
that uploads the same PDF and asserts a 200 and a non-empty "total" field, run it against the
staging environment, and summarize any failures.
Enter fullscreen mode Exit fullscreen mode

เอเจนต์จะตรวจสอบคำตอบของ Gemini ด้วย gemini-api จากนั้นอ่าน schema ของ Apidog ก่อนเขียนเพย์โหลด ตรวจสอบความถูกต้อง และสร้างและรันเทสต์เคส:

apidog import --project <id> --format openapi --file ./openapi.yaml
apidog cli-schema get test-case-create
apidog cli-schema validate test-case-create --file case.json
apidog test-case create --project <id> --file case.json
apidog run --test-case <caseId> --project <id> -e <envId> -r cli,json
Enter fullscreen mode Exit fullscreen mode

apidog test-case create --help เตือนถึงกับดักอย่างหนึ่ง: เทสต์เคสต้องมี categoryId ที่ถูกต้อง ดังนั้นให้ลิสต์รายการก่อนด้วย apidog test-case category --project <id> เปลี่ยน -r cli,json เป็น -r junit แล้วบรรทัดเดิมก็รันใน CI ได้ หากคุณใช้ Claude Code เป็นเอเจนต์ เริ่มจาก Apidog CLI ใน Claude Code แพลนฟรีของ Apidog รองรับผู้ใช้สูงสุด 4 คน

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

Gemini API CLI ใช้ฟรีหรือไม่? ตัว CLI เองฟรีและเป็นโอเพนซอร์สภายใต้ Apache 2.0 ทุกการเรียกจะคิดเงินกับ API key ของคุณตามราคา Gemini APIปกติ สำหรับรายละเอียดว่าแพ็กเกจฟรีครอบคลุมอะไรบ้าง ดูคู่มือ Gemini API free tierของเรา

gemini-api เหมือนกับ Gemini CLI ไหม? ไม่เหมือน Gemini CLI เป็นเอเจนต์เขียนโค้ดแบบอินเทอร์แอกทีฟ ส่วน gemini-api เป็นเครื่องมือแบบไม่เก็บสถานะที่เอเจนต์ตัวอื่น สคริปต์ และงานใน CI เรียกใช้เพื่อเข้าถึงโมเดลของ Gemini และ managed agent

ทดสอบคำสั่งโดยไม่มี API key ได้ไหม? ได้ --dry-run จะตรวจสอบคำสั่งและแสดงคำขอแบบตรงทั้งหมดโดยไม่มีการเรียกผ่านเครือข่ายและไม่มีการอ่าน keychain ทุกตัวอย่างในบทความนี้ตรวจสอบด้วยวิธีนั้นบนเวอร์ชัน 0.4.5

จะจัดการไฟล์ที่ใหญ่กว่า 14 MB อย่างไร? รัน gemini-api files upload <file> --wait เก็บค่า files/<id> ที่ได้ และส่งค่านั้นให้ -i ใน analyze, transcribe, generate, image, video หรือ agent run ไฟล์ที่อัปโหลดจะหมดอายุหลัง 48 ชั่วโมง

ควรปักหมุดเวอร์ชันไหม? ควร โดยเฉพาะใน CI Google ระบุว่าการเปลี่ยนแปลงที่ทำให้ของเดิมพังอาจเกิดขึ้นได้ระหว่างเวอร์ชันไมเนอร์ในขณะที่ CLI ยังอยู่ในช่วงเบต้า

Top comments (0)