groklisted
Install: claude install-skill runapi-ai/grok
# Grok on RunAPI
Use OpenAI-compatible endpoints at `https://runapi.ai/v1` as the primary protocol.
## Primary protocol recipe
### Authenticate
Set `OPENAI_API_KEY` to a RunAPI API key and `OPENAI_BASE_URL` to `https://runapi.ai/v1`.
### Send request
```python
from openai import OpenAI
client = OpenAI(api_key="YOUR_RUNAPI_TOKEN", base_url="https://runapi.ai/v1")
response = client.responses.create(
model="grok-4.6",
input=[{
"role": "user",
"content": [{"type": "input_text", "text": "Review this rollout plan."}],
}],
stream=False,
reasoning={"effort": "xhigh"},
)
print(response.output_text)
print(response.usage)
```
Use Chat Completions for `grok-4.5` chat workflows. Use Responses for
`grok-4.3`, `grok-4.5`, or `grok-4.6`; Grok 4.6 does not expose the other
compatibility protocols. Grok 4.6 accepts function tools and image input; add
an `input_image` part with a public `image_url` alongside `input_text` for image
understanding. Only `function` tools are supported; hosted tools such as
`web_search`, `x_search`, `file_search`, `code_interpreter`, `image_generation`,
and `mcp` are rejected. Do not send `input_file` or state fields such as
`previous_response_id` for Grok 4.6. For streaming Responses, set `stream=True`
and consume through `response.completed`, terminal `usage`, and `[DONE]`.
### Verify result
Responses require final output, one usage-bearing `response.completed`, and
`[DONE]`. Chat requires final assistant content, `fini