テキスト
レスポンスの作成
OpenAI Responses API 形式を使用してレスポンスを作成します
モデル詳細の accepted_request_formats に openai_responses が含まれる場合、このエンドポイントを使用できます。リクエストとレスポンスは Responses API 形式です。オプションのフィールドと指定可能な値はモデルによって異なります。
リクエストボディ
使用するモデルの ID。利用可能なオプションは Models を参照してください。
再利用可能な prompt を使う場合、または previous_response_id で保存済みレスポンスを継続する場合、input は省略できます。
会話を構成する入力アイテムのリスト。
各アイテムは次のいずれかになります:
message: ロールとコンテンツを持つ会話メッセージfunction_call: 関数呼び出しのリクエストfunction_call_output: 関数呼び出しからの出力
マルチモーダル入力の場合、message.content はプレーンな文字列かコンテンツブロックの配列のいずれかになります。GPT-5.6 Terra 系列のような画像対応モデルでは、URL や Base64 文字列をプレーンテキストに直接埋め込むのではなく、input_image ブロックとして画像を渡してください。
例のコンテンツブロック:
{ "type": "input_text", "text": "Describe this image" }{ "type": "input_image", "image_url": "https://example.com/image.jpg" }{ "type": "input_image", "image_url": "data:image/png;base64,..." }
モデルへのシステム指示(system message と同等)。
生成する最大の token 数。
サンプリング温度。指定可能な値とデフォルト値はモデルによって異なります。
モデルが呼び出せるツール。対応する種類と組み合わせは選択したモデルによって異なります。
falsetrue の場合、イベントのストリームを返します。
会話を続けるための前回のレスポンスの ID。
true後で取得するためにレスポンスを保存するかどうか。
false非同期実行を要求します。対応状況は選択したモデルによって異なります。
再利用可能なプロンプトテンプレートと変数への参照。
追跡目的でレスポンスに添付するメタデータ。
テキスト出力の設定。text.format の対応状況は選択したモデルによって異なります。
true複数のツール呼び出しを並列で許可するかどうか。
Nucleus サンプリングのパラメータ(0〜1)。
effort を含む推論オプションは、選択したモデルによって異なります。
レスポンス
レスポンスの一意の識別子。
常に response です。
レスポンスが作成された時刻の Unix タイムスタンプ。
レスポンスの状態:queued、in_progress、completed、incomplete、failed、cancelled。HTTP リクエストが成功しても、このフィールドを確認してください。
モデルが生成した出力アイテムのリスト。
token 使用統計。
関連エンドポイント
GET /v1/responses/{id}保存済みレスポンスを取得します。include、include_obfuscation、stream、starting_afterに対応します。DELETE /v1/responses/{id}保存済みレスポンスを削除します。生成はキャンセルされません。POST /v1/responses/compactresponse.compactionオブジェクトを返します。- キャンセル、input-items、input-tokens のエンドポイントは現在利用できません。
リクエスト
curl -X POST "https://api.tokenlab.sh/v1/responses" \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.6-terra",
"input": [
{"type": "message", "role": "user", "content": "Hello!"}
],
"max_output_tokens": 1000
}'from openai import OpenAI
client = OpenAI(
api_key="sk-your-api-key",
base_url="https://api.tokenlab.sh/v1"
)
response = client.responses.create(
model="gpt-5.6-terra",
input=[
{"type": "message", "role": "user", "content": "Hello!"}
],
max_output_tokens=1000
)
print(response.output)import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'sk-your-api-key',
baseURL: 'https://api.tokenlab.sh/v1'
});
const response = await client.responses.create({
model: 'gpt-5.6-terra',
input: [
{ type: 'message', role: 'user', content: 'Hello!' }
],
max_output_tokens: 1000
});
console.log(response.output);package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
func main() {
payload := map[string]interface{}{
"model": "gpt-5.6-terra",
"input": []map[string]interface{}{
{"type": "message", "role": "user", "content": "Hello!"},
},
"max_output_tokens": 1000,
}
body, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", "https://api.tokenlab.sh/v1/responses", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer sk-your-api-key")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result["output"])
}<?php
$ch = curl_init('https://api.tokenlab.sh/v1/responses');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Authorization: Bearer sk-your-api-key'
],
CURLOPT_POSTFIELDS => json_encode([
'model' => 'gpt-5.6-terra',
'input' => [
['type' => 'message', 'role' => 'user', 'content' => 'Hello!']
],
'max_output_tokens' => 1000
])
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
print_r($data['output']);Vision 入力の例
画像対応モデルを使用する場合は、画像を message.content 内の input_image ブロックとして配置してください。image_url の値は公開 URL または Base64 データ URL のいずれかにできます。
{
"model": "gpt-5.6-terra",
"input": [
{
"type": "message",
"role": "user",
"content": [
{
"type": "input_text",
"text": "Please describe this image."
},
{
"type": "input_image",
"image_url": "https://example.com/demo.jpg"
}
]
}
]
}{
"model": "gpt-5.6-terra",
"input": [
{
"type": "message",
"role": "user",
"content": [
{
"type": "input_text",
"text": "Please describe this image."
},
{
"type": "input_image",
"image_url": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQ..."
}
]
}
]
}レスポンス
{
"id": "resp_abc123",
"object": "response",
"created_at": 1706000000,
"status": "completed",
"model": "gpt-5.6-terra",
"output": [
{
"id": "msg_abc123",
"type": "message",
"status": "completed",
"role": "assistant",
"content": [
{"type": "output_text", "text": "Hello! How can I help you today?", "annotations": []}
]
}
],
"usage": {
"input_tokens": 10,
"output_tokens": 12,
"total_tokens": 22
}
}認証
BearerAuth APIキー認証。Dashboard > API > API KeysでAPIキーを作成または管理します。
場所: header
ヘッダー
リクエストごとの配信ポリシー。APIキーおよびWorkspaceのデフォルト設定を上書きします。自動的にまず TokenLab Verified を試行し、出力、リクエストの受け入れ、または永続的なリソース作成の前に、一度だけ Official に切り替える場合があります。
指定できる値
- "auto"
- "verified"
- "official"
リクエストボディ
application/json
レスポンス
application/json
application/json
application/json