Chat Completions
MarkdownOpenAI形式の、会話に対するモデルのレスポンス。最も広く使われている形式で、ほぼすべてのクライアントが対応しています。
完全ガイド
https://api.ailoot.ai/v1/chat/completionscurl https://api.ailoot.ai/v1/chat/completions \
-H "Authorization: Bearer $AILOOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-5-5",
"messages": [
{"role": "user", "content": "APIとは何か、二文で説明してください。"}
]
}' from openai import OpenAI
import os
client = OpenAI(max_retries=0,
base_url="https://api.ailoot.ai/v1",
api_key=os.environ["AILOOT_API_KEY"],
)
resp = client.chat.completions.create(
model="claude-sonnet-5-5",
messages=[{"role": "user", "content": "APIとは何か、二文で説明してください。"}],
)
print(resp.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({ maxRetries: 0,
baseURL: "https://api.ailoot.ai/v1",
apiKey: process.env.AILOOT_API_KEY,
});
const resp = await client.chat.completions.create({
model: "claude-sonnet-5-5",
messages: [{ role: "user", content: "APIとは何か、二文で説明してください。" }],
});
console.log(resp.choices[0].message.content);{
"id": "chatcmpl-8f2c…",
"object": "chat.completion",
"created": 1790812800,
"model": "claude-sonnet-5-5",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "APIとは、あるプログラムが別のプログラムに処理を依頼する方法についての取り決めです…"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 21,
"completion_tokens": 48,
"total_tokens": 69
}
}認証
- Authorizationheader必須
キーの形式:
Bearer sk-…。次のヘッダーも使用できます:x-api-keyまたはx-goog-api-key。
リクエストボディ
- modelstring必須
モデルIDの参照元:カタログ。例:
claude-sonnet-5-5。モデルがOpenAI Chat形式に対応している必要があります。 - messagesarray必須
会話履歴:オブジェクトには
role(system,developer,user,assistant,tool)、contentがあり、値は文字列またはパーツの配列(テキスト、image_url). - streamboolean任意
Server-Sent Events形式のレスポンス。デフォルトは
false。課金対象のテキストは、単語ごとではなく、料金計算後に一つのブロックとして届きます。 - stream_optionsobject任意
{"include_usage": true}を指定すると、最終usageがストリームの最後のイベントとして送信されます。 - max_tokensinteger任意
レスポンスの最大トークン数。新しいフィールド名は
max_completion_tokensです。制限を指定しない場合、Ailootが4096を設定します(モデルの出力制限がそれより小さい場合は、その制限値。Grokには独自の制限があります)。長いレスポンスでは制限を明示してください。指定しなければ、4096トークンで停止し、finish_reason: "length"となります。この制限値は仮確保額に含まれるため、大きいほど多くの空き残高が必要です。 - temperaturenumber任意
レスポンスのランダム性。通常は0から2です。推論モデルでは無視されることがあります。
- top_pnumber任意
temperatureの代わりに使用するパラメータ。トークン選択に使う確率質量の割合です。
- stopstring | array任意
生成を停止する文字列。
- toolsarray任意
モデルが呼び出せる関数の定義。OpenAIと同じ形式です:
{"type": "function", "function": {...}}。 - tool_choicestring | object任意
auto,none,requiredまたは特定の関数。 - response_formatobject任意
{"type": "json_object"}または{"type": "json_schema", ...}による構造化レスポンス。モデルが対応している場合に使用できます。 - reasoning_effortstring任意
推論モデルの推論の深さ:
low,medium,high。
その他のOpenAIパラメータは、そのまま渡されます。個々のモデルが対応するかどうかは、モデル開発元が決めます。
レスポンス
- choices[].messageobject
モデルのレスポンス:
content、ツールを呼び出す場合はtool_calls。 - choices[].finish_reasonstring
stopはレスポンスの完了を示します;lengthは次の上限に達したことを示します:max_tokens(この場合もレスポンスは完全なものとして扱われ、実際の使用量に基づいて課金されます);tool_callsはモデルがツールを呼び出していることを示します。 - usageobject
prompt_tokens,completion_tokens,total_tokensに基づいて残高から差し引く金額が計算されます。