curl --request POST \
--url https://direct.evolink.ai/v1/responses \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "gpt-6.1-sol",
"input": "量子もつれを一文で説明してください。"
}
'import requests
url = "https://direct.evolink.ai/v1/responses"
payload = {
"model": "gpt-6.1-sol",
"input": "量子もつれを一文で説明してください。"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({model: 'gpt-6.1-sol', input: '量子もつれを一文で説明してください。'})
};
fetch('https://direct.evolink.ai/v1/responses', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://direct.evolink.ai/v1/responses",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model' => 'gpt-6.1-sol',
'input' => '量子もつれを一文で説明してください。'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://direct.evolink.ai/v1/responses"
payload := strings.NewReader("{\n \"model\": \"gpt-6.1-sol\",\n \"input\": \"量子もつれを一文で説明してください。\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://direct.evolink.ai/v1/responses")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"gpt-6.1-sol\",\n \"input\": \"量子もつれを一文で説明してください。\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://direct.evolink.ai/v1/responses")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"gpt-6.1-sol\",\n \"input\": \"量子もつれを一文で説明してください。\"\n}"
response = http.request(request)
puts response.read_body{
"id": "resp_0f5c2b2c20c39e8a006a7ef545443081979e478b10927984b5",
"object": "response",
"status": "completed",
"model": "gpt-6.1-sol",
"created_at": 1786705221,
"output": [
{
"id": "<string>",
"type": "web_search_call",
"status": "completed",
"content": [
{}
],
"encrypted_content": "<string>",
"result": "<string>"
}
],
"incomplete_details": {},
"usage": {
"input_tokens": 18,
"output_tokens": 42,
"total_tokens": 60,
"input_tokens_details": {
"cached_tokens": 0,
"cache_write_tokens": 0
},
"output_tokens_details": {
"reasoning_tokens": 16
}
},
"tool_usage": {
"image_gen": {
"input_tokens": 74,
"input_tokens_details": {},
"output_tokens": 196,
"output_tokens_details": {},
"total_tokens": 270
}
},
"metadata": {}
}{
"error": {
"code": 400,
"message": "Invalid value: '__bogus__'. Supported values are: 'auto' and 'disabled'.",
"type": "invalid_request_error",
"param": "truncation"
}
}{
"error": {
"code": 401,
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": 402,
"message": "Insufficient quota",
"type": "insufficient_quota_error",
"fallback_suggestion": "https://evolink.ai/dashboard/credits"
}
}{
"error": {
"code": 429,
"message": "Rate limit exceeded",
"type": "rate_limit_error",
"fallback_suggestion": "retry after 60 seconds"
}
}{
"error": {
"code": 500,
"message": "Internal server error",
"type": "internal_server_error",
"fallback_suggestion": "try again later"
}
}{
"error": {
"code": 503,
"message": "Service temporarily unavailable",
"type": "service_unavailable_error",
"fallback_suggestion": "retry after 30 seconds"
}
}GPT 全モデルインターフェース - Responses 完全なパラメータ
- GPT シリーズのテキストモデル向け OpenAI 互換 Responses API。具体的なモデルは
modelで選択します(指定可能な値はすべてmodelパラメータの対照表を参照) - 全シリーズが推論モデルで、推論の深さは
reasoning.effortで制御します。推論 token は出力 token として課金されます - Prompt キャッシュは自動的に有効:キャッシュにヒットした入力 token はより安いキャッシュ料金で課金されます
- 同期モードとストリーミング(SSE)モードに対応
- サーバーサイドツール:
web_search(ウェブ検索)、code_interpreter(コード実行)、file_search(ドキュメント検索) - 組み込み画像生成ツール:
image_generation(gpt-6-astra/gpt-6.1-sol/gpt-6-sol/gpt-6-lunaのみ)。会話の中で直接画像を生成・編集できます - 通常の
functionツール(クライアント側の関数呼び出し)にも対応 - 複数ターンの会話は
previous_response_idでつなげられます - 注意 一部のパラメータは対応範囲がモデルごとに異なります。詳細は下記の各パラメータの説明をご覧ください
curl --request POST \
--url https://direct.evolink.ai/v1/responses \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "gpt-6.1-sol",
"input": "量子もつれを一文で説明してください。"
}
'import requests
url = "https://direct.evolink.ai/v1/responses"
payload = {
"model": "gpt-6.1-sol",
"input": "量子もつれを一文で説明してください。"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({model: 'gpt-6.1-sol', input: '量子もつれを一文で説明してください。'})
};
fetch('https://direct.evolink.ai/v1/responses', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://direct.evolink.ai/v1/responses",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model' => 'gpt-6.1-sol',
'input' => '量子もつれを一文で説明してください。'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://direct.evolink.ai/v1/responses"
payload := strings.NewReader("{\n \"model\": \"gpt-6.1-sol\",\n \"input\": \"量子もつれを一文で説明してください。\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://direct.evolink.ai/v1/responses")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"gpt-6.1-sol\",\n \"input\": \"量子もつれを一文で説明してください。\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://direct.evolink.ai/v1/responses")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"gpt-6.1-sol\",\n \"input\": \"量子もつれを一文で説明してください。\"\n}"
response = http.request(request)
puts response.read_body{
"id": "resp_0f5c2b2c20c39e8a006a7ef545443081979e478b10927984b5",
"object": "response",
"status": "completed",
"model": "gpt-6.1-sol",
"created_at": 1786705221,
"output": [
{
"id": "<string>",
"type": "web_search_call",
"status": "completed",
"content": [
{}
],
"encrypted_content": "<string>",
"result": "<string>"
}
],
"incomplete_details": {},
"usage": {
"input_tokens": 18,
"output_tokens": 42,
"total_tokens": 60,
"input_tokens_details": {
"cached_tokens": 0,
"cache_write_tokens": 0
},
"output_tokens_details": {
"reasoning_tokens": 16
}
},
"tool_usage": {
"image_gen": {
"input_tokens": 74,
"input_tokens_details": {},
"output_tokens": 196,
"output_tokens_details": {},
"total_tokens": 270
}
},
"metadata": {}
}{
"error": {
"code": 400,
"message": "Invalid value: '__bogus__'. Supported values are: 'auto' and 'disabled'.",
"type": "invalid_request_error",
"param": "truncation"
}
}{
"error": {
"code": 401,
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": 402,
"message": "Insufficient quota",
"type": "insufficient_quota_error",
"fallback_suggestion": "https://evolink.ai/dashboard/credits"
}
}{
"error": {
"code": 429,
"message": "Rate limit exceeded",
"type": "rate_limit_error",
"fallback_suggestion": "retry after 60 seconds"
}
}{
"error": {
"code": 500,
"message": "Internal server error",
"type": "internal_server_error",
"fallback_suggestion": "try again later"
}
}{
"error": {
"code": 503,
"message": "Service temporarily unavailable",
"type": "service_unavailable_error",
"fallback_suggestion": "retry after 30 seconds"
}
}https://direct.evolink.ai で、テキストモデルへの対応が優れており、長時間接続をサポートします。https://api.evolink.ai はマルチモーダルの主力エンドポイントで、テキストモデルに対しては代替アドレスとして使用されます。web_search、code_interpreter、file_search、mcp)はサーバー側で実行されるためクライアントが結果を返す必要はなく、この API でのみ提供されます。Chat Completions エンドポイントは通常の function ツール呼び出しのみに対応します。background: true によるバックグラウンド非同期モードには対応しておらず、レスポンス ID による取得・キャンセル・削除のエンドポイントも提供していません。長時間の生成が必要な場合は stream: true を使って接続を維持してください。組み込み画像生成ツール image_generation は現在 gpt-6-astra / gpt-6.1-sol / gpt-6-sol / gpt-6-luna のみに対応しており、ほかのモデルでは利用できません。画像を単独で生成する場合は、画像シリーズのモデル API も利用できます。gpt-6-astra / gpt-6.1-sol / gpt-6-sol / gpt-6-luna で直接画像を生成:tools に {"type": "image_generation"} を宣言すると、モデルが会話の中で必要に応じて画像を生成します。- 画像モデルの選択:ツールの
modelフィールドでgpt-image-2(デフォルト)、gpt-image-2.5-sunburst、gpt-image-2.5-flareを指定できます。quality、size、partial_imagesなどは画像モデルの公式パラメータと同じです(xhigh/maxは 2.5 シリーズのみ対応) - 画像の取得:画像は
output内のtypeがimage_generation_callの項目のresultフィールドに base64 で返されます。URL ではないため、ご自身で保存してください - 画像編集:
inputにinput_image(公開 URL またはdata:image/png;base64,...)を含め、テキストで変更内容を説明してください - 複数ターンでの画像編集:前のターンの
idをprevious_response_idに指定し、希望する変更内容を説明してください - ストリーミング:
partial_images(0~3)を設定すると、生成中にプレビューイベントresponse.image_generation_call.partial_imageを受信できます - 枚数の上限:
max_tool_callsを省略すると、1 回のリクエストで最大 4 枚まで生成できます。それ以上必要な場合は明示的に設定してください - 課金:テキストと画像生成は、それぞれ token 単位で課金されます。画像生成の token 使用量はレスポンスの
tool_usage.image_genに表示されます
{
"model": "gpt-6.1-sol",
"input": "窓辺に座る茶トラ猫を水彩画風に描いてください",
"tools": [{"type": "image_generation", "model": "gpt-image-2", "quality": "low", "size": "1024x1024"}]
}
id を次のターンの previous_response_id に指定すれば、コンテキストを引き継げます。レスポンスには保持期限があり、期限が切れるとその ID は無効になり、リクエストは新しい会話として処理されます。コンテキストの正確性が強く求められる場面では、input の履歴全体をご自身で管理することを推奨します。承認
##すべてのAPIにBearer Token認証が必要です##
APIキーの取得:
APIキー管理ページにアクセスしてAPIキーを取得してください
リクエストヘッダーに追加:
Authorization: Bearer YOUR_API_KEY
ボディ
呼び出すモデル:
| モデル ID | コンテキストウィンドウ | 位置づけ |
|---|---|---|
gpt-6.1-sol | 1,050,000 | Sol の新版:より低コストで Astra に近い性能(推奨) |
gpt-6-astra | 1,050,000 | 高難度のエンドツーエンド作業向けフラッグシップ推論、組み込み画像生成ツール image_generation に対応 |
gpt-6-sol | 1,050,000 | 複雑なコーディングとエージェントワークフロー |
gpt-6-luna | 1,050,000 | 大量の分類・情報抽出とコスト効率 |
gpt-5.6-sol | 1,050,000 | GPT-5.6 ファミリー、最先端の推論 |
gpt-5.6-terra | 1,050,000 | GPT-5.6 ファミリー、バランス型の本番運用 |
gpt-5.6-luna | 1,050,000 | GPT-5.6 ファミリー、高スループットとコスト管理 |
gpt-5.5 | 400,000 | 汎用推論モデル |
gpt-5.4 | 128,000 | 汎用推論モデル |
gpt-5.2 | 400,000 | 汎用推論モデル |
gpt-5.1 | 400,000 | 汎用推論モデル |
gpt-6.1-sol, gpt-6-astra, gpt-6-sol, gpt-6-luna, gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna, gpt-5.5, gpt-5.4, gpt-5.2, gpt-5.1 "gpt-6.1-sol"
モデル入力:単なる文字列、または入力項目の配列。
入力項目の content は input_text(テキスト)と input_image(画像)の 2 種類のブロックに対応しています:
"input": [
{
"role": "user",
"content": [
{ "type": "input_text", "text": "この画像には何が写っていますか?" },
{
"type": "input_image",
"image_url": "https://example.com/photo.png",
"detail": "auto"
}
]
}
]
画像
image_urlに画像の公開 URL を渡しますimage_urlは必ず文字列で指定します。{ "url": "..." }と書くと400が返されますdetailはimage_urlと同じ階層に置きます(その中に入れ子にはしません)。auto(デフォルト)/low/high/original- 画像は正常にダウンロードできる必要があり、できない場合は
400が返されます
ツール結果
- 配列には前のターンの
function_call_outputなどのツール結果項目を差し戻すこともできます
注意 この API のブロックの種類は Chat Completions API とは異なります(Chat は text / image_url を使用)。両者は混在させられず、誤って指定すると 400 が返されます。
"Search for AI news from the past week and summarize it in three sentences."
システムレベルの指示。input の先頭にシステムメッセージを 1 件挿入するのと同等です。previous_response_id で会話を継続する場合、このパラメータは前のターンから引き継がれないため、毎ターン渡す必要があります。
"You are a concise assistant. Answer in no more than three sentences."
ストリーミングでレスポンスを返すかどうか(SSE イベント。response.completed で終了)。デフォルトは false。
false
生成する最大 token 数(推論 token を含む)。上限に達した場合、status は incomplete になります。
GPT-6 Astra / Sol / Luna と GPT-6.1 Sol の最大出力は、推論 token を含め 128,000 tokens です。
2048
推論の制御。
effort(推論の深さ)の指定可能な値はモデルによって異なります:
| モデル | 指定可能な値 |
|---|---|
gpt-6-astra / gpt-6.1-sol | low、medium、high、xhigh、max |
gpt-6-sol / gpt-6-luna | none、low、medium、high、xhigh、max |
gpt-5.6-sol / gpt-5.6-terra / gpt-5.6-luna | none、low、medium、high、xhigh、max |
gpt-5.5 / gpt-5.4 / gpt-5.2 | none、low、medium、high、xhigh |
gpt-5.1 | none、low、medium、high |
summary(推論サマリー):auto / concise / detailed。
GPT-6 Sol / Luna と GPT-6.1 Sol:このパラメータの対応範囲は未確認です。基本的なリクエストでは省略してください。
mode(推論モード):standard / pro。gpt-6-astra / gpt-6-sol / gpt-6-luna と gpt-5.6 ファミリーが対応。
GPT-6.1 Sol:このパラメータの対応範囲は未確認です。基本的なリクエストでは省略してください。
context(推論のコンテキスト範囲):auto / current_turn / all_turns。gpt-6-astra と gpt-5.6 ファミリーが対応。
GPT-6 Sol / Luna と GPT-6.1 Sol:このパラメータの対応範囲は未確認です。基本的なリクエストでは省略してください。
推論 token は出力 token として課金され、usage.output_tokens_details.reasoning_tokens に計上されます。
GPT-6 Sol / Luna に対応:model に gpt-6-sol または gpt-6-luna を指定します。両モデルのコンテキストは 1,050,000 tokens、最大出力は推論を含め 128,000 tokens です。reasoning.effort は none、low、medium(デフォルト)、high、xhigh、max に対応します。Astra と 6.1 Sol は none 非対応です。推論とツールを併用する場合はこの API を使用してください。
Show child attributes
Show child attributes
出力テキストの制御:
format:{"type": "text"}(デフォルト)、{"type": "json_object"}、または構造化結果を出力する{"type": "json_schema", "name": "...", "schema": {...}, "strict": true}verbosity:low/medium/high。回答の詳しさを制御します
text.verbosity — GPT-6 Sol / Luna と GPT-6.1 Sol:このパラメータの対応範囲は未確認です。基本的なリクエストでは省略してください。
Show child attributes
Show child attributes
ツールの宣言。サーバーサイドツールはサーバー側で実行されるため、クライアントが結果を返す必要はありません:
| ツールの種類 | 機能 |
|---|---|
web_search | ウェブ検索とページの閲覧(別名 web_search_preview) |
code_interpreter | サンドボックスでコードを実行。"container": {"type": "auto"} が必要 |
file_search | 作成済みのベクトルストアを検索。vector_store_ids が必要 |
mcp | リモートの MCP サービスに接続。server_label と server_url が必要 |
image_generation | 会話内で画像を生成・編集し、base64 で返します(gpt-6-astra / gpt-6.1-sol / gpt-6-sol / gpt-6-luna のみ) |
通常の function ツール(クライアント側の関数呼び出し)にも対応しています。
注意 組み込み画像生成ツール image_generation は現在 gpt-6-astra / gpt-6.1-sol / gpt-6-sol / gpt-6-luna のみに対応しており、ほかのモデルでは利用できません。画像を単独で生成する場合は、画像シリーズのモデル API も利用できます。
Show child attributes
Show child attributes
[{ "type": "web_search" }]
ツールの選択を制御します:"auto"(デフォルト)/ "none" / "required"、または特定のツールを指定するオブジェクト(例:{"type": "web_search"})。
none, auto, required このレスポンスで許可されるツール呼び出しの合計回数の上限(すべての組み込みツールの合計)。
注意 gpt-6-astra / gpt-6.1-sol / gpt-6-sol / gpt-6-luna で image_generation を使用し、このパラメータを省略した場合、1 回のリクエストで生成できる画像は最大 4 枚です。それ以上必要な場合は明示的に設定してください。
5
1 ターン内でモデルが複数のツールを並列に呼び出せるかどうか。デフォルトは true。
GPT-6 Sol / Luna と GPT-6.1 Sol:このパラメータの対応範囲は未確認です。基本的なリクエストでは省略してください。
以下は GPT-6 Sol / Luna と GPT-6.1 Sol を除く既存モデルの仕様です:
注意 gpt-6-astra、gpt-5.6 ファミリー、gpt-5.5 は false に設定できます。gpt-5.4 / gpt-5.2 / gpt-5.1 ではこのパラメータは効果がなく、常に true として動作します。
true
前のレスポンスの id。複数ターンの会話をつなげるために使用し、履歴メッセージを再送信する必要がなくなります。
注意 store: true(デフォルト値)と併用する必要があります。レスポンスには保持期限があり、期限が切れるとその ID は無効になります。この場合、リクエストは新しい会話として処理され、コンテキストは引き継がれません。コンテキストの正確性が強く求められる場面では、input の履歴全体をご自身で管理することを推奨します。
"resp_0f5c2b2c20c39e8a006a7ef545443081979e478b10927984b5"
このレスポンスをサーバー側に保持するかどうか。保持されたレスポンスのみ previous_response_id から参照できます。デフォルトは true。
GPT-6 Sol / Luna と GPT-6.1 Sol:store: false による保存の無効化は、利用可能なチャネルで未検証です。フィールドが受け付けられても、応答が保存されなかったことの証明にはなりません。
以下は GPT-6 Sol / Luna と GPT-6.1 Sol を除く既存モデルの仕様です:
注意 gpt-6-astra、gpt-5.6 ファミリー、gpt-5.5 は false に設定できます。gpt-5.4 / gpt-5.2 / gpt-5.1 ではこのパラメータは効果がなく、常に true として動作します。レスポンスを保存しない場合は、保存を無効化できるモデルを選択してください。
true
レスポンスに追加で返すよう要求する内容。指定可能な値:
reasoning.encrypted_contentmessage.output_text.logprobsweb_search_call.resultsweb_search_call.action.sourcesfile_search_call.resultscode_interpreter_call.outputsmessage.input_image.image_urlcomputer_call_output.output.image_url
注意 gpt-6-astra と gpt-6.1-sol は message.output_text.logprobs に対応していません。
GPT-6:Astra と 6.1 Sol は出力 logprobs 非対応です。Sol / Luna では推論レベル none の場合のみ使用してください。他のレベルでは logprobs、top_logprobs、Responses の include 内の message.output_text.logprobs を削除してください。
["reasoning.encrypted_content"]
サンプリング温度。値の範囲は 0 ~ 2。値が低いほど出力が決定的になります。
GPT-6:gpt-6-astra と gpt-6.1-sol ではこのパラメータを省略してください。gpt-6-sol / gpt-6-luna では推論レベル none の場合のみ調整できます。他のレベルでは省略してください。推論レベルを省略すると none ではなく medium になります。
既存モデル:gpt-5.4 / gpt-5.2 / gpt-5.1 は temperature: 0 をデフォルト値 1 として扱います。より決定的な出力には 0.01 などの正の値を使用してください。
0 <= x <= 21
Nucleus サンプリングのパラメータ。値の範囲は 0 ~ 1。temperature と同時に調整しないことを推奨します。
GPT-6:gpt-6-astra と gpt-6.1-sol ではこのパラメータを省略してください。gpt-6-sol / gpt-6-luna では推論レベル none の場合のみ調整できます。他のレベルでは省略してください。推論レベルを省略すると none ではなく medium になります。
0 <= x <= 11
各位置で返される候補 token の数。値の範囲は 0 ~ 20。include: ["message.output_text.logprobs"] と併用する必要があります。
GPT-6:Astra と 6.1 Sol は出力 logprobs 非対応です。Sol / Luna では推論レベル none の場合のみ使用してください。他のレベルでは logprobs、top_logprobs、Responses の include 内の message.output_text.logprobs を削除してください。
以下は GPT-6 Sol / Luna と GPT-6.1 Sol を除く既存モデルの仕様です:
注意 gpt-5.6 ファミリーと gpt-5.5 のみ対応。その他のモデルはこのパラメータに対応していません。
0 <= x <= 202
Frequency ペナルティ。値の範囲は -2 ~ 2。内容の繰り返しが起きる確率を下げます。
GPT-6 Sol / Luna と GPT-6.1 Sol:このパラメータの対応範囲は未確認です。基本的なリクエストでは省略してください。
以下は GPT-6 Sol / Luna と GPT-6.1 Sol を除く既存モデルの仕様です:
注意 gpt-5.6 ファミリーでは調整できます。その他の既存モデルはこのパラメータに対応していません。GPT-6 Astra では調整できず、デフォルト値 0 のみを受け付け、それ以外の値を渡すと 400 が返されます。
-2 <= x <= 20
Presence ペナルティ。値の範囲は -2 ~ 2。モデルが新しい話題に触れることを促します。
GPT-6 Sol / Luna と GPT-6.1 Sol:このパラメータの対応範囲は未確認です。基本的なリクエストでは省略してください。
以下は GPT-6 Sol / Luna と GPT-6.1 Sol を除く既存モデルの仕様です:
注意 gpt-5.6 ファミリーでは調整できます。その他の既存モデルはこのパラメータに対応していません。GPT-6 Astra では調整できず、デフォルト値 0 のみを受け付け、それ以外の値を渡すと 400 が返されます。
-2 <= x <= 20
コンテキストがウィンドウを超えた場合の処理方法:disabled(デフォルト。そのままエラーを返す)または auto(中間部分を自動的に切り詰める)。
auto, disabled "auto"
長い会話の自動圧縮設定。例:[{"type": "compaction", "compact_threshold": 100000}]。コンテキストがしきい値を超えると履歴が自動的に圧縮されます。
注意 gpt-6-astra / gpt-6-sol / gpt-6-luna と gpt-5.6 ファミリーのみ対応しています。その他のモデルはこのパラメータに対応していません。
GPT-6.1 Sol:このパラメータの対応範囲は未確認です。基本的なリクエストでは省略してください。
キャッシュのグループキーです。GPT-6 / GPT-5.6 はルーティングを自動処理するため、その最適化にこの値は不要です。顧客やユーザーごとの再利用と課金を分けるには別々のキーを使用できます。プレフィックスを共有するリクエストではキーを固定してください。旧モデルでは安定したキーがキャッシュのルーティングに役立ちます。
"app-agent-v1"
旧モデルのキャッシュ保持設定。GPT-6 / GPT-5.6 では prompt_cache_options.ttl: "30m" を使用し、新しいフィールドに 24h を指定しないでください。
in_memory, 24h "in_memory"
作成済みの Prompt テンプレートを参照します。形式は {"id": "pmpt_xxx", "version": "1", "variables": {...}}。
Show child attributes
Show child attributes
カスタムのキーと値のペア。レスポンスにそのまま返されるため、業務側でのタグ付けに便利です。キーと値はいずれも文字列です。
{ "trace_id": "abc-123" }
エンドユーザーの安定した識別子。不正利用の追跡に使用します。
GPT-6 Sol / Luna と GPT-6.1 Sol:このパラメータの対応範囲は未確認です。基本的なリクエストでは省略してください。
以下は GPT-6 Sol / Luna と GPT-6.1 Sol を除く既存モデルの仕様です:
注意 gpt-6-astra と gpt-5.6 ファミリーのみ対応しています。その他のモデルはこのパラメータに対応していません。
"user-1024"
エンドユーザー識別子。呼び出し元を区別するために使用します。
"user-1024"
GPT-6 / GPT-5.6 のキャッシュ設定。デフォルトは暗黙のブレークポイントです。mode: "explicit" は明示したブレークポイントのみ使用し、未指定ならキャッシュされません。
Show child attributes
Show child attributes
{ "ttl": "30m", "mode": "implicit" }
レスポンス
レスポンス生成成功(JSON オブジェクト、または stream=true の場合は response.completed で終わる SSE イベントストリーム)
このレスポンスの一意の ID。次のターンの previous_response_id として使用できます
"resp_0f5c2b2c20c39e8a006a7ef545443081979e478b10927984b5"
レスポンスタイプ
response "response"
レスポンスのステータス:completed は正常終了、incomplete は max_output_tokens への到達などの理由で完了しなかった状態、failed は生成失敗
completed, incomplete, failed "completed"
実際に使用されたモデル名
"gpt-6.1-sol"
作成タイムスタンプ
1786705221
生成順に並んだ出力項目:reasoning 項目(推論サマリー / 暗号化された推論内容)、ツール呼び出し項目(web_search_call、code_interpreter_call、image_generation_call など)、そして最後に output_text の内容を含む message 項目。
Show child attributes
Show child attributes
status が incomplete の場合にその理由を示します
組み込みツールの使用量。image_generation を使用する場合、image_gen は画像生成で消費した token を示します。usage とは別に集計され、token 単位で別途課金されます
Show child attributes
Show child attributes
リクエストで渡したカスタムのキーと値のペア。そのまま返されます