メインコンテンツへスキップ
LemonDataは、Geminiモデル向けのネイティブなGoogle Gemini API形式をサポートしています。これにより、Google AI SDKとの直接的な互換性が確保されます。

パスパラメータ

model
string
必須
モデル名 (例: gemini-2.5-progemini-2.5-flash)。For production integrations, prefer URL-based fileData / file_data media parts with a public https URL. LemonData will route supported Gemini-native channels through the native path when possible and automatically fall back to the compatible internal conversion path when a native-ready route is unavailable for that multimodal request.

クエリパラメータ

key
string
APIキー(ヘッダー認証の代替)。

認証

Geminiエンドポイントは、複数の認証方法をサポートしています:
  • ?key=YOUR_API_KEY クエリパラメータ
  • x-goog-api-key: YOUR_API_KEY ヘッダー
  • Authorization: Bearer YOUR_API_KEY ヘッダー

リクエストボディ

contents
array
必須
会話の内容。各コンテンツオブジェクトには以下が含まれます:
  • role (string):user または model
  • parts (array):コンテンツ part。LemonData では現在次をサポートします:
    • テキスト part:{ "text": "..." }
    • インライン媒体 part:inlineData / inline_data
    • URL ベースのファイル part:fileData / file_data
媒体 part では、LemonData は現在 image / audio / video の MIME type を受け付け、Gemini 互換の公共契約として下流へ転送します。
systemInstruction
object
モデルへのシステム指示。
generationConfig
object
生成設定:
  • temperature (number): サンプリング温度
  • topP (number): 核サンプリング(Nucleus sampling)確率
  • topK (integer): Top-Kサンプリング
  • maxOutputTokens (integer): 最大出力トークン数
  • stopSequences (array): 停止シーケンス
safetySettings
array
セーフティフィルター設定。

レスポンス

candidates
array
生成されたコンテンツの候補。
usageMetadata
object
トークン使用状況の情報。
curl -X POST "https://api.lemondata.cc/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 契約でサポートしている媒体カテゴリ:
  • image
  • audio
  • video
インライン媒体では inlineData または inline_data を使い、Base64 化したファイルバイトを渡します。 URL 媒体では fileData または file_data を使い、公開到達可能な https URL を渡します。

画像入力例

{
  "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"
          }
        }
      ]
    }
  ]
}
{
  "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
  }
}

Video Input Example

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

Audio Input Example

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