Gemini API CLI (gemini-api) یک کلاینت خط فرمان بدون حالت و بدون وابستگی است که برای عاملهای هوش مصنوعی با دسترسی پوسته ساخته شده است (و از اسکریپتها و CI قابلاستفاده است).
سپس نماینده کدنویسی شما میتواند
نوشتار و رسانه تولید کند، فایلها را تجزیهوتحلیل کند، و تکالیف را به
نمایندههای تحتمدیریت Gemini واگذار کند. این ابزار با Antigravity،
Claude Code، Codex، Cursor، OpenClaw، Hermes، یا هر محیط پوسته دیگری کار میکند.
هر ویژگی بهعنوان یک فرمان پوسته استاندارد در Interactions API اجرا میشود. همان دستورات را از زیرفرایند عامل، پایانه، یا خط لوله CI اجرا کنید:
# 1. Install on macOS or Linux
curl -fsSL https://raw.githubusercontent.com/google-gemini/gemini-api-cli/main/scripts/install.sh | bash
# 2. Set your API key
export GEMINI_API_KEY="YOUR_API_KEY"
# 3. Generate media, analyze a file, or launch a background managed agent
gemini-api image "Minimalist isometric icon of a cloud database" --out ./assets/db-icon.jpg
gemini-api analyze -i ./docs/quarterly-report.pdf "Summarize the key findings in three bullets."
gemini-api agent run "Compare WebRTC SFU architectures and cite sources" \
--agent deep-research-preview-04-2026 \
--background \
--stream=false
انتخاب کردن ابزار Gemini مناسب
وقتی عامل یا اسکریپت باید Gemini را مستقیماً از پوسته فراخوانی کند، بدون افزودن کد کیت توسعه نرمافزار به پروژهتان، از gemini-api استفاده کنید. هنگام ساختن Gemini در یک برنامه، از کیتهای توسعه نرمافزار و راهاندازی عامل کدنویسی استفاده کنید:
| ابزار | کارکرد | زمان استفاده از آن |
|---|---|---|
Gemini API CLI (gemini-api) |
مدلهای Gemini و عاملهای مدیریتشده را از هر پوستهای فراخوانی میکند. | عامل کدنویسی، اسکریپت پوسته، یا کار CI شما باید رسانه تولید کند، فایلها را تحلیل کند، یا عامل پژوهش پسزمینه را بدون هیچ وابستگی پروژهای اجرا کند. |
| کیتهای توسعه نرمافزار هوش مصنوعی زایای Google | کتابخانههای کارخواه Gemini را به کد Python، TypeScript، JavaScript، Go، Java، یا C# وارد میکند. | درحال ساختن ویژگیهای Gemini در برنامه، سرویس پسبست، یا جلسه Live API همزمان هستید. |
| مهارتها و MCP «سندنگار Gemini» | به عوامل کدنویسی امکان میدهد اسناد را بهطور زنده جستجو کنند و به قوانین فعلی کیت توسعه نرمافزار دسترسی داشته باشند. | کارگزار کدنویسی شما درحال نوشتن کد برنامهای است که «کیت توسعه نرمافزار هوش مصنوعی زایای Google» را وارد میکند. |
روش کار
فراخوانیهای REST خام و CLIهای تعاملی اغلب برای عوامل کدنویسی مشکل ایجاد میکنند. Base64 media fills the context window, interactive prompts block subprocesses, and stale training data causes hallucinated flags.
چهار انتخاب طراحی باعث میشود gemini-api برای نمایندگان قابلاعتماد باشد:
- جستجوی طرحواره آفلاین:
--usageرا برای چاپ درخت فرمان (در KDL) یا--schemaرا برای چاپ «طرحواره JSON» برای درخواستهای--bodyارسال کنید. - فایلهای روی دیسک، مسیرهای روی
stdout: فرمانهای رسانه و ترانویسی فایلها را روی دیسک مینویسند و فقط مسیر خروجی را چاپ میکنند، و دادههای دودویی را خارج از بافت نگه میدارند. - اجرای آزمایشی و برونداد ساختاریافته:
--dry-runورودیها را اعتبارسنجی میکند، اطلاعات کاربری را ویرایش میکند، و درخواست HTTP را بهصورت آفلاین پیشنمایش میکند. برای خروجی ماشینخوانا،-o json،-o toon، یا--jqرا ارسال کنید.--agent-modeرا اضافه کنید تا خطاهای JSON ساختاریافته درstderrبرگردانده شود و کدهای خروج را برای رسیدگی به خرابیها بررسی کنید. فرمانها هرگز پیامواره نمیدهند مگراینکه--interactiveرا رد کنید. - بدون حالت بهطور پیشفرض: فرمانها هیچ حالت محلی پنهانی را حفظ نمیکنند. زنجیره
کار چندمرحلهای بهطور صریح با
--previous-interaction-id،files/<id>URI بارگذاریشده، یا شناسه تعامل پسزمینه.
با -o json، فرمانهای رسانه همچنان فایل را در دیسک مینویسند و فراداده را در stdout چاپ میکنند:
{
"kind": "image",
"mime_type": "image/jpeg",
"path": "/path/to/project/assets/db-icon.jpg",
"response_id": "v1_...",
"size_bytes": 2914159,
"status": "completed"
}
شروع کنید
CLI را نصب کنید، gemini-api را در PATH قرار دهید، GEMINI_API_KEY را تنظیم کنید، و قوانین استفاده را به عامل کدنویسیتان اضافه کنید.
۱. نصب دودویی
macOS و Linux
curl -fsSL https://raw.githubusercontent.com/google-gemini/gemini-api-cli/main/scripts/install.sh | bash
برای نصب نسخه پخش خاصی، GEMINI_VERSION را روی برچسب نسخه پخش تنظیم کنید:
curl -fsSL https://raw.githubusercontent.com/google-gemini/gemini-api-cli/main/scripts/install.sh | GEMINI_VERSION=<release-tag> bash
Windows (PowerShell)
iwr -useb https://raw.githubusercontent.com/google-gemini/gemini-api-cli/main/scripts/install.ps1 | iex
رفتن
go install github.com/google-gemini/gemini-api-cli/cmd/gemini-api@latest
دودوییهای ازپیشساخته
بایگانیهای نسخهدار را برای macOS، Linux، و Windows از
GitHub Releases
بارگیری کنید و gemini-api را در PATH خود قرار دهید. از بایگانیهای ازپیشساختهشده برای سنجاق کردن نسخههای دقیق در Docker images و CI استفاده کنید.
۲. پیکربندی اصالتسنجی و درستیسنجی
کلید میانای API در Google AI Studio ایجاد کنید (کلیدهای میانای API را ببینید). GEMINI_API_KEY را در پوسته و محیط زیرفرایند عاملتان تنظیم کنید:
export GEMINI_API_KEY="YOUR_API_KEY"
در ایستگاه کاری محلی، میتوانید کلید را در دسته کلید سیستمعاملتان (دسته کلید macOS،
سرویس مخفی Linux، یا Credential Manager در Windows) ذخیره کنید. برای ذخیره کردن کلید در ~/.config/gemini-api/config.yaml،
--no-keyring را ارسال کنید:
# Save to your OS keychain (or run gemini-api configure --interactive)
gemini-api configure --api-key "YOUR_API_KEY"
# Check the active credential source, then preview a request offline
gemini-api whoami
gemini-api generate "Confirm CLI setup in one sentence." --dry-run
۳. به عاملتان دستورالعمل بدهید
این تکهکد را به AGENTS.md، CLAUDE.md، .cursorrules، یا پیامواره سیستم پروژهتان اضافه کنید تا عامل کدنویسی شما بداند چگونه از gemini-api استفاده کند:
## Gemini API CLI (`gemini-api`)
You have access to `gemini-api` through the shell. Use it to generate text or media (images, speech, music, video), analyze documents and recordings, or run and manage Gemini managed agents.
1. Run `gemini-api --help` or `gemini-api --usage` to choose a command, and `gemini-api <command> --schema` before building a `--body` JSON payload.
2. Preview unfamiliar or complex calls offline with `--dry-run -o json`.
3. For a single JSON result or `--jq` filtering on `generate` or `agent run`, pass `--stream=false -o json`.
4. To chain multi-step workflows, capture the output paths that media and transcription commands print to stdout, and the `id` values returned by `generate` or `agent run`.
سپس مثل همیشه به عامل کدنویسیتان پیامواره بدهید:
Build a landing page for our developer tool. Use Gemini to generate a hero
illustration and a 15-second welcome voiceover, and start a background Deep
Research agent to compare competing CLI onboarding flows. Wire the assets and
findings into the page.
فرمان
gemini-api --help را اجرا کنید تا همه فرمانها فهرست شود، یا gemini-api explore را اجرا کنید تا
آنها را بهصورت تعاملی مرور کنید.
| گروه | فرمان | کارکرد |
|---|---|---|
| ایجاد کردن | image |
تصاویر (-i) را تولید یا ویرایش میکند، فایل JPEG مینویسد، و مسیر آن را چاپ میکند. |
| ایجاد کردن | tts |
گفتار WAV تکصدایی ۲۴ کیلوهرتز (یک یا دو بلندگو) را ترکیب میکند و مسیر خروجی را چاپ میکند. |
| ایجاد کردن | music |
قطعههای موسیقی یا حلقهها را تولید میکند، فایل صوتی را مینویسد، و مسیر آن را چاپ میکند. |
| ایجاد کردن | video |
کلیپهای MP4 را تولید یا ویرایش میکند و تا تکمیل شدن منتظر میماند (--async فوراً شناسهای را برمیگرداند). |
| ایجاد کردن | generate |
نوشتار تولید میکند و آن را به stdout جاریسازی میکند (--stream=false یک نتیجه کامل برمیگرداند). |
| فهمیدن | analyze |
به سؤالات مربوط به فایلهای PDF، تصاویر، فایلهای صوتی، ویدیوها، فایلهای CSV و نوشتاری، یا نشانیهای وب عمومی YouTube پاسخ میدهد. |
| فهمیدن | transcribe |
ترانویسیهای دارای مُهر زمان و برچسب گوینده (md، text، json، یا srt) را مینویسد و مسیرهای خروجی را چاپ میکند. |
| مدیریت کردن عاملها | agent |
عاملهای مدیریتشده (run، status، cancel، delete-interaction) را اجرا میکند و تعاریف عامل سفارشی (create، list، get، delete) را مدیریت میکند. |
| مدیریت کردن عاملها | environments، credentials، webhooks، triggers |
محیطهای جعبه شنی، اعتبارنامههای ذخیرهشده، تحویل وبقلاب، و اجراهای زمانبندیشده را برای عاملهای مدیریتشده پیکربندی میکند. |
| راهاندازی و فایلها | configure، auth، whoami |
اعتبارنامهها و پیشفرضها را پیکربندی میکند و وضعیت احراز هویت فعال را نشان میدهد. |
| راهاندازی و فایلها | files |
فایلها را در Files API بارگذاری، فهرست، بازرسی، و حذف میکند. |
| راهاندازی و فایلها | models |
مدلهای دردسترس را فهرست میکند. |
گردش کار
هر فرمان بهطور پیشفرض به مدلی مناسب برای تکلیف خود اختصاص داده میشود. برای انتخاب مدل دیگر،
--model (-m) را رد کنید. برای فهرست کردن گزینههای دردسترس، gemini-api models را اجرا کنید.
تولید و ویرایش تصویر
عاملهایی که واسطهای کاربر وب یا تلفن همراه میسازند میتوانند با Nano Banana جایبان، نماد، و نگاره اصلی تولید کنند. مسیر تولیدشده را با -i برگردانید تا تصویر را ویرایش کنید:
# Generate a 16:9 image at 2K resolution (512, 1K, 2K, or 4K) and capture its path
HERO_PATH=$(gemini-api image "Friendly robot mascot in a sunlit workshop, space on left for headline" \
--aspect-ratio 16:9 \
--image-size 2K \
--out ./public/images/hero.jpg)
# Edit the generated image
gemini-api image "Add a winter scarf and soft snowfall outside the window" \
-i "$HERO_PATH" \
--out ./public/images/hero-winter.jpg
-i را چندینبار ارسال کنید تا تصاویر مرجع، مثل یک شخصیت و یک راهنمای سبک، را ترکیب کنید.
همگذاری گفتار
gemini-api tts صدای WAV با فرکانس ۲۴ کیلوهرتز را برای نشانههای واسط کاربر، پیشنمایشهای دسترسپذیری، و راهنماهای گامبهگام با روایت صوتی ترکیب میکند. صدای پیشفرض Kore است؛
با --voice صدای دیگری انتخاب کنید. برای مکالمه دو گوینده، هر نوبت را در پیامواره برچسبگذاری کنید و
گویندگان را به صداها نگاشت کنید:
gemini-api tts "Build succeeded. All integration tests passed." \
--voice Aoede \
--out ./public/audio/build-ok.wav
gemini-api tts "Alice: Welcome to the release walkthrough! Bob: Let's look at what shipped today." \
--multi-speaker "Alice=Kore,Bob=Puck" \
--out ./public/audio/release-intro.wav
موسیقی و ویدیو
با Lyria قطعههای اصیل بسازید و با Gemini Omni کلیپهای MP4 تولید کنید:
gemini-api music "Warm ambient synth and acoustic guitar background loop, 95 BPM" \
--out ./public/audio/bg-loop.mp3
gemini-api video "A drone shot of a mountain landscape at sunrise." \
--aspect-ratio 16:9 \
--resolution 1080p \
--out ./public/video/mountain-sunrise.mp4
بهطور پیشفرض، فرمان video منتظر میماند تا تولید تمام شود و فایل MP4 را در دیسک مینویسد. --async را ارسال کنید تا شناسه تعامل فوراً برگردانده شود، سپس
gemini-api video --resume <id> --out <path> را بعداً اجرا کنید. -i را برای پویانمایی کردن
تصویر موجود ارسال کنید.
تولید نوشتار
gemini-api generate نوشتار را به stdout جاریسازی میکند:
gemini-api generate "Write a one-paragraph welcome message for new users of a note-taking app."
برای انتقال نوشتار به پیامواره، --stdin را اضافه کنید. برای ادامه تعامل قبلی،
--previous-interaction-id را ارسال کنید.
تجزیهوتحلیل و ترانویسی سند
analyze به سؤالات مربوط به فایلهای PDF، صفحهگستردهها، نماگرفتها، فایلهای صوتی و ویدیویی، و نشانیهای وب عمومی YouTube پاسخ میدهد. transcribe ترانویسی قالببندیشدهای (md، text، json، یا srt) را در دیسک مینویسد:
gemini-api analyze -i ./docs/product-brief.pdf "List the open questions and who owns each one." > open-questions.md
gemini-api transcribe -i ./fixtures/customer-call.mp4 --format srt --out ./fixtures/customer-call.srt
برای مقایسه فایلها، مثلاً نماگرفتهای قبل و بعد، -i را چندبار به analyze ارسال کنید.
gemini-api فایلهای محلی را بهصورت درونخطی تا ۱۴ مگابایت (۲۰ مگابایت پساز کدگذاری base64) ارسال میکند.
برای فایلهای بزرگتر، یکبار با files upload --wait بارگذاری کنید و از
files/<id> URI برگرداندهشده دوباره استفاده کنید:
FILE_URI=$(gemini-api files upload ./recordings/all-hands.mp4 --wait)
gemini-api analyze -i "$FILE_URI" "List action items with owners and timestamps."
gemini-api transcribe -i "$FILE_URI" --format json --out ./recordings/all-hands.json
اجرا و مدیریت عاملها
نماینده کدنویسی شما میتواند تکالیف چندمرحلهای پژوهشی یا جعبه امن را به
نمایندههای تحت مدیریت Gemini، مثل
نماینده Deep Research، محول کند. برای دریافت فوری شناسه تعامل بهجای باز نگه داشتن جاریسازی،
--background --stream=false را ارسال کنید:
# Launch a Deep Research job in the background and capture its interaction ID
RESEARCH_ID=$(gemini-api agent run "Compare open-source vector index benchmarks and cite primary papers." \
--agent deep-research-preview-04-2026 \
--background \
--stream=false \
--jq '.id')
# Check status or fetch the finished result while continuing other work
gemini-api agent status "$RESEARCH_ID" -o json
برای متوقف کردن کار درحال اجرا، gemini-api agent cancel <id> را اجرا کنید. همچنین میتوانید
عامل Antigravity را در جعبه شنی راه دور
با agent run راهاندازی کنید، یا عاملهای سفارشی را با
agent create، list، get، و delete مدیریت کنید. برای پیکربندی جعبههای شنی عامل،
محیطها را ببینید.
متن درخواست سفارشی
برای گزینههای بدون پرچم اختصاصی، یک بار داده JSON خام
Interactions API را با
--body (درونخطی یا بهعنوان @file.json) ارسال کنید. --body را برای تنظیم طرحوارههای
response_format، ابزارهای فراخوانی تابع، generation_config، یا "store": false ارسال کنید. ابتدا
gemini-api <command> --schema را اجرا کنید تا فیلدهای معتبر را بررسی کنید:
# Inspect the JSON Schema for the request body
gemini-api generate --schema > generate-schema.json
# Return schema-constrained JSON and skip storing the interaction
cat logs.txt | gemini-api generate "Extract every error message from these logs." \
--stdin \
--body '{
"response_format": {
"type": "text",
"mime_type": "application/json",
"schema": {
"type": "object",
"properties": {"errors": {"type": "array", "items": {"type": "string"}}},
"required": ["errors"]
}
},
"store": false
}'
--body با پرچمهای فرمان ادغام میشود. اگر هر دو یک کلید را تنظیم کنند، فرمان با کد خروج 2 ناموفق میشود تا ورودیهای متناقض بهسرعت ناموفق شوند.
کدهای خروج
هر فرمان یک کد خروج تایپشده برمیگرداند تا اسکریپتها و عاملها بتوانند
خطاها را بدون تجزیه کردن نوشتار خطا مدیریت کنند. برای مثال، 3 نشاندهنده مشکل اصالتسنجی است و 2 نشاندهنده نحو فرمان نامعتبر است:
| کد | معنی |
|---|---|
0 |
فرمان با موفقیت اجرا شد. |
1 |
خطای زمان اجرا یا میانای برنامهسازی کاربردی، مانند خرابی شبکه، محدودیت نرخ، یا کار پسزمینه ناموفق. |
2 |
خطای استفاده یا اعتبارسنجی، مانند پرچم ناشناخته، ورودی مفقود، یا کلید --body تکراری. |
3 |
خطای اصالتسنجی یا صدور مجوز، مانند نبودن یا نامعتبر بودن کلید یا کد میانای برنامهسازی کاربردی. |
gemini-api --help-global را اجرا کنید تا پرچمهای جهانی همرسانیشده توسط هر فرمان را فهرست کنید
(اصالتسنجی، خروجی، شبکه، و عیبیابی).
محدودیتها
- فرمانهای جاریسازی (
generateوagent run) وقتی با-o jsonیا--jqترکیب میشوند، به--stream=falseنیاز دارند تا یک شیء پاسخ JSON تکی برگردانند. - ورودیهای فایل
-iبهخط به ۱۴ مگابایت داده فایل خام (۲ مگابایت بار داده درخواست شامل کدبندی base64) محدود میشود. فایلهای بزرگ را باgemini-api files uploadبارگذاری کنید. Files API فایلهای بارگذاریشده را پساز ۴۸ ساعت حذف میکند. -
gemini-apiاز درخواستهای استاندارد HTTP، جاریسازی SSE، و نظرسنجی ناهمگام پشتیبانی میکند، نه WebSockets دوطرفه. برای جاریسازی همزمان صدا و ویدیو، از Live API با Google GenAI SDK استفاده کنید.