APIリファレンス
OpenAI Responses
RunAPIのOpenAI互換Responsesオペレーションを通じてリクエストを送信します。
01
概要
RunAPIのOpenAI互換のResponses操作を、互換性のあるモデルおよびプロトコルのリクエスト・レスポンス形式とともに使用してください。
クイックスタート
- APIキーを作成し、RUNAPI_API_KEYとして設定します。
- 互換性のあるモデルを選択し、ドキュメントに記載されたパスパラメーターとJSONボディを送信します。
- このオペレーションに示された JSON レスポンスまたはサーバー送信イベントを読み取り、プロトコルエラーを処理してください。
エンドポイント
- ベースURL
https://runapi.ai- コントラクトバージョン
v1- 推奨認証方式
Authorization: Bearer YOUR_API_TOKEN
02
認証情報の送信方法
RunAPIは以下に列挙された各キャリアを受け付けます。生成されたサンプルはプロトコルの推奨ヘッダーを使用します。
- header - 推奨
Authorization: Bearer YOUR_API_TOKEN- header
x-api-key: YOUR_API_TOKEN- header
x-goog-api-key: YOUR_API_TOKEN- query
?key=YOUR_API_TOKEN
03
互換モデル
現在の料金、レート制限、商用利用の詳細については、モデルページを開いてください。
互換モデルを58件表示
- claude-fable-5-1
- claude-fable-5
- claude-sonnet-5
- claude-opus-5
- claude-opus-4-8
- claude-opus-4-7
- claude-opus-4-6
- claude-sonnet-4-6
- claude-opus-4-5-20251101
- claude-sonnet-4-5-20250929
- claude-haiku-4-5-20251001
- claude-opus-4-1-20250805
- gpt-5.5
- gpt-5.5-pro
- gpt-5.4
- gpt-5.4-mini
- gpt-5.4-nano
- gpt-5.4-pro
- gpt-5.3-codex
- gpt-5.3-codex-spark
- gpt-5.6-luna
- gpt-5.6-sol
- gpt-5.6-terra
- gpt-6-astra
- gemini-3.6-flash
- gemini-3.5-flash
- gemini-3.1-pro-preview
- gemini-3-flash-preview
- gemini-2.5-pro
- gemini-2.5-flash
- deepseek-v4-flash-vision-exp
- deepseek-v4-pro
- deepseek-v4-flash
- glm-5.2
- glm-5.1
- glm-5-turbo
- glm-5
- glm-4.7
- glm-4.6
- glm-4.5
- glm-4.5-air
- kimi-k3
- kimi-k2.7-code
- kimi-k2.6
- kimi-k2.5
- MiniMax-M3
- MiniMax-M2.7
- MiniMax-M2.7-highspeed
- MiniMax-M2.5
- MiniMax-M2.5-highspeed
- MiniMax-M2.1
- MiniMax-M2
- mimo-v2.5-pro
- mimo-v2.5
- grok-4.20-0309-non-reasoning
- grok-4.6
- grok-4.5
- grok-4.3
04
JSONボディリクエスト仕様
公開プロトコルとRunAPIサポートの両方の証拠があるフィールドのみが記載されています。追加のJSONボディフィールドはそのまま渡されます。
JSON ボディフィールド13件
input["string", "array"]
任意
モデルに提供されるテキスト、メッセージアイテム、またはツール結果。
instructions["string", "null"]
任意
このレスポンスに対するシステムまたは開発者の指示。
max_output_tokens["integer", "null"]
任意
可視トークンと推論トークンを含む出力トークンの最大数。
modelstring
必須
互換モデルカタログによって返されるRunAPIのモデル識別子。
moderation["object", "null"]
任意
現在の入力と完全な出力に対する独立したモデレーションシグナルを返します。
moderation.modelstring
必須
許可される値:
omni-moderation-latest
moderation.policy["object", "null"]
任意
moderation.policy.input["object", "null"]
任意
moderation.policy.input.modestring
必須
許可される値:
score, block
moderation.policy.output["object", "null"]
任意
moderation.policy.output.modestring
必須
許可される値:
score, block
stream["boolean", "null"]
任意
型付きResponsesイベントをサーバー送信イベントとして返します。
デフォルト:false
toolsarray
任意
モデルが呼び出せるツール。
リクエスト例
JSON
{
"input": "Summarize one practical improvement for an API deployment.",
"model": "gpt-5.4",
"moderation": {
"model": "omni-moderation-latest",
"policy": {
"input": {
"mode": "score"
},
"output": {
"mode": "block"
}
}
}
}
05
HTTP 200
同期レスポンス
スキーマ
JSON
{
"additionalProperties": true,
"properties": {
"id": {
"type": "string"
},
"model": {
"type": "string"
},
"moderation": {
"additionalProperties": true,
"properties": {
"input": {
"oneOf": [
{
"additionalProperties": true,
"properties": {
"categories": {
"additionalProperties": true,
"type": "object"
},
"category_applied_input_types": {
"additionalProperties": true,
"type": "object"
},
"category_scores": {
"additionalProperties": true,
"type": "object"
},
"flagged": {
"type": "boolean"
},
"model": {
"const": "omni-moderation-latest",
"type": "string"
},
"type": {
"const": "moderation_result",
"type": "string"
}
},
"required": [
"type",
"model",
"flagged",
"categories",
"category_scores",
"category_applied_input_types"
],
"type": "object"
},
{
"additionalProperties": true,
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"type": {
"const": "error",
"type": "string"
}
},
"required": [
"type",
"code",
"message"
],
"type": "object"
}
]
},
"output": {
"oneOf": [
{
"additionalProperties": true,
"properties": {
"categories": {
"additionalProperties": true,
"type": "object"
},
"category_applied_input_types": {
"additionalProperties": true,
"type": "object"
},
"category_scores": {
"additionalProperties": true,
"type": "object"
},
"flagged": {
"type": "boolean"
},
"model": {
"const": "omni-moderation-latest",
"type": "string"
},
"type": {
"const": "moderation_result",
"type": "string"
}
},
"required": [
"type",
"model",
"flagged",
"categories",
"category_scores",
"category_applied_input_types"
],
"type": "object"
},
{
"additionalProperties": true,
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"type": {
"const": "error",
"type": "string"
}
},
"required": [
"type",
"code",
"message"
],
"type": "object"
}
]
}
},
"required": [
"input",
"output"
],
"type": "object"
},
"object": {
"const": "response",
"type": "string"
},
"output": {
"type": "array"
},
"status": {
"type": "string"
},
"usage": {
"additionalProperties": true,
"properties": {
"input_tokens": {
"type": "integer"
},
"output_tokens": {
"type": "integer"
},
"total_tokens": {
"type": "integer"
}
},
"required": [
"input_tokens",
"output_tokens",
"total_tokens"
],
"type": "object"
}
},
"required": [
"id",
"object",
"status",
"model",
"output"
],
"type": "object"
}
例
JSON
{
"id": "resp_example",
"model": "gpt-5.4",
"moderation": {
"input": {
"categories": {
"sexual": false,
"violence": true
},
"category_applied_input_types": {
"sexual": [
"text"
],
"violence": [
"text"
]
},
"category_scores": {
"sexual": 0.0002,
"violence": 0.96
},
"flagged": true,
"model": "omni-moderation-latest",
"type": "moderation_result"
},
"output": {
"categories": {
"sexual": false,
"violence": false
},
"category_applied_input_types": {
"sexual": [
"text"
],
"violence": [
"text"
]
},
"category_scores": {
"sexual": 0.0002,
"violence": 0.0001
},
"flagged": false,
"model": "omni-moderation-latest",
"type": "moderation_result"
}
},
"object": "response",
"output": [
{
"content": [
{
"annotations": [],
"text": "Hello! How can I help today?",
"type": "output_text"
}
],
"id": "msg_example",
"role": "assistant",
"status": "completed",
"type": "message"
}
],
"status": "completed",
"usage": {
"input_tokens": 12,
"output_tokens": 8,
"total_tokens": 20
}
}
06
text/event-stream
SSEイベント:output_text_delta
スキーマ
JSON
{
"additionalProperties": true,
"properties": {
"content_index": {
"type": "integer"
},
"delta": {
"type": "string"
},
"item_id": {
"type": "string"
},
"output_index": {
"type": "integer"
},
"type": {
"const": "response.output_text.delta",
"type": "string"
}
},
"required": [
"type",
"item_id",
"output_index",
"content_index",
"delta"
],
"type": "object"
}
例
JSON
{
"content_index": 0,
"delta": "Hello",
"item_id": "msg_example",
"output_index": 0,
"type": "response.output_text.delta"
}
07
text/event-stream
SSEイベント:completed
スキーマ
JSON
{
"additionalProperties": true,
"properties": {
"response": {
"additionalProperties": true,
"properties": {
"id": {
"type": "string"
},
"model": {
"type": "string"
},
"moderation": {
"additionalProperties": true,
"properties": {
"input": {
"oneOf": [
{
"additionalProperties": true,
"properties": {
"categories": {
"additionalProperties": true,
"type": "object"
},
"category_applied_input_types": {
"additionalProperties": true,
"type": "object"
},
"category_scores": {
"additionalProperties": true,
"type": "object"
},
"flagged": {
"type": "boolean"
},
"model": {
"const": "omni-moderation-latest",
"type": "string"
},
"type": {
"const": "moderation_result",
"type": "string"
}
},
"required": [
"type",
"model",
"flagged",
"categories",
"category_scores",
"category_applied_input_types"
],
"type": "object"
},
{
"additionalProperties": true,
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"type": {
"const": "error",
"type": "string"
}
},
"required": [
"type",
"code",
"message"
],
"type": "object"
}
]
},
"output": {
"oneOf": [
{
"additionalProperties": true,
"properties": {
"categories": {
"additionalProperties": true,
"type": "object"
},
"category_applied_input_types": {
"additionalProperties": true,
"type": "object"
},
"category_scores": {
"additionalProperties": true,
"type": "object"
},
"flagged": {
"type": "boolean"
},
"model": {
"const": "omni-moderation-latest",
"type": "string"
},
"type": {
"const": "moderation_result",
"type": "string"
}
},
"required": [
"type",
"model",
"flagged",
"categories",
"category_scores",
"category_applied_input_types"
],
"type": "object"
},
{
"additionalProperties": true,
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"type": {
"const": "error",
"type": "string"
}
},
"required": [
"type",
"code",
"message"
],
"type": "object"
}
]
}
},
"required": [
"input",
"output"
],
"type": "object"
},
"object": {
"const": "response",
"type": "string"
},
"output": {
"type": "array"
},
"status": {
"type": "string"
},
"usage": {
"additionalProperties": true,
"properties": {
"input_tokens": {
"type": "integer"
},
"output_tokens": {
"type": "integer"
},
"total_tokens": {
"type": "integer"
}
},
"required": [
"input_tokens",
"output_tokens",
"total_tokens"
],
"type": "object"
}
},
"required": [
"id",
"object",
"status",
"model",
"output",
"usage"
],
"type": "object"
},
"type": {
"const": "response.completed",
"type": "string"
}
},
"required": [
"type",
"response"
],
"type": "object"
}
例
JSON
{
"response": {
"id": "resp_example",
"model": "gpt-5.4",
"moderation": {
"input": {
"categories": {
"sexual": false,
"violence": true
},
"category_applied_input_types": {
"sexual": [
"text"
],
"violence": [
"text"
]
},
"category_scores": {
"sexual": 0.0002,
"violence": 0.96
},
"flagged": true,
"model": "omni-moderation-latest",
"type": "moderation_result"
},
"output": {
"categories": {
"sexual": false,
"violence": false
},
"category_applied_input_types": {
"sexual": [
"text"
],
"violence": [
"text"
]
},
"category_scores": {
"sexual": 0.0002,
"violence": 0.0001
},
"flagged": false,
"model": "omni-moderation-latest",
"type": "moderation_result"
}
},
"object": "response",
"output": [
{
"content": [
{
"annotations": [],
"text": "Hello! How can I help today?",
"type": "output_text"
}
],
"id": "msg_example",
"role": "assistant",
"status": "completed",
"type": "message"
}
],
"status": "completed",
"usage": {
"input_tokens": 12,
"output_tokens": 8,
"total_tokens": 20
}
},
"type": "response.completed"
}
08
HTTP 400
プロトコルエラー: invalid_request
スキーマ
JSON
{
"additionalProperties": true,
"properties": {
"error": {
"additionalProperties": true,
"properties": {
"code": {
"type": [
"string",
"null"
]
},
"message": {
"type": "string"
},
"param": {
"type": [
"string",
"null"
]
},
"type": {
"type": "string"
}
},
"required": [
"message",
"type"
],
"type": "object"
}
},
"required": [
"error"
],
"type": "object"
}
例
JSON
{
"error": {
"code": null,
"message": "input must be a string or an array",
"param": "input",
"type": "invalid_request_error"
}
}
09
使用方法
スキーマ
JSON
{
"additionalProperties": true,
"properties": {
"input_tokens": {
"type": "integer"
},
"output_tokens": {
"type": "integer"
},
"total_tokens": {
"type": "integer"
}
},
"required": [
"input_tokens",
"output_tokens",
"total_tokens"
],
"type": "object"
}
例
JSON
{
"input_tokens": 12,
"output_tokens": 8,
"total_tokens": 20
}
10
生成されたコードサンプル
各cURL、JavaScript、およびPythonのサンプルは、プロトコル固有のSDKを必要とせずに、このコントラクトから検証済みのリクエストを送信します。
インストール
Shell
pip install requests
PYTHON
import requests
response = requests.post(
"https://runapi.ai/v1/responses",
headers={"Authorization": "Bearer YOUR_API_TOKEN", "Content-Type": "application/json"},
json={"model": "gpt-5.4", "input": "Summarize one practical improvement for an API deployment.", "moderation": {"model": "omni-moderation-latest", "policy": {"input": {"mode": "score"}, "output": {"mode": "block"}}}}
)
response.raise_for_status()
print(response.json())