メインコンテンツへスキップ
POST
/
v1
/
responses
curl -X POST https://qingbo.dev/v1/responses \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5",
    "input": "解释一下冒泡排序算法。"
  }'
{
  "id": "resp_09e342953eda0be6006905acbcvoik1nhmezpmzzl7lex552vq",
  "object": "response",
  "created_at": 1761979488,
  "model": "gpt-5-2025-08-07",
  "status": "completed",
  "output": [
    {
      "id": "rs_09e342953eda0be6006905ac62b6f48197aefa292b7dcdd477",
      "type": "reasoning",
      "summary": []
    },
    {
      "id": "msg_09e342953eda0be6006905ac649e0081979f9859a09c70d4db",
      "type": "message",
      "role": "assistant",
      "status": "completed",
      "content": [
        {
          "type": "output_text",
          "text": "一幅温暖的插画:一只灰色虎斑猫正抱着一只带红色围巾的水獭,两只动物都闭着眼微笑,呈现亲密友好的场景。",
          "annotations": [],
          "logprobs": []
        }
      ]
  }
],
"usage": {
    "input_tokens": 642,
    "output_tokens": 184,
    "total_tokens": 826,
    "input_tokens_details": {
      "cached_tokens": 0
    },
    "output_tokens_details": {
      "reasoning_tokens": 128
    }
  },
  "reasoning": {
    "effort": "medium",
    "summary": null
  },
  "temperature": 1,
  "top_p": 1,
  "tool_choice": "auto",
  "tools": [],
  "parallel_tool_calls": true,
  "store": true,
  "service_tier": "default",
  "truncation": "disabled",
  "background": false,
  "content_filters": null,
  "error": null,
  "incomplete_details": null,
  "instructions": null,
  "max_output_tokens": null,
  "max_tool_calls": null,
  "metadata": {},
  "previous_response_id": null,
  "prompt_cache_key": null,
  "safety_identifier": null,
  "text": {
    "format": {
      "type": "text"
    },
    "verbosity": "medium"
  },
  "top_logprobs": 0,
  "user": null
}
  • OpenAI Responses API フォーマットと完全互換
  • テキストと画像のマルチモーダル入力に対応
  • ツール拡張に対応:ウェブ検索、ファイル検索、関数呼び出し、リモート MCP
curl -X POST https://qingbo.dev/v1/responses \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5",
    "input": "解释一下冒泡排序算法。"
  }'
{
  "id": "resp_09e342953eda0be6006905acbcvoik1nhmezpmzzl7lex552vq",
  "object": "response",
  "created_at": 1761979488,
  "model": "gpt-5-2025-08-07",
  "status": "completed",
  "output": [
    {
      "id": "rs_09e342953eda0be6006905ac62b6f48197aefa292b7dcdd477",
      "type": "reasoning",
      "summary": []
    },
    {
      "id": "msg_09e342953eda0be6006905ac649e0081979f9859a09c70d4db",
      "type": "message",
      "role": "assistant",
      "status": "completed",
      "content": [
        {
          "type": "output_text",
          "text": "一幅温暖的插画:一只灰色虎斑猫正抱着一只带红色围巾的水獭,两只动物都闭着眼微笑,呈现亲密友好的场景。",
          "annotations": [],
          "logprobs": []
        }
      ]
  }
],
"usage": {
    "input_tokens": 642,
    "output_tokens": 184,
    "total_tokens": 826,
    "input_tokens_details": {
      "cached_tokens": 0
    },
    "output_tokens_details": {
      "reasoning_tokens": 128
    }
  },
  "reasoning": {
    "effort": "medium",
    "summary": null
  },
  "temperature": 1,
  "top_p": 1,
  "tool_choice": "auto",
  "tools": [],
  "parallel_tool_calls": true,
  "store": true,
  "service_tier": "default",
  "truncation": "disabled",
  "background": false,
  "content_filters": null,
  "error": null,
  "incomplete_details": null,
  "instructions": null,
  "max_output_tokens": null,
  "max_tool_calls": null,
  "metadata": {},
  "previous_response_id": null,
  "prompt_cache_key": null,
  "safety_identifier": null,
  "text": {
    "format": {
      "type": "text"
    },
    "verbosity": "medium"
  },
  "top_logprobs": 0,
  "user": null
}

Authorizations

Authorization
string
必須
全てのインターフェースで Bearer Token 認証が必要ですAPI Key の取得:API Key 管理ページ にアクセスして API Key を取得してくださいリクエストヘッダーに以下を追加してください:
Authorization: Bearer YOUR_API_KEY

Body

model
string
必須
モデル名対応モデル:
  • gpt-5 - OpenAI 最新マルチモーダルモデル
  • gpt-4o - GPT-4 最適化版マルチモーダルモデル
  • gpt-4-vision - GPT-4 視覚理解モデル
  • その他のモデルも随時追加中…
input
string or array
必須
入力コンテンツ、文字列またはメッセージ配列に対応文字列はシンプルなテキスト入力、配列形式ではマルチターン対話やマルチモーダルに対応:
tools
array
ツールリスト、オプション設定対応ツールタイプ:
  • web_search - ウェブ検索
  • file_search - ファイル検索
  • function - 関数呼び出し
  • remote_mcp - リモート MCP サービス
temperature
number
出力のランダム性を制御、範囲 0-2デフォルト値:1.0
max_tokens
integer
生成する最大 Token 数
stream
boolean
ストリーミング出力を使用するかどうかデフォルト値:false

Response

id
string
レスポンスの一意識別子
object
string
オブジェクトタイプ、固定値 response
created_at
integer
作成タイムスタンプ
model
string
実際に使用されたモデル名(例:gpt-5-2025-08-07
status
string
レスポンスステータス可能な値:
  • completed - 完了
  • in_progress - 処理中
  • failed - 失敗
  • cancelled - キャンセル済み
output
array
出力コンテンツ配列
usage
object
Token 使用統計
reasoning
object
推論設定情報(思考モデル専用)
temperature
number
実際に使用されたサンプリング温度
top_p
number
実際に使用された核サンプリングパラメータ
tool_choice
string
ツール選択戦略
tools
array
使用されたツールリスト
parallel_tool_calls
boolean
並列ツール呼び出しを許可するかどうか
store
boolean
会話履歴を保存するかどうか
service_tier
string
サービスティア
truncation
string
切り詰めポリシー
text
object
テキストフォーマット設定
background
boolean
バックグラウンドタスクかどうか
error
object
エラー情報(該当する場合)
metadata
object
メタデータ情報

使用例

画像分析

{
  "model": "gpt-5",
  "input": [
    {
      "role": "user",
      "content": [
        {
          "type": "input_text",
          "text": "这张图片里有什么?请详细描述"
        },
        {
          "type": "input_image",
          "image_url": "https://example.com/image.jpg"
        }
      ]
    }
  ]
}

動画分析

{
  "model": "gemini-2.5-pro",
  "input": [
    {
      "role": "user",
      "content": [
        {
          "type": "input_text",
          "text": "分析一下这个视频的内容"
        },
        {
          "type": "input_video",
          "video_url": "https://example.com/video.mp4"
        }
      ]
    }
  ],
  "max_tokens": 5000
}

ウェブ検索ツールの使用

{
  "model": "gpt-5",
  "tools": [
    {"type": "web_search"}
  ],
  "input": [
    {
      "role": "user",
      "content": [
        {
          "type": "input_text",
          "text": "2025年最新的AI技术趋势是什么?"
        }
      ]
    }
  ]
}

関数呼び出しの使用

{
  "model": "gpt-5",
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "get_weather",
        "description": "获取城市天气信息",
        "parameters": {
          "type": "object",
          "properties": {
            "city": {
              "type": "string",
              "description": "城市名称,例如:北京"
            }
          },
          "required": ["city"]
        }
      }
    }
  ],
  "input": "北京今天天气怎么样?"
}

コンテンツタイプの説明

input_text

テキスト入力タイプ 属性:
  • type: 固定値 "input_text"
  • text: テキスト内容(文字列)

input_image

画像入力タイプ 属性:
  • type: 固定値 "input_image"
  • image_url: 画像 URL または Base64 エンコードされたデータ URI
対応画像フォーマット:
  • JPEG
  • PNG
  • GIF
  • WebP
画像サイズ制限:
  • 最大ファイルサイズ:20MB
  • 推奨解像度:2048x2048 ピクセル以下

input_video

動画入力タイプ(一部のモデルで対応) 属性:
  • type: 固定値 "input_video"
  • video_url: 動画 URL
対応動画フォーマット:
  • MP4
  • MOV
  • AVI
  • WebM
動画サイズ制限:
  • 最大ファイルサイズ:200MB
  • 最大長さ:10分
  • 推奨解像度:1080p

ツール使用の詳細

ウェブ検索ツールを使用すると、モデルがリアルタイムのインターネット情報にアクセスできます。 設定例:
{
  "tools": [{"type": "web_search"}]
}
適用シーン:
  • 最新のニュースや時事情報の照会
  • リアルタイムデータの取得(株価、天気、為替レートなど)
  • 最新の技術ドキュメントや資料の検索
  • 事実情報の検証
ファイル検索ツールにより、モデルがアップロード済みドキュメント内の関連情報を検索できます。 設定例:
{
  "tools": [{"type": "file_search"}]
}
適用シーン:
  • 企業内部ドキュメントの分析
  • 技術仕様やマニュアルの検索
  • 契約書や法律文書の照会
  • ナレッジベース QA システム

関数呼び出し (Function Calling)

カスタム関数を定義し、モデルが外部 API を呼び出したり特定の操作を実行できるようにします。 完全な設定例:
{
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "get_stock_price",
        "description": "获取股票的实时价格",
        "parameters": {
          "type": "object",
          "properties": {
            "symbol": {
              "type": "string",
              "description": "股票代码,例如:AAPL"
            },
            "currency": {
              "type": "string",
              "enum": ["USD", "CNY"],
              "description": "货币单位",
              "default": "USD"
            }
          },
          "required": ["symbol"]
        }
      }
    }
  ]
}
パラメータ説明:
  • name: 関数名(必須)
  • description: 関数の機能説明(必須)
  • parameters: パラメータ定義、JSON Schema 形式を使用
    • type: パラメータタイプ
    • properties: パラメータ属性定義
    • required: 必須パラメータリスト
適用シーン:
  • サードパーティ API の呼び出し
  • データベースクエリの実行
  • ビジネスプロセスのトリガー
  • 内部システムとの統合

リモート MCP (Remote MCP)

リモートモデルコンテキストプロトコル(MCP)サービスに接続し、モデルの機能を拡張します。 設定例:
{
  "tools": [
    {
      "type": "remote_mcp",
      "remote_mcp": {
        "url": "https://your-mcp-server.com/api",
        "auth_token": "your_auth_token",
        "timeout": 30
      }
    }
  ]
}
パラメータ説明:
  • url: MCP サーバーアドレス(必須)
  • auth_token: 認証トークン(オプション)
  • timeout: タイムアウト時間(秒)、デフォルト 30秒
適用シーン:
  • エンタープライズ AI サービスへの接続
  • 専門領域モデルの使用
  • 保護されたデータソースへのアクセス
  • 分散 AI システムとの統合

ツールレスポンス形式

モデルがツールを使用する場合、レスポンスにツール呼び出し情報が含まれます:
{
  "id": "resp-123456",
  "object": "response",
  "created": 1677652288,
  "model": "gpt-5",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": null,
        "tool_calls": [
          {
            "id": "call_abc123",
            "type": "function",
            "function": {
              "name": "get_weather",
              "arguments": "{\"city\": \"北京\"}"
            }
          }
        ]
      },
      "finish_reason": "tool_calls"
    }
  ]
}
ツール呼び出しフロー:
  1. モデルがユーザー入力を受信
  2. ツールの使用が必要かどうかを分析
  3. 必要な場合、ツール呼び出しリクエストを返却
  4. クライアントがツール呼び出しを実行
  5. ツールの結果をモデルに返却
  6. モデルが最終レスポンスを生成

注意事項

  1. 画像 URL の要件
    • パブリックにアクセス可能な URL である必要があります
    • または Base64 エンコードの Data URI 形式を使用してください
  2. Token 課金
    • 画像はその解像度に応じて Token を消費します
    • 高解像度画像はコスト最適化のため自動的にリサイズされます
    • ツール呼び出しも追加の Token を消費します
  3. コンテンツの順序
    • content 配列内の要素の順序はモデルの理解に影響します
    • テキスト指示を先に、画像/動画を後に配置することを推奨します
  4. マルチモーダルの組み合わせ
    • 1つのリクエストで複数のテキストと画像を混合できます
    • マルチターン対話に対応し、コンテキストの一貫性を保持します
  5. ツール使用の制限
    • 複数のツールを同時に使用する場合、モデルが最適なツールをインテリジェントに選択します
    • 関数呼び出しには明確な関数定義とパラメータ説明が必要です
    • ウェブ検索結果は地域や時間の制限を受ける場合があります
  6. API 互換性
    • OpenAI Responses API フォーマットと完全互換
    • 既存の OpenAI コードをシームレスに移行可能
    • 全ての OpenAI ツール拡張機能に対応