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 أو أكثر، وإلا فقد تُرجع محتوى فارغًا فقط.
usageMetadata وفقًا لدلالات Gemini الأصلية:
- يتضمن
promptTokenCountcachedContentTokenCount، ويُحتسب الجزء الذي تصيبه ذاكرة التخزين المؤقت بسعر قراءة ذاكرة التخزين المؤقت، ولن يُحتسب مرة أخرى كمدخلات عادية. - تتم تسوية
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.
usage موحّدًا، وتتم قراءة تكلفة هذه المكالمة بشكل موحّد عبر بروتوكولات النماذج من usage.cost. إن cost هي معاينة اختيارية للتكلفة؛ عندما لا تكون معاينة الأسعار متاحة مؤقتًا، ستظل استجابة النموذج تُعاد بشكل طبيعي، لكنها قد لا تتضمن هذا الحقل. تخضع الفاتورة النهائية لسجلات الاستخدام.
Streaming(متدفق)
أرسل طلب POST إلى/v1beta/models/{model}:streamGenerateContent?alt=sse:
usageMetadata وusage الموحّد، وتبقى التكلفة في usage.cost:
data: [DONE]. إذا كانت معاينة السعر النهائي غير متاحة مؤقتًا، فسيظل usage يعيد استخدام token، لكنه سيحذف cost.
النماذج المدعومة
الميزات المتقدمة
تعليمات النظام
إعدادات التوليد
وضع JSON
وضع التفكير (Thinking)
يمكن للنماذج التي تدعم ميزة التفكير (مثل gemini-2.5-flash وgemini-2.5-pro) تفعيل وضع التفكير:استدعاء الدوال
محادثة متعددة الجولات
فهم الصور
إعدادات الأمان
يمكن التحكم في تصفية المحتوى عبرsafetySettings:

