Grok 4.7
Request ID grok-4.7
Protocols
POST /v1/responses· OpenAI Responses examplePOST /v1/responses/compact· Responses Compact examplePOST /v1/chat/completions· Chat Completions examplePOST /v1/messages· Anthropic Messages example
Authentication
Requests require an API key from API key management. For JSON requests, set Content-Type: application/json.
Authorization: Bearer YOUR_API_KEY- Anthropic Messages ·
x-api-key: YOUR_API_KEY
Request parameters
POST /v1/responses
| Field | Type | Required | Description |
|---|---|---|---|
model | string | Required | Set the model ID to grok-4.7. |
input | string / object[] | Required | Input text or an ordered array of input items. Message items use role and content. |
input[].content[] | object | Conditional | Use a content block with type: input_image for images. Accepted formats depend on the endpoint. |
instructions | string | Optional | Instructions describing the task and output requirements. |
max_output_tokens | integer | Optional | Caps output tokens. The accepted limit depends on the model and endpoint. |
stream | boolean | Optional | true requests an SSE stream. false requests a JSON response. Available modes depend on the endpoint. |
store | boolean | Conditional | Where supported, false requests that the response not be retained for later retrieval. |
text.format | object | Conditional | Set text.format for structured output, for example type: json_schema. Use only on endpoints that support the format. |
temperature | number | Conditional | Controls sampling randomness. Accepted values and whether the field takes effect depend on the model and endpoint. |
top_p | number | Conditional | Limits sampling candidates by cumulative probability. Use when the model and endpoint support it. |
tools | object[] | Conditional | Tool definitions available to the model. Tool types and parameter formats depend on the protocol and endpoint. |
tool_choice | string / object | Conditional | Controls tool selection. Use a forced or named choice only when the selected endpoint supports it. |
POST /v1/responses/compact
| Field | Type | Required | Description |
|---|---|---|---|
model | string | Required | Set the model ID to grok-4.7. |
input | string / object[] | Required | Context to compact. Send text or the conversation input items in their original order. Accepted formats depend on the endpoint. |
POST /v1/chat/completions
| Field | Type | Required | Description |
|---|---|---|---|
model | string | Required | Set the model ID to grok-4.7. |
messages | object[] | Required | Send messages in conversation order. Each message has a role and content. |
messages[].content | string / object[] | Conditional | The message body. Use plain text or an array of content blocks defined by the protocol. |
messages[].content[] | object | Conditional | Use a content block with type: image_url for images. Accepted formats depend on the endpoint. |
stream | boolean | Optional | true requests an SSE stream. false requests a JSON response. Available modes depend on the endpoint. |
max_completion_tokens | integer | Conditional | Caps generated tokens, including reasoning tokens where applicable. Use on endpoints that accept this field. |
max_tokens | integer | Conditional | Compatibility field for the output token limit. Choose this field or max_completion_tokens according to the endpoint. |
temperature | number | Conditional | Controls sampling randomness. Accepted values and whether the field takes effect depend on the model and endpoint. |
top_p | number | Conditional | Limits sampling candidates by cumulative probability. Use when the model and endpoint support it. |
response_format | object | Conditional | For structured output, use type: json_object, or use type: json_schema with json_schema when the endpoint supports schemas. |
tools | object[] | Conditional | Tool definitions available to the model. Tool types and parameter formats depend on the protocol and endpoint. |
tool_choice | string / object | Conditional | Controls tool selection. Use a forced or named choice only when the selected endpoint supports it. |
POST /v1/messages
| Field | Type | Required | Description |
|---|---|---|---|
model | string | Required | Set the model ID to grok-4.7. |
messages | object[] | Required | Send user and assistant messages in order. Put system instructions in the top-level system field. |
messages[].content | string / object[] | Required | The message body. Use plain text or an array of content blocks defined by the protocol. |
messages[].content[] | object | Conditional | Use a type: image content block and put image data in source. Accepted formats depend on the endpoint. |
system | string / object[] | Optional | System instructions as text or an array of text blocks. |
max_tokens | integer | Required | Caps output tokens. The accepted limit depends on the model and endpoint. |
stream | boolean | Optional | true requests an SSE stream. false requests a JSON response. Available modes depend on the endpoint. |
temperature | number | Conditional | Controls sampling randomness. Accepted values and whether the field takes effect depend on the model and endpoint. |
top_p | number | Conditional | Limits sampling candidates by cumulative probability. Use when the model and endpoint support it. |
tools | object[] | Conditional | Tool definitions available to the model. Tool types and parameter formats depend on the protocol and endpoint. |
tool_choice | object | Conditional | Controls tool selection. Use a forced or named choice only when the selected endpoint supports it. |
Request examples
Set your API key in the local ICODEEASY_API_KEY environment variable and choose an endpoint that accepts direct HTTP calls. For endpoints that require a specific client, follow that client’s setup guide.
OpenAI Responses
curl -N -sS 'https://api.icodeeasy.cc/v1/responses' \
-H "Authorization: Bearer $ICODEEASY_API_KEY" \
-H 'Content-Type: application/json' \
--data '{
"model": "grok-4.7",
"instructions": "You are a helpful assistant.",
"input": [
{
"type": "message",
"role": "user",
"content": [
{
"type": "input_text",
"text": "Explain how a rainbow forms in one sentence."
}
]
}
],
"stream": true,
"store": false
}'
Responses Compact
curl -sS 'https://api.icodeeasy.cc/v1/responses/compact' \
-H "Authorization: Bearer $ICODEEASY_API_KEY" \
-H 'Content-Type: application/json' \
--data '{
"model": "grok-4.7",
"input": "Explain how a rainbow forms in one sentence."
}'
Chat Completions
curl -sS 'https://api.icodeeasy.cc/v1/chat/completions' \
-H "Authorization: Bearer $ICODEEASY_API_KEY" \
-H 'Content-Type: application/json' \
--data '{
"model": "grok-4.7",
"messages": [
{
"role": "user",
"content": "Explain how a rainbow forms in one sentence."
}
],
"stream": false
}'
Anthropic Messages
curl -sS 'https://api.icodeeasy.cc/v1/messages' \
-H "x-api-key: $ICODEEASY_API_KEY" \
-H 'Content-Type: application/json' \
-H 'anthropic-version: 2023-06-01' \
--data '{
"model": "grok-4.7",
"max_tokens": 256,
"messages": [
{
"role": "user",
"content": "Explain how a rainbow forms in one sentence."
}
]
}'
Read the response
- OpenAI Responses · In a stream, append the
deltafields ofresponse.output_text.deltaevents and handle completion and failure events. SSE - Chat Completions · Read text from
choices[].message.content. In an SSE stream, incremental output appears inchoices[].delta. JSON · SSE - Anthropic Messages · Read blocks of type
textincontent[]. In a stream, process SSE content block events in order. JSON · SSE
Capabilities and limits
streaming· Supportedtool_calling· Supportedimage_input· Conditional — Depends on the compatible endpoint and request formatvideo_input· Not supported
Compatibility aliases and retired redirects
grok-4.5→grok-4.7(Alias)
Model Capability Catalog · View pricing
Related guides
Grok 4.7 API and Claude Code setup guide
Configure Grok 4.7 in Claude Code with an I Code Easy API key on macOS, Linux or Windows. Verify requests, fix common errors and distinguish text from Imagine media models.
OpenAI Responses
Send input using the OpenAI Responses format. This page shows HTTP streaming. See the related guide for Codex client setup.
Codex config.toml: File Location, Settings & Examples
Find ~/.codex/config.toml, set the default model and reasoning effort, configure an API provider, and fix ignored settings or 401/429 errors.