GET
/v1/schemas/fal/audio/xai/grok-voice/realtime
Accept:
| field | recorded source |
|---|---|
| schema | Source linked above. upstream-spec Source trace8f1443b00cc030aaf1181486a2d11b4e0f29125779bdaccbcb2e9fb3e7b0c5dc{
"fetchedAt": 1789621307,
"extractorVersion": "1",
"verifiedAt": null
} |
Request body
5 properties · 1 required · 6 $defs| property | type | description | constraints |
|---|---|---|---|
| type* | string | xAI realtime event type (e.g. 'session.update', 'input_audio_buffer.append', 'response.create', 'response.output_audio.delta'). Events are relayed verbatim in both directions. | |
| prompt | string | System instructions describing the agent's persona and conversation context. Uses Grok's default persona when omitted. | length ≤ 20000 · nullable |
| turn_detection | GrokTurnDetectionConfiguration | xAI server-side voice activity detection (server_vad) tuning. | nullable |
| tools | GrokToolsConfiguration | Typed xAI tools supported by this app's convenience configuration. | nullable |
| voice | enum | Built-in xAI voice for the agent's speech. Uses Grok's default voice when omitted. | carina | zagan | helix | orion | luna | iris · +22 more · nullable |
Types
6 $defsGrokRemoteMCPToolobject
A caller-selected remote MCP server that xAI will connect to.
| server_description | string | Description of the capabilities exposed by this server. | length ≤ 2000 · nullable |
| enabled | boolean | False omits this server. | default: true |
| authorization | string | Sensitive authorization value forwarded only to xAI. | format: password · nullable |
| headers | object | Sensitive MCP request headers forwarded only to xAI. | nullable |
| allowed_tools | string[] | Optional allow-list of tool names exposed from this server. | items ≥ 1 · nullable |
| server_url* | string | Caller-selected HTTP(S) MCP endpoint. xAI makes the remote connection and supports Streaming HTTP/SSE transports. Use at your own risk; fal does not connect to or SSRF-fetch this URL. | length ≥ 1 · format: uri |
| server_label* | string | Label xAI uses to identify and prefix this server's tools. | length ≥ 1 · length ≤ 128 |
GrokSearchLocationobject
| country | string | Country used to localize web-search results. | length ≥ 1 · length ≤ 128 · nullable |
| city | string | City used to localize web-search results. | length ≥ 1 · length ≤ 128 · nullable |
| timezone | string | IANA timezone name, for example America/New_York. | length ≥ 1 · length ≤ 128 · nullable |
| region | string | Region used to localize web-search results. | length ≥ 1 · length ≤ 128 · nullable |
GrokToolsConfigurationobject
Typed xAI tools supported by this app's convenience configuration.
| x_search | GrokXSearchTool | xAI-managed X search; off unless enabled is set true. | |
| web_search | GrokWebSearchTool | xAI-managed web search; off unless enabled is set true. | |
| mcp_servers | GrokRemoteMCPTool[] | Remote MCP servers that xAI connects to and executes. |
GrokTurnDetectionConfigurationobject
xAI server-side voice activity detection (server_vad) tuning.
| threshold | number | VAD activation threshold; higher values require louder audio. | 0.1 ≤ n ≤ 0.9 · nullable |
| prefix_padding_ms | integer | Audio retained before detected speech, in milliseconds. | 0 ≤ n ≤ 10000 · nullable |
| idle_timeout_ms | integer | Idle time after an assistant response before xAI starts a proactive turn, in milliseconds. | n ≥ 0 · nullable |
| silence_duration_ms | integer | Silence duration that ends a detected turn, in milliseconds. | 0 ≤ n ≤ 10000 · nullable |
GrokWebSearchToolobject
Configuration for one xAI web_search tool declaration.
| enabled | boolean | Whether to include web_search in session.tools. Disabled by default; set true to let the agent search the web. | default: false |
| enable_image_understanding | boolean | Allow the agent to inspect images found during web search. | nullable |
| location | GrokSearchLocation | Optional location used to localize search results. | nullable |
| excluded_domains | string[] | Exclude results from at most five domains, without protocol or path. | items ≥ 1 · items ≤ 5 · nullable |
| allowed_domains | string[] | Restrict results to at most five domains, without protocol or path. | items ≥ 1 · items ≤ 5 · nullable |
GrokXSearchToolobject
Configuration for one xAI x_search tool declaration.
| from_date | string | Earliest post date, as ISO YYYY-MM-DD. | format: date · nullable |
| enabled | boolean | Whether to include x_search in session.tools. Disabled by default; set true to let the agent search X posts. | default: false |
| enable_video_understanding | boolean | Allow the agent to inspect videos found on X. | nullable |
| enable_image_understanding | boolean | Allow the agent to inspect images found on X. | nullable |
| excluded_x_handles | string[] | Exclude posts from at most 20 X handles. | items ≥ 1 · items ≤ 20 · nullable |
| allowed_x_handles | string[] | Restrict results to posts from at most 20 X handles. | items ≥ 1 · items ≤ 20 · nullable |
| to_date | string | Latest post date, as ISO YYYY-MM-DD. | format: date · nullable |
Validate a payload
before you spend tokensshell
$ curl -X POST https://modelschemas.com/v1/validate \
-d '{"provider":"fal","endpointId":"xai/grok-voice/realtime","payload":{…}}'
→ {"valid": false, "errors": [{"path": "#", "keyword": "required", …}]}