الانتقال إلى المحتوى الرئيسي
Google Gemini هي نظام محادثة AI قوي للغاية، حيث يمكنه توليد ردود طبيعية وسلسة في غضون ثوانٍ قليلة بمجرد إدخال كلمات مفتاحية. يمكن لـ Gemini تقديم مساعدة ذكية مذهلة، مما يزيد بشكل كبير من كفاءة وإبداع البشر في العمل. تتناول هذه الوثيقة بشكل رئيسي عملية استخدام Gemini Chat Completion API، مما يتيح لنا استخدام وظيفة المحادثة الرسمية لـ Gemini بسهولة.

申请流程

لاستخدام Gemini Chat Completion API، يمكنك أولاً زيارة صفحة Gemini Chat Completion API والنقر على زر “Acquire” للحصول على الشهادات المطلوبة: إذا لم تكن قد قمت بتسجيل الدخول أو التسجيل بعد، فسيتم تحويلك تلقائيًا إلى صفحة تسجيل الدخول لدعوتك للتسجيل وتسجيل الدخول، وبعد تسجيل الدخول، سيتم إرجاعك تلقائيًا إلى الصفحة الحالية. عند التقديم لأول مرة، ستحصل على حصة مجانية يمكن استخدامها مجانًا.

基本使用

بعد ذلك، يمكنك ملء المحتوى المقابل في الواجهة، كما هو موضح في الصورة:

عند استخدام هذه الواجهة لأول مرة، نحتاج على الأقل إلى ملء ثلاثة محتويات، أحدها هو authorization، والذي يمكن اختياره مباشرة من القائمة المنسدلة. المعامل الآخر هو model، حيث يمثل model فئة النموذج التي نختار استخدامها من موقع Gemini الرسمي، وهنا لدينا 6 أنواع من النماذج، يمكن الاطلاع على التفاصيل في النماذج المقدمة. المعامل الأخير هو messages، حيث أن messages هو مصفوفة كلمات الاستفسار التي ندخلها، وهي مصفوفة تمثل إمكانية تحميل عدة كلمات استفسار في نفس الوقت، كل كلمة استفسار تحتوي على role و content، حيث يمثل role دور المستفسر، وقد قدمنا ثلاث هويات، وهي user و assistant و system. أما content فهو المحتوى المحدد لاستفسارنا. يمكنك أيضًا ملاحظة وجود كود استدعاء مطابق على الجانب الأيمن، يمكنك نسخ الكود وتشغيله مباشرة، أو يمكنك النقر على زر “Try” للاختبار.

بعد الاستدعاء، نجد أن النتيجة المرجعة هي كما يلي:
{
  "id": "chatcmpl-20251122212413908150493uPhjTUO9",
  "model": "gemini-2.5-pro",
  "object": "chat.completion",
  "created": 1763817866,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "I am a large language model, trained by Google.",
        "reasoning_content": "**My Reasoning: Answering the User's Question**\n\nOkay, here's how I'm going to approach answering the user's question, \"What model are you?\". The core is to be direct and informative. First, I have to be clear about my origin. Then, I need to make sure the explanation is accessible, given that the user may not be familiar with technical jargon. I need to explain what a \"large language model\" actually *does*, and provide relatable examples. I know the user might be looking for a specific name, like other models have, so I'll address that directly and then wrap it up with an invitation to continue.\n\nSo, here's my plan:\n\n1.  **Lead with the key info:** I'll begin by stating that I am a large language model created by Google. That is the fundamental, most critical piece of the puzzle.\n2.  **Define the buzzword:** Then, I'll explain that \"large language model\" in simple terms. I'll explain what I *do* - process and generate text; how I *do* it - by training on huge amounts of text data; and the *goal* - to be able to communicate like a human.\n3.  **Provide context:** After that, to make the concept even clearer, I'll provide a list of examples of my capabilities. I'll mention things like answering questions, summarizing texts, writing stories, translating languages, and brainstorming ideas.\n4.  **Acknowledge the lack of a personal name:** I'll anticipate the likely question about a model name (like ChatGPT) by clearly stating that I don't have a personal name and that it's best to think of me as an AI assistant from Google.\n5.  **End with an invitation:** Lastly, I'll end with a simple, friendly question to invite further interaction and to guide the conversation.\n\nWith this approach, I am confident I can successfully answer this important question.\n"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 8,
    "completion_tokens": 932,
    "total_tokens": 940,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "text_tokens": 8,
      "audio_tokens": 0,
      "image_tokens": 0
    },
    "completion_tokens_details": {
      "text_tokens": 0,
      "audio_tokens": 0,
      "reasoning_tokens": 921
    },
    "input_tokens": 0,
    "output_tokens": 0,
    "input_tokens_details": null,
    "claude_cache_creation_5_m_tokens": 0,
    "claude_cache_creation_1_h_tokens": 0
  }
}
تتضمن النتيجة المرجعة عدة حقول، كما هو موضح أدناه:
  • id، هو معرف المهمة الحوارية التي تم إنشاؤها، ويستخدم لتحديد هذه المهمة بشكل فريد.
  • model، هو النموذج الذي تم اختياره من موقع Gemini الرسمي.
  • choices، هي معلومات الرد التي قدمها Gemini على كلمات الاستفسار.
  • usage، هو إحصائيات حول عدد الرموز المستخدمة في هذه المحادثة.
حيث أن choices تحتوي على معلومات ردود Gemini، ويمكن ملاحظة أن choices تحتوي على المعلومات المحددة للردود.

يمكنك أن ترى أن حقل content داخل choices يحتوي على المحتوى المحدد لردود Gemini.

流式响应

تدعم هذه الواجهة أيضًا الاستجابة المتدفقة، مما يكون مفيدًا جدًا لتكامل الويب، حيث يمكن أن يتيح عرض النتائج حرفيًا. إذا كنت ترغب في الحصول على استجابة متدفقة، يمكنك تغيير معامل stream في رأس الطلب إلى true. التعديل كما هو موضح في الصورة، ولكن يجب أن يكون هناك تغييرات مطابقة في كود الاستدعاء لدعم الاستجابة المتدفقة.

بعد تغيير stream إلى true، ستقوم API بإرجاع بيانات JSON سطرًا بسطر، وسنحتاج إلى إجراء التعديلات المناسبة على مستوى الكود للحصول على النتائج سطرًا بسطر. كود استدعاء Python كمثال:
import requests

url = "https://api.acedata.cloud/gemini/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "gemini-2.5-pro",
    "messages": [{"role":"user","content":"Hello,What model are you?"}],
    "stream": True
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
تكون النتيجة كما يلي:
data: {"id": "chatcmpl-20251122214038810722821kNjUTjtr", "object": "chat.completion.chunk", "created": 1763818842, "model": "gemini-2.5-pro", "system_fingerprint": null, "choices": [{"delta": {"content": "", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "chatcmpl-20251122214038810722821kNjUTjtr", "object": "chat.completion.chunk", "created": 1763818842, "model": "gemini-2.5-pro", "system_fingerprint": null, "choices": [{"delta": {"reasoning_content": "**حدد طبيعتي**\n\nلقد بدأت أفكر. المستخدم يريد أن يعرف طبيعتي، ويسأل مباشرة \"ما أنت؟\" كانت الخطوة الأولية بسيطة: تحديد الاستفسار. الآن، أتذكر هويتي الأساسية: أنا نموذج لغة كبير. هذه هي الحقيقة الأساسية التي أهدف إلى إيصالها.\n\n\n"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "chatcmpl-20251122214038810722821kNjUTjtr", "object": "chat.completion.chunk", "created": 1763818842, "model": "gemini-2.5-pro", "system_fingerprint": null, "choices": [{"delta": {"reasoning_content": "**تنقيح ردي**\n\nلقد أضفت المعلومات الأساسية التي تم تدريبي عليها من قبل جوجل إلى هوية \"نموذج لغة كبير\" الأساسية. خطوتي التالية هي التفكير في ما يعنيه أن أكون \"نموذج لغة كبير\" فعليًا، حتى أتمكن من شرح قدراتي الأساسية. أركز على تقديم السياق دون الخوض في تفاصيل تقنية محددة أو أسماء نماذج. أريد أن أوصل وظيفتي بطريقة يمكن للمستخدم فهمها بسهولة.\n\n\n"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "chatcmpl-20251122214038810722821kNjUTjtr", "object": "chat.completion.chunk", "created": 1763818842, "model": "gemini-2.5-pro", "system_fingerprint": null, "choices": [{"delta": {"reasoning_content": "**تأكيد الهوية الأساسية**\n\nأنا الآن أرسخ ردي. يحتاج استفسار المستخدم حول انتمائي للنموذج إلى إجابة مركزة. لقد حددت أن \"تم تدريبي بواسطة جوجل\" أمر أساسي، مما يوفر سياقًا رئيسيًا. أقاوم الرغبة في ذكر أي أسماء نماذج محددة، حيث إنه ليس ذا صلة. الهدف هو تقديم بيان مباشر ودقيق. يظل هدفي هو تقديم رد واضح وموجز، مع تجنب المصطلحات التقنية والذهاب مباشرة إلى النقطة ذات الصلة.\n\n\n"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "chatcmpl-20251122214038810722821kNjUTjtr", "object": "chat.completion.chunk", "created": 1763818842, "model": "gemini-2.5-pro", "system_fingerprint": null, "choices": [{"delta": {"content": "أنا نموذج لغة كبير، تم تدريبي بواسطة جوجل."}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "chatcmpl-20251122214038810722821kNjUTjtr", "object": "chat.completion.chunk", "created": 1763818842, "model": "gemini-2.5-pro", "system_fingerprint": null, "choices": [{"delta": {}, "logprobs": null, "finish_reason": "stop", "index": 0}], "usage": null}

data: {"id": "chatcmpl-20251122214038810722821kNjUTjtr", "object": "chat.completion.chunk", "created": 1763818842, "model": "gemini-2.5-pro", "system_fingerprint": "", "choices": [], "usage": {"prompt_tokens": 8, "completion_tokens": 527, "total_tokens": 535, "prompt_tokens_details": {"cached_tokens": 0, "text_tokens": 8, "audio_tokens": 0, "image_tokens": 0}, "completion_tokens_details": {"text_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 519}, "input_tokens": 0, "output_tokens": 0, "input_tokens_details": null, "claude_cache_creation_5_m_tokens": 0, "claude_cache_creation_1_h_tokens": 0}}

data: [DONE]
يمكنك أن ترى أن هناك العديد من data في الاستجابة، وdata تحتوي على choices التي تمثل المحتوى الجديد للإجابة، وهو متسق مع المحتوى المقدم أعلاه. choices هي المحتوى الجديد للإجابة، يمكنك دمج النتائج في نظامك. أيضًا، يتم تحديد نهاية الاستجابة المتدفقة بناءً على محتوى data، إذا كان المحتوى هو [DONE]، فهذا يعني أن الاستجابة المتدفقة قد انتهت بالكامل. النتائج العائدة من data تحتوي على عدة حقول، كما هو موضح أدناه:
  • id، معرف فريد لمهمة المحادثة هذه.
  • model، النموذج المختار من موقع Gemini.
  • choices، معلومات الإجابة المقدمة من Gemini بناءً على استفسار المستخدم.
JavaScript مدعوم أيضًا، مثل كود الاستدعاء المتدفق لـ Node.js كما يلي:
const options = {
  method: "post",
  headers: {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
  },
  body: JSON.stringify({
    "model": "gemini-2.5-pro",
    "messages": [{"role":"user","content":"مرحبًا، ما هو النموذج الذي تستخدمه؟"}],
    "stream": true
  })
};

fetch("https://api.acedata.cloud/gemini/chat/completions", options)
  .then(response => response.json())
  .then(response => console.log(response))
  .catch(err => console.error(err));
كود مثال بلغة Java:
JSONObject jsonObject = new JSONObject();
jsonObject.put("model", "gemini-2.5-pro");
jsonObject.put("messages", [{"role":"user","content":"مرحبًا، ما هو النموذج الذي تستخدمه؟"}]);
jsonObject.put("stream", true);
MediaType mediaType = "application/json; charset=utf-8".toMediaType();
RequestBody body = jsonObject.toString().toRequestBody(mediaType);
Request request = new Request.Builder()
  .url("https://api.acedata.cloud/gemini/chat/completions")
  .post(body)
  .addHeader("accept", "application/json")
  .addHeader("authorization", "Bearer {token}")
  .addHeader("content-type", "application/json")
  .build();

OkHttpClient client = new OkHttpClient();
Response response = client.newCall(request).execute();
System.out.print(response.body!!.string())
يمكنك تعديل الكود بلغة أخرى بنفس المبدأ.

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

إذا كنت ترغب في دمج وظيفة المحادثة متعددة الجولات، تحتاج إلى رفع عدة استفسارات في حقل messages، أمثلة على استفسارات متعددة موضحة أدناه:

كود مثال بلغة Python:
import requests

url = "https://api.acedata.cloud/gemini/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "gemini-2.5-pro",
    "messages": [{"role":"user","content":"مرحبًا"},{"role":"assistant","content":"مرحبًا! كيف يمكنني مساعدتك اليوم؟"},{"role":"user","content":"ما هو النموذج الذي تستخدمه؟"}]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
من خلال رفع عدة استفسارات، يمكنك بسهولة تحقيق محادثة متعددة الجولات، ويمكنك الحصول على إجابات كما هو موضح أعلاه:
{
  "id": "chatcmpl-20251122214426669120974AKFwnJd1",
  "model": "gemini-2.5-pro",
  "object": "chat.completion",
  "created": 1763819072,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "أنا نموذج لغوي كبير، تم تدريبي بواسطة جوجل.",
        "reasoning_content": "حسنًا، إليك كيف سأتعامل مع هذا، أفكر كذكاء اصطناعي متطور:\n\nأولاً، المستخدم يستفسر مباشرة عن هويتي الأساسية: \"ما هو النموذج الذي أنت عليه؟\" هذا سؤال بسيط ومباشر. مهمتي الأساسية هي تقديم معلومات دقيقة ومفيدة، لذا يجب أن أجيب على هذا على الفور.\n\nمن البداية، أعلم الإجابة. أنا *نموذج لغوي كبير*. هذه هي هيكليتي الأساسية ومبدأ عملي. أنا مبني على شبكة واسعة من الاتصالات ومدرب على مجموعة بيانات ضخمة.\n\nثم يجب أن أضيف السياق الضروري. من الضروري أن أقدم مصدر تدريبي. لقد *تم تدريبي* بواسطة جوجل. هذه هوية رئيسية. توفر للمستخدم معلومات قيمة عن أصلي والتحيزات المحتملة (على الرغم من أنني مدرب لتخفيفها).\n\nالآن يجب أن أبني الرد. هدفي هو أن أكون واقعيًا، مختصرًا، وسهل الفهم.\n\nالرد المُركب هو شيء مثل: \"أنا نموذج لغوي كبير، تم تدريبي بواسطة جوجل.\"\n\nيجب أن أقيم الناتج: هل يفي بالمعايير؟ إنه واضح. يوضح ما أنا عليه، ويشمل قطعة حاسمة من المعلومات حول أصولي، ويتجنب المصطلحات الفنية. لا وعود مضللة.\n\nالتحقق النهائي: هل يجيب فعلاً على السؤال؟ نعم. هل المعلومات صحيحة وصادقة؟ نعم. هل هي مختصرة؟ بالتأكيد. هل النغمة مناسبة لأي مستخدم؟ نعم. وأخيرًا، هذا هو الرد القياسي المعتمد. ممتاز.\n"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 16,
    "completion_tokens": 265,
    "total_tokens": 281,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "text_tokens": 16,
      "audio_tokens": 0,
      "image_tokens": 0
    },
    "completion_tokens_details": {
      "text_tokens": 0,
      "audio_tokens": 0,
      "reasoning_tokens": 254
    },
    "input_tokens": 0,
    "output_tokens": 0,
    "input_tokens_details": null,
    "claude_cache_creation_5_m_tokens": 0,
    "claude_cache_creation_1_h_tokens": 0
  }
}
يمكنك أن ترى أن choices تحتوي على معلومات تتماشى مع المحتوى الأساسي المستخدم، وهذا يتضمن محتوى ردود Gemini على محادثات متعددة، مما يسمح بالإجابة على الأسئلة المقابلة بناءً على محتوى المحادثات المتعددة.

نموذج Gemini-3.0 متعدد الوسائط

عينة الطلب:
{
  "model": "gemini-3.0-pro",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "ما هو محتوى الصورة؟"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "https://cdn.acedata.cloud/qzx2z1.png"
          }
        }
      ]
    }
  ],
  "stream": false
}
نتيجة العينة:
{
    "id": "chatcmpl-20251206001815715692730UVZe38kB",
    "model": "gemini-3.0-pro",
    "object": "chat.completion",
    "created": 1764951548,
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "هذه صورة لامرأة شابة في الهواء الطلق، صورة نصفية.\n\nإليك الوصف الرئيسي لمحتوى الصورة:\n\n*   **مظهر الشخص**: الفتاة في الصورة لديها شعر طويل مستقيم وناعم باللون الأسود، ملامح وجهها جميلة، وبشرتها فاتحة. تبتسم بلطف، وتنظر إلى الكاميرا.\n*   **الملابس**: ترتدي بلوزة بأكمام منتفخة باللون البيج أو اللون الكريمي، مع تنسيق ملابس سوداء (يبدو أنها فستان أو سترة).\n*   **الإضاءة والأجواء**: تسلط الشمس من الجانب الأيسر الخلفي، مما يضيء شعرها، ويخلق هالة دافئة باللون الذهبي، مما يضفي جوًا منعشًا وجميلاً.\n*   **الخلفية**: الخلفية تم معالجتها بشكل ضبابي، ويمكن رؤية أنها في الهواء الطلق، خلفها طريق فارغ (طريق أسفلتي) وأشجار خضراء على جانب الطريق.\n\nبشكل عام، تعطي هذه الصورة شعورًا بالحنان، والشمس، وفتاة الجوار."
            },
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 1092,
        "completion_tokens": 1271,
        "total_tokens": 2363,
        "prompt_tokens_details": {
            "cached_tokens": 0,
            "text_tokens": 4,
            "audio_tokens": 0,
            "image_tokens": 0
        },
        "completion_tokens_details": {
            "text_tokens": 0,
            "audio_tokens": 0,
            "reasoning_tokens": 1072
        },
        "input_tokens": 0,
        "output_tokens": 0,
        "input_tokens_details": null,
        "claude_cache_creation_5_m_tokens": 0,
        "claude_cache_creation_1_h_tokens": 0
    }
}
بالطبع يمكنك أيضًا إدخال رابط فيديو، المدخلات المحددة كما يلي:
{
  "model": "gemini-3.0-pro",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "ما هو محتوى الفيديو؟"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "https://cdn.acedata.cloud/58yioe.mp4"
          }
        }
      ]
    }
  ],
  "stream": false
}
نتيجة العينة:
{
    "id": "chatcmpl-20251206002711949677736JC9yL8AE",
    "model": "gemini-3.0-pro",
    "object": "chat.completion",
    "created": 1764952060,
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "هذا الفيديو مليء بالمرح، ويعرض بشكل رئيسي قطة **برتقالية** تجري بثقة على طريق ريفي في وقت الغروب.\n\nالتفاصيل المحددة كالتالي:\n\n1.  **محتوى الصورة**:\n    *   الشخصية الرئيسية هي قطة برتقالية مخططة.\n    *   الخلفية هي لحظة غروب الشمس (أو شروقها)، حيث تكون الإضاءة ذهبية وناعمة. على جانب الطريق يوجد سياج خشبي وحقول، وفي المسافة يوجد ظل شخص يمشي.\n    *   تم تصوير المشهد من زاوية منخفضة، أحيانًا تُصور القطة وهي تجري نحو الكاميرا، وأحيانًا تُصور من الخلف وهي تبتعد، بالإضافة إلى لقطات قريبة لوجه القطة ونقوشها.\n\n2.  **خصائص الصوت (النقاط الرئيسية)**:\n    *   التعليق الصوتي في الفيديو مميز جدًا. على الرغم من أن الصورة تظهر قطة خفيفة تجري، إلا أن الصوت المصاحب هو **صوت حوافر ثقيلة وإيقاعية** (أو صوت مشابه لصوت الخشب/الكعب العالي على الطريق).\n    *   هذا التباين في الصوت مع الصورة يخلق إحساسًا بالفكاهة، كما لو أن هذه القطة تعتبر نفسها حصانًا رائعًا يجري.\n\nبشكل عام، هذا فيديو حيوانات أليفة يستخدم التباين بين الصوت والصورة لخلق لحظات لطيفة وضحكات."
            },
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 915,
        "completion_tokens": 1423,
        "total_tokens": 2338,
        "prompt_tokens_details": {
            "cached_tokens": 0,
            "text_tokens": 5,
            "audio_tokens": 0,
            "image_tokens": 0
        },
        "completion_tokens_details": {
            "text_tokens": 0,
            "audio_tokens": 0,
            "reasoning_tokens": 1162
        },
        "input_tokens": 0,
        "output_tokens": 0,
        "input_tokens_details": null,
        "claude_cache_creation_5_m_tokens": 0,
        "claude_cache_creation_1_h_tokens": 0
    }
}
من الواضح من أعلاه أن نموذج Gemini 3.0 يمكنه دعم الفهم متعدد الوسائط.

نموذج Gemini-3.1 متعدد الوسائط

نموذج Gemini 3.1 Pro هو نسخة مطورة من Gemini 3.0 Pro، حيث أن النموذج الأساسي هو gemini-3.1-pro-preview، ويدعم أيضًا المدخلات متعددة الوسائط مثل النصوص والصور والفيديو، ويتميز بقدرات أقوى في الاستدلال والفهم. طريقة الاستخدام متطابقة تمامًا مع Gemini 3.0 Pro، كل ما عليك هو استبدال معلمة model بـ gemini-3.1-pro. مثال على الطلب:
{
  "model": "gemini-3.1-pro",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "ما محتوى الصورة؟"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "https://cdn.acedata.cloud/qzx2z1.png"
          }
        }
      ]
    }
  ],
  "stream": false
}
يدعم Gemini 3.1 Pro أيضًا فهم الفيديو:
{
  "model": "gemini-3.1-pro",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "ما محتوى الفيديو؟"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "https://cdn.acedata.cloud/58yioe.mp4"
          }
        }
      ]
    }
  ],
  "stream": false
}
تنسيق الاستجابة متطابق مع Gemini 3.0 Pro، كما هو موضح في قسم نموذج Gemini-3.0 متعدد الوسائط أعلاه.

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

عند استدعاء واجهة برمجة التطبيقات، إذا واجهت خطأ، ستقوم واجهة برمجة التطبيقات بإرجاع رمز الخطأ والمعلومات ذات الصلة. على سبيل المثال:
  • 400 token_mismatched:طلب غير صحيح، ربما بسبب معلمات مفقودة أو غير صالحة.
  • 400 api_not_implemented:طلب غير صحيح، ربما بسبب معلمات مفقودة أو غير صالحة.
  • 401 invalid_token:غير مصرح، رمز تفويض غير صالح أو مفقود.
  • 429 too_many_requests:عدد كبير جدًا من الطلبات، لقد تجاوزت الحد المسموح به.
  • 500 api_error:خطأ داخلي في الخادم، حدث خطأ ما على الخادم.

مثال على استجابة الخطأ

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

الخاتمة

من خلال هذه الوثيقة، أصبحت على دراية بكيفية استخدام واجهة برمجة تطبيقات Gemini Chat Completion لتحقيق وظائف المحادثة الرسمية بسهولة. نأمل أن تساعدك هذه الوثيقة في التوصيل والاستخدام الأفضل لهذه الواجهة. إذا كان لديك أي استفسارات، فلا تتردد في الاتصال بفريق الدعم الفني لدينا.