Gemini الأصلي

إنشاء المحتوى

إنشاء المحتوى باستخدام تنسيق Google Gemini API

POST
/v1beta/models/{model}:generateContent

استخدم تنسيقات طلبات واستجابات Gemini مع نموذج تعيده Gemini Models API. تُقبل أسماء الحقول بصيغة ProtoJSON lowerCamelCase وأسماء proto snake_case المقابلة. تعتمد الحقول الاختيارية والقيم المدعومة على النموذج المحدد.

معلمات المسار

modelstringpathمطلوب

اسم النموذج (على سبيل المثال، gemini-2.5-pro، gemini-3.5-flash).

معلمات الاستعلام

keystringquery

مفتاح API (بديل للمصادقة عبر الترويسة).

المصادقة

تدعم نقاط نهاية Gemini طرق مصادقة متعددة:

  • ?key=YOUR_API_KEY معلمة استعلام
  • x-goog-api-key: YOUR_API_KEY ترويسة
  • Authorization: Bearer YOUR_API_KEY ترويسة

جسم الطلب

contentsarrayمطلوب

محتوى المحادثة مع parts و role اختياري. تستخدم الوسائط inlineData / inline_data أو fileData / file_data. لا يمكن استخدام معرّفات Files وCache التي أنشأتها TokenLab إلا في مساحة العمل المالكة لها.

systemInstructionobject

تعليمات النظام للنموذج.

generationConfigobject

إعدادات توليد مثل temperature و topP و topK و maxOutputTokens و stopSequences و candidateCount و responseModalities و responseMimeType و responseSchema و thinkingConfig. تُقبل أيضًا أسماء snake_case المقابلة. تعتمد القيم والتركيبات على النموذج.

safetySettingsarray

إعدادات فلاتر الأمان.

الاستجابة

candidatesarray

مرشحو المحتوى الذي تم إنشاؤه.

usageMetadataobject

معلومات استخدام الـ token.

الطلب

curl -X POST "https://api.tokenlab.sh/v1beta/models/gemini-2.5-pro:generateContent?key=sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "parts": [{"text": "Hello, Gemini!"}]
      }
    ],
    "generationConfig": {
      "temperature": 0.7,
      "maxOutputTokens": 1024
    }
  }'

أمثلة الإدخال متعدد الوسائط

في طلبات Gemini متعددة الوسائط، ضع الوسائط داخل contents[].parts[] باستخدام بايتات مضمّنة أو مراجع ملفات عبر URL.

فئات الوسائط المدعومة حالياً في تفاصيل النموذج لـ Gemini:

  • صورة
  • صوت
  • فيديو

بالنسبة إلى الوسائط المضمّنة، استخدم inlineData أو inline_data ومرّر بايتات الملف بترميز Base64.

بالنسبة إلى الوسائط عبر URL، استخدم fileData أو file_data ومرّر عنوان https عاماً يمكن الوصول إليه.

مثال إدخال صورة

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "يرجى وصف هذه الصورة." },
        {
          "inlineData": {
            "mimeType": "image/jpeg",
            "data": "/9j/4AAQSkZJRgABAQ..."
          }
        }
      ]
    }
  ]
}

مثال إدخال صوت

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "يرجى تفريغ هذا الصوت وتلخيصه." },
        {
          "file_data": {
            "mime_type": "audio/mpeg",
            "file_uri": "https://example.com/sample.mp3"
          }
        }
      ]
    }
  ]
}

مثال إدخال فيديو

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "يرجى وصف هذا الفيديو بإيجاز." },
        {
          "fileData": {
            "mimeType": "video/mp4",
            "fileUri": "https://example.com/sample.mp4"
          }
        }
      ]
    }
  ]
}

الاستجابة

Response
{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {"text": "Hello! How can I assist you today?"}
        ]
      },
      "finishReason": "STOP",
      "safetyRatings": [
        {"category": "HARM_CATEGORY_HARASSMENT", "probability": "NEGLIGIBLE"}
      ]
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 5,
    "candidatesTokenCount": 10,
    "totalTokenCount": 15
  }
}

مثال إدخال الفيديو

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Please describe this video." },
        {
          "fileData": {
            "mimeType": "video/mp4",
            "fileUri": "https://example.com/demo.mp4"
          }
        }
      ]
    }
  ]
}

مثال إدخال الصوت

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Please describe this audio." },
        {
          "fileData": {
            "mimeType": "audio/mpeg",
            "fileUri": "https://example.com/demo.mp3"
          }
        }
      ]
    }
  ]
}

التفويض

BearerAuth
AuthorizationBearer <token>

مصادقة مفتاح API. قم بإنشاء أو إدارة مفاتيح API في Dashboard > API > API Keys.

الموضع: header

معاملات المسار

model*string

اسم النموذج (مثال: gemini-2.5-pro)

معاملات الاستعلام

key?string

مفتاح API (بديل لمصادقة الرأس)

الترويسات

X-TokenLab-Delivery-Policy?string

سياسة التسليم لكل طلب. تتجاوز إعدادات API key و Workspace الافتراضية. يحاول النظام تلقائياً استخدام TokenLab Verified أولاً، وقد ينتقل مرة واحدة إلى Official فقط قبل المخرجات، أو قبول الطلب، أو إنشاء مورد دائم.

القيم المتاحة

  • "auto"
  • "verified"
  • "official"

جسم الطلب

application/json

طلب Gemini GenerateContent الأصلي. يتم قبول والحفاظ على كل من أسماء ProtoJSON بصيغة lowerCamelCase وأسماء proto الأصلية بصيغة snake_case، بما في ذلك الطلبات المختلطة. إذا كان كلا تهجئتي الحقل موجودتين، فإن TokenLab لا تقوم بدمجهما أو اختيار أولوية محلية. يتم إعادة توجيه الحقول غير المعروفة على أساس بذل أفضل جهد.

الاستجابة

application/json

application/json

application/json

application/json

application/json

application/json