メインコンテンツへスキップ

リクエストボディ

model
string
必須
使用するモデルのID。利用可能なオプションについては Models を参照してください。
messages
array
必須
会話を構成するメッセージの一覧。各メッセージオブジェクトは次を含みます:
  • role (string): system, user, または assistant
  • content (string | array): メッセージの内容
content が配列の場合、LemonData は互換モデル向けに構造化されたマルチモーダルブロックをサポートします:
  • text: { "type": "text", "text": "..." }
  • image: { "type": "image_url", "image_url": { "url": "https://..." } }
  • video: { "type": "video_url", "video_url": { "url": "https://..." } }
  • audio: { "type": "audio_url", "audio_url": { "url": "https://..." } }
本番のマルチモーダルトラフィックでは、公開された https URL を優先してください。LemonData はこれらのメディアブロックを、ルーティングされた物理モデルが要求するプロバイダ固有のリクエスト形式に変換します。
temperature
number
デフォルト:"1"
0〜2 の間のサンプリング温度。値が高いほど出力はよりランダムになります。
max_tokens
integer
生成する最大トークン数。
stream
boolean
デフォルト:"false"
true の場合、部分的なメッセージ差分が SSE イベントとして送信されます。
stream_options
object
ストリーミングのオプション。include_usage: true を設定するとストリームチャンクでトークン使用量を受け取れます。
top_p
number
デフォルト:"1"
Nucleus sampling のパラメータ。temperature または top_p のどちらかを変更することを推奨します(両方は推奨されません)。
frequency_penalty
number
デフォルト:"0"
-2.0 から 2.0 の値。正の値は繰り返しトークンにペナルティを与えます。
presence_penalty
number
デフォルト:"0"
-2.0 から 2.0 の値。正の値は既にテキスト内に存在するトークンにペナルティを与えます。
stop
string | array
API がトークン生成を停止する最大 4 つのシーケンス。
tools
array
モデルが呼び出す可能性のあるツールの一覧(関数呼び出し)。
tool_choice
string | object
モデルがツールをどのように使用するかを制御します。オプション: auto, none, required, または特定のツールオブジェクト。
parallel_tool_calls
boolean
デフォルト:"true"
並列での関数呼び出しを有効にするかどうか。false にすると関数を順次呼び出します。
max_completion_tokens
integer
補完に使用される最大トークン数。max_tokens の代替で、新しい推論対応モデルファミリーに有用です。
reasoning_effort
string
推論対応モデル向けの推論努力レベル。オプション: low, medium, high
seed
integer
決定論的サンプリングのためのランダムシード。
n
integer
デフォルト:"1"
生成する補完の数 (1-128)。
logprobs
boolean
ログ確率を返すかどうか。
top_logprobs
integer
返す上位ログ確率の数 (0-20)。logprobs: true が必要です。
top_k
integer
Top-K サンプリングのパラメータ(Anthropic/Gemini モデル向け)。
response_format
object
レスポンス形式の仕様。JSON モードには {"type": "json_object"} を使用してください。{"type": "json_schema", "json_schema": {...}} は選択されたモデルとルーティングされた動作に依存するベストエフォートのパスとして扱われます。
logit_bias
object
指定したトークンが出現する可能性を変更します。トークンID(文字列)を -100 から 100 のバイアス値にマップしてください。
user
string
悪用監視のためにエンドユーザーを一意に識別する識別子。
cache_control
object
LemonData のキャッシュ制御オプション。
  • type (string): キャッシュ戦略 - default, no_cache, no_store, response_only, semantic_only
  • max_age (integer): キャッシュのTTL(秒、最大 86400)

レスポンス

id
string
補完の一意の識別子。
object
string
常に chat.completion
created
integer
補完が作成された Unix タイムスタンプ。
model
string
補完に使用されたモデル。
choices
array
補完の選択肢の一覧。各選択肢は次を含みます:
  • index (integer): 選択肢のインデックス
  • message (object): 生成されたメッセージ
  • finish_reason (string): モデルが停止した理由(stop, length, tool_calls
usage
object
トークン使用状況の統計。
  • prompt_tokens (integer): プロンプト内のトークン数
  • completion_tokens (integer): 補完内のトークン数
  • total_tokens (integer): 使用された合計トークン数
curl -X POST "https://api.lemondata.cc/v1/chat/completions" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Hello!"}
    ],
    "temperature": 0.7,
    "max_tokens": 1000
  }'

マルチモーダルの例

{
  "model": "gemini-2.5-pro",
  "messages": [
    {
      "role": "user",
      "content": [
        { "type": "text", "text": "Describe this video briefly." },
        { "type": "video_url", "video_url": { "url": "https://example.com/demo.mp4" } }
      ]
    }
  ],
  "max_tokens": 64
}
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1706000000,
  "model": "gpt-4o",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 20,
    "completion_tokens": 9,
    "total_tokens": 29
  }
}