GET

/v1/schemas/openai/chat/realtime/client_secrets?kind=output

kind outputactivity chathash 633dd222…extracted Nov 4, 2026version currentsource upstream spec ↗
fieldrecorded source
schemaSource linked above.

upstream-spec

Source trace
fb72772dc5ac65c0457451fcab125a37ffa22b6aea98546e7be3f49396be4442
{
  "fetchedAt": 1793769007,
  "extractorVersion": "1",
  "verifiedAt": null
}

Response body

3 properties · 3 required · 26 $defs
propertytypedescriptionconstraints
value*stringThe generated client secret value.
expires_at*integerExpiration timestamp for the client secret, in seconds since epoch.format: unixtime
session*Realtime session configuration object | Realtime transcription session configuration objectThe session configuration for either a realtime or transcription session.

Types

26 $defs

AudioTranscriptionobject

modelstring | enumThe model to use for transcription. Current options are `whisper-1`, `gpt-transcribe`, `gpt-live-transcribe`, `gpt-4o-mini-transcribe`, `gpt-4o-mini-transcribe-2025-12-15`, `gpt-4o-transcribe`, `gpt-4o-transcribe-diarize`, and `gpt-realtime-whisper`. Use `gpt-…
languagestringThe language of the input audio. Supplying the input language in [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) (e.g. `en`) format will improve accuracy and latency.
languagesstring[]Possible languages of the input audio, in [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. Supported by `gpt-transcribe` and `gpt-live-transcribe`.items ≥ 1
keywordsstring[]Words or phrases to guide transcription of the input audio. Supported by `gpt-transcribe` and `gpt-live-transcribe`.
promptstringAn optional text to guide the model's style or continue a previous audio segment. For `whisper-1`, the [prompt is a list of keywords](https://developers.openai.com/api/docs/guides/speech-to-text#prompting). For `gpt-4o-transcribe` models (excluding `gpt-4o-tra…
delayenumControls how long the model waits before emitting transcription text. Higher values can improve transcription accuracy at the cost of latency. Only supported with `gpt-realtime-whisper` in GA Realtime sessions.minimal | low | medium | high | xhigh

CallableToolAllowedCallerenum

direct | programmatic

FileInputDetailenum

auto | low | high

ImageDetailenum

low | high | auto | original

InputFileContentobject

A file input to the model.

type*enumThe type of the input item. Always `input_file`.input_file · default: "input_file"
file_idstringThe ID of the file to be sent to the model.nullable
filenamestringThe name of the file to be sent to the model.
file_datastringThe content of the file to be sent to the model.
prompt_cache_breakpointPromptCacheBreakpointConfigMarks the exact end of a reusable prompt prefix. When `ttl` is omitted, the breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block.
file_urlstringThe URL of the file to be sent to the model.format: uri
detailenumThe detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to…auto | low | high

InputImageContentobject

An image input to the model. Learn about [image inputs](https://developers.openai.com/api/docs/guides/images-vision).

type*enumThe type of the input item. Always `input_image`.input_image · default: "input_image"
image_urlstringThe URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL.format: uri · nullable
file_idstringThe ID of the file to be sent to the model.nullable
detail*enumThe detail level of the image to be sent to the model. One of `high`, `low`, `auto`, or `original`. Defaults to `auto`.low | high | auto | original
prompt_cache_breakpointPromptCacheBreakpointConfigMarks the exact end of a reusable prompt prefix. When `ttl` is omitted, the breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block.

InputTextContentobject

A text input to the model.

type*enumThe type of the input item. Always `input_text`.input_text · default: "input_text"
text*stringThe text input to the model.
prompt_cache_breakpointPromptCacheBreakpointConfigMarks the exact end of a reusable prompt prefix. When `ttl` is omitted, the breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block.

MCPToolobject

Give the model access to additional tools via remote Model Context Protocol (MCP) servers. [Learn more about MCP](https://developers.openai.com/api/docs/guides/tools-connectors-mcp).

type*enumThe type of the MCP tool. Always `mcp`.mcp
server_label*stringA label for this MCP server, used to identify it in tool calls.
server_urlstringThe URL for the MCP server. One of `server_url`, `connector_id`, or `tunnel_id` must be provided.format: uri
connector_idenumIdentifier for service connectors, like those available in ChatGPT. One of `server_url`, `connector_id`, or `tunnel_id` must be provided. Learn more about service connectors [here](https://developers.openai.com/api/docs/guides/tools-connectors-mcp#connectors).connector_dropbox | connector_gmail | connector_googlecalendar | connector_googledrive | connector_microsoftteams | connector_outlookcalendar · +2 more · deprecated
tunnel_idstringThe Secure MCP Tunnel ID to use instead of a direct server URL. One of `server_url`, `connector_id`, or `tunnel_id` must be provided.
authorizationstringAn OAuth access token that can be used with a remote MCP server, either with a custom MCP server URL or a service connector. Your application must handle the OAuth authorization flow and provide the token here.
server_descriptionstringOptional description of the MCP server, used to provide more context.
headersobjectOptional HTTP headers to send to the MCP server. Use for authentication or other purposes.nullable
allowed_toolsstring[] | MCP tool filterList of allowed tool names or a filter object.nullable
allowed_callersCallableToolAllowedCaller[]The tool invocation context(s).items ≥ 1 · nullable
require_approvalMCP tool approval filter | enumSpecify which of the MCP server's tools require approval.default: "always" · nullable
defer_loadingbooleanWhether this MCP tool is deferred and discovered via tool search.

MCPToolFilterobject

A filter object to specify which tools are allowed.

tool_namesstring[]List of allowed tool names.
read_onlybooleanIndicates whether or not a tool modifies data or is read-only. If an MCP server is [annotated with `readOnlyHint`](https://modelcontextprotocol.io/specification/2025-06-18/schema#toolannotations-readonlyhint), it will match this filter.

NoiseReductionTypeenum

Type of noise reduction. `near_field` is for close-talking microphones such as headphones, `far_field` is for far-field microphones such as laptop or conference room microphones.

near_field | far_field

Promptobject

Reference to a prompt template and its variables. [Learn more](https://developers.openai.com/api/docs/guides/text?api-mode=responses#version-prompts-in-code).

id*stringThe unique identifier of the prompt template to use.
versionstringOptional version of the prompt template.nullable
variablesobjectOptional map of values to substitute in for variables in your prompt. The substitution values can either be strings, or other Response input types like images or files.nullable

PromptCacheBreakpointConfigobject

Marks the exact end of a reusable prompt prefix. When `ttl` is omitted, the breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block.

mode*enumThe breakpoint mode. Always `explicit`.explicit · default: "explicit"
ttlenumThe minimum lifetime of this cache breakpoint. Defaults to the request TTL.30m | 12h

RealtimeAudioFormatsPCM audio format | PCMU audio format | PCMA audio format

RealtimeFunctionToolobject

typeenumThe type of the tool, i.e. `function`.function
namestringThe name of the function.
descriptionstringThe description of the function, including guidance on when and how to call it, and guidance about what to tell the user when calling (if anything).
parametersobjectParameters of the function in JSON Schema.

RealtimeNoiseReductionStrengthnumber

Input noise suppression strength. Higher values apply more suppression. Defaults to 1 when noise reduction is first enabled. Omitting strength from a session update preserves the current strength.

0 ≤ n ≤ 1 · default: 1

RealtimeReasoningobject

Configuration for reasoning-capable Realtime models such as `gpt-realtime-2`.

effortenumConstrains effort on reasoning for reasoning-capable Realtime models such as `gpt-realtime-2`.minimal | low | medium | high | xhigh · default: "low"

RealtimeReasoningEffortenum

Constrains effort on reasoning for reasoning-capable Realtime models such as `gpt-realtime-2`.

minimal | low | medium | high | xhigh · default: "low"

RealtimeSessionCreateResponseGAobject

A Realtime session configuration object.

type*enumThe type of session to create. Always `realtime` for the Realtime API.realtime
id*stringUnique identifier for the session that looks like `sess_1234567890abcdef`.
object*enumThe object type. Always `realtime.session`.realtime.session
expires_atintegerExpiration timestamp for the session, in seconds since epoch.format: unixtime
output_modalitiesenum[]The set of modalities the model can respond with. It defaults to `["audio"]`, indicating that the model will respond with audio plus a transcript. `["text"]` can be used to make the model respond with text only. It is not possible to request both `text` and `a…default: ["audio"]
modelstring | enumThe Realtime model used for this session.
instructionsstringThe default system instructions (i.e. system message) prepended to model calls. This field allows the client to guide the model on desired responses. The model can be instructed on response content and format, (e.g. "be extremely succinct", "act friendly", "he…
audioobjectConfiguration for input and output audio.
includeenum[]Additional fields to include in server outputs.
tracingenum | Tracing ConfigurationRealtime API can write session traces to the [Traces Dashboard](https://platform.openai.com/logs?api=traces). Set to null to disable tracing. Once tracing is enabled for a session, the configuration cannot be modified.nullable
toolsRealtimeFunctionTool | MCPTool[]Tools available to the model.
tool_choiceenum | Function tool | MCP toolHow the model chooses tools. Provide one of the string modes or force a specific function/MCP tool.default: "auto"
reasoningRealtimeReasoningConfiguration for reasoning-capable Realtime models such as `gpt-realtime-2`.
max_output_tokensinteger | enumMaximum number of output tokens for a single assistant response, inclusive of tool calls. Provide an integer between 1 and 4096 to limit output tokens, or `inf` for the maximum available tokens for a given model. Defaults to `inf`.
truncationenum | Retention ratio truncationWhen the number of tokens in a conversation exceeds the model's input token limit, the conversation be truncated, meaning messages (starting from the oldest) will not be included in the model's context. A 32k context model with 4,096 max output tokens can only…
promptobjectReference to a prompt template and its variables. [Learn more](https://developers.openai.com/api/docs/guides/text?api-mode=responses#version-prompts-in-code).nullable

RealtimeTranscriptionSessionCreateResponseGAobject

A Realtime transcription session configuration object.

type*enumThe type of session. Always `transcription` for transcription sessions.transcription
id*stringUnique identifier for the session that looks like `sess_1234567890abcdef`.
object*stringThe object type. Always `realtime.transcription_session`.
expires_atintegerExpiration timestamp for the session, in seconds since epoch.format: unixtime
includeenum[]Additional fields to include in server outputs. - `item.input_audio_transcription.logprobs`: Include logprobs for input audio transcription.
audioobjectConfiguration for input audio for the session.

RealtimeTruncationenum | Retention ratio truncation

When the number of tokens in a conversation exceeds the model's input token limit, the conversation be truncated, meaning messages (starting from the oldest) will not be included in the model's context. A 32k context model with 4,096 max output tokens can only…

RealtimeTurnDetectionServer VAD | Semantic VAD

Configuration for turn detection, ether Server VAD or Semantic VAD. This can be set to `null` to turn off, in which case the client must manually trigger model response.

nullable

ResponsePromptVariablesobject

Optional map of values to substitute in for variables in your prompt. The substitution values can either be strings, or other Response input types like images or files.

nullable

ToolChoiceFunctionobject

Use this option to force the model to call a specific function.

type*enumFor function calling, the type is always `function`.function
name*stringThe name of the function to call.

ToolChoiceMCPobject

Use this option to force the model to call a specific tool on a remote MCP server.

type*enumFor MCP tools, the type is always `mcp`.mcp
server_label*stringThe label of the MCP server to use.
namestringThe name of the tool to call on the server.nullable

ToolChoiceOptionsenum

Controls which (if any) tool is called by the model.

none | auto | required

VoiceIdsSharedstring | enum

Validate a payload

before you spend tokens
shell
$ curl -X POST https://modelschemas.com/v1/validate \
    -d '{"provider":"openai","endpointId":"realtime/client_secrets","payload":{…}}'
→ {"valid": false, "errors": [{"path": "#", "keyword": "required", …}]}