Skip to main content
Google Gemini هو نظام محادثة بالذكاء الاصطناعي قوي جدًا، يمكنه إنشاء ردود سلسة وطبيعية خلال ثوانٍ عبر إدخال المطالبات. يصف هذا المستند بشكل أساسي كيفية استخدام Gemini Generate Content API، وهو تنسيق API الأصلي الرسمي من Google، ويدعم نقطتي النهاية generateContent وstreamGenerateContent.

الفرق عن Chat Completions API

يستخدم Gemini Generate Content API تنسيق الطلبات الأصلي الرسمي من Google (حقل contents) بدلًا من التنسيق المتوافق مع OpenAI (حقل messages). إذا كنت تستخدم بالفعل Google Gemini SDK أو كنت على دراية بتنسيق API الرسمي، فيمكنك استخدام هذا API مباشرةً دون الحاجة إلى تعديل تنسيق الطلب.

نطاق الدعم الحالي

تقبل الواجهة مدخلات النصوص والصور والفيديو والصوت (عبر inlineData أو fileData)، وتكوينات التفكير وإعلانات الدوال المخصصة. لا يوجد حتى الآن ضمان موحد لتوافر الحقول الأصلية مثل مخرجات الصوت والأدوات المضمنة والتخزين المؤقت الصريح للسياق؛ يُرجى الاعتماد على النتائج الفعلية التي يعيدها النموذج المحدد. عند إرسال ملفات مثل الصوت باستخدام fileData.fileUri، يُرجى التأكد من إمكانية الوصول إلى الملف مباشرةً عبر HTTPS، وألا يعتمد على حالة تسجيل الدخول، وأن تغطي مدة صلاحية الرابط الموقّع كامل وقت معالجة الطلب. لا تُرجع تحليلات الصوت غير المتدفقة النتائج إلا بعد أن ينتهي النموذج من المعالجة، وقد تتجاوز 90 ثانية؛ يجب على العميل تعيين مهلة إجمالية طويلة بما يكفي وفقًا لحجم الملف وسيناريو العمل، لتجنب قطع الاتصال بينما لا يزال الخادم يعالج الطلب.

عملية التقديم

قبل استخدام Gemini Generate Content API، يُرجى أولًا زيارة صفحة Gemini Generate Content API، والنقر على زر “الحصول” للحصول على بيانات الاعتماد المطلوبة للطلب. إذا لم تقم بتسجيل الدخول أو التسجيل بعد، فسيتم تحويلك تلقائيًا إلى صفحة تسجيل الدخول. سيتوفر رصيد مجاني عند أول طلب.

الاستخدام الأساسي

Non-Streaming(غير متدفق)

أرسل طلب POST إلى /v1beta/models/{model}:generateContent:
تنبيه: سلسلة gemini-3.x من flash هي نماذج تفكير، وستستهلك reasoning tokens أولًا؛ يُرجى ضبط generationConfig.maxOutputTokens على 512 أو أكثر، وإلا فقد تُرجع محتوى فارغًا فقط.
مثال على النتيجة المعادة:
تتم محاسبة حقول token في usageMetadata وفقًا لدلالات Gemini الأصلية:
  • يتضمن promptTokenCount ‏cachedContentTokenCount، ويُحتسب الجزء الذي تصيبه ذاكرة التخزين المؤقت بسعر قراءة ذاكرة التخزين المؤقت، ولن يُحتسب مرة أخرى كمدخلات عادية.
  • تتم تسوية promptTokensDetails وcacheTokensDetails إلى text_tokens وimage_tokens وvideo_tokens وaudio_tokens وتفاصيل cached_* المقابلة ضمن usage.prompt_tokens_details. تُضمَّن هذه القيم على التوالي في prompt_tokens وcached_tokens؛ ولا يُعاد احتساب الوسائط المختلفة إلا بأسعارها الخاصة، دون محاسبة متكررة.
  • يُحتسب كل من candidatesTokenCount وthoughtsTokenCount بسعر output token.
  • إن toolUsePromptTokenCount هو token إدخال أدوات مستقل، ويُحتسب بسعر input token.
تعيد Ace Data Cloud بالإضافة إلى ذلك كائن usage موحّدًا، وتتم قراءة تكلفة هذه المكالمة بشكل موحّد عبر بروتوكولات النماذج من usage.cost. إن cost هي معاينة اختيارية للتكلفة؛ عندما لا تكون معاينة الأسعار متاحة مؤقتًا، ستظل استجابة النموذج تُعاد بشكل طبيعي، لكنها قد لا تتضمن هذا الحقل. تخضع الفاتورة النهائية لسجلات الاستخدام.

Streaming(متدفق)

أرسل طلب POST إلى /v1beta/models/{model}:streamGenerateContent?alt=sse:
تُعاد الاستجابة المتدفقة تدريجيًا بتنسيق SSE (Server-Sent Events). عادةً ما تحتوي الأحداث الوسيطة على محتوى إضافي فقط؛ أما الحدث النهائي الذي يتضمن بيانات الاستخدام المعتمدة فسيحتوي على usageMetadata وusage الموحّد، وتبقى التكلفة في usage.cost:
يشير إغلاق الاتصال إلى انتهاء التدفق؛ لا يرسل تدفق Gemini الأصلي data: [DONE]. إذا كانت معاينة السعر النهائي غير متاحة مؤقتًا، فسيظل usage يعيد استخدام token، لكنه سيحذف cost.

النماذج المدعومة

الميزات المتقدمة

تعليمات النظام

إعدادات التوليد

وضع JSON

وضع التفكير (Thinking)

يمكن للنماذج التي تدعم ميزة التفكير (مثل gemini-2.5-flash وgemini-2.5-pro) تفعيل وضع التفكير:

استدعاء الدوال

محادثة متعددة الجولات

فهم الصور

إعدادات الأمان

يمكن التحكم في تصفية المحتوى عبر safetySettings:

معالجة الأخطاء