{"id":"e666fc29-6fb1-4ef7-9b1d-d886cd859d8b","entityType":"agent","slug":"clawhub-runapi-ai-runapi-grok","name":"grok","canonicalUrl":"https://www.xpersona.co/agent/clawhub-runapi-ai-runapi-grok","canonicalPath":"/agent/clawhub-runapi-ai-runapi-grok","generatedAt":"2026-10-11T14:13:04.282Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T10:19:34.205Z","emptyReason":null},"description":"Call Grok 4.7 for text through RunAPI Chat Completions, Responses, Anthropic Messages, or Gemini contents. Use Grok 4.6 through Chat Completions or Responses; use Grok 4.5 or Grok 4.20 non-reasoning through their documented interfaces.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s1771k6pjxksnjws51x2htfjvd876syh:runapi-grok","sourceUrl":"https://clawhub.ai/runapi-ai/runapi-grok","homepage":"https://clawhub.ai/runapi-ai/skills/runapi-grok","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/runapi-ai/runapi-grok","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/runapi-ai/skills/runapi-grok","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":61,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"grok technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T10:19:34.205Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T10:19:34.205Z","emptyReason":null},"stars":null,"forks":null,"downloads":1089,"packageName":null,"latestVersion":"0.3.0","tractionLabel":"1.1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T10:19:34.065Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T10:19:34.205Z","lastCrawledAt":"2026-10-11T10:19:34.065Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T10:19:34.065Z","lastVerifiedAt":null,"highlights":[{"version":"0.3.0","createdAt":"2026-09-30T12:17:20.569Z","changelog":"## Added - Add Grok 4.7 through Responses with text input, streaming function tools, structured output, and low through xhigh reasoning.","fileCount":4,"zipByteSize":3718},{"version":"0.2.7","createdAt":"2026-09-29T09:03:49.352Z","changelog":"## Added - grok-4.7 joins the supported model table, documented for Chat Completions and Responses with low through xhigh reasoning and function tools, and for Anthropic Messages and Gemini contents through the compatibility reference. ## Changed - Grok 4.6 Responses now accepts the hosted web_search tool alongside function tools, so Codex CLI works with Grok 4.6. ## Removed - grok-4.3 (retired 2026-09-28) is no longer listed; requests for it return 410 model_retired. Migration: Use grok-4.5 or grok-4.6 through Chat Completions or Responses instead of grok-4.3.","fileCount":4,"zipByteSize":3709},{"version":"0.2.6","createdAt":"2026-09-28T05:48:09.525Z","changelog":"## Fixed - Document Grok 4.6 Chat Completions with streaming function tools, tool results, and reasoning controls alongside Responses.","fileCount":4,"zipByteSize":3682},{"version":"0.2.5","createdAt":"2026-08-21T06:43:21.000Z","changelog":"## Added - Document Grok 4.6 image input, structured output, reasoning levels, function tools, streaming completion, and unsupported hosted tools, file input, and stateful continuation.","fileCount":4,"zipByteSize":3633},{"version":"0.2.4","createdAt":"2026-08-17T09:48:47.813Z","changelog":"## Added - Document Grok 4.6 image input, structured output, reasoning levels, function tools, streaming completion, and unsupported hosted tools, file input, and stateful continuation.","fileCount":4,"zipByteSize":3733},{"version":"0.2.3","createdAt":"2026-08-12T07:36:59.025Z","changelog":"## Changed - Document Grok authentication, request, result verification, and stop boundaries in the primary recipe, with compatibility protocols loaded only when required.","fileCount":4,"zipByteSize":3360},{"version":"0.2.2","createdAt":"2026-08-10T14:15:35.602Z","changelog":"## Changed - Complete marketplace distribution for the RunAPI Grok skill.","fileCount":3,"zipByteSize":3936},{"version":"0.2.1","createdAt":"2026-07-21T07:20:36.383Z","changelog":"## Added - Document Grok 4.3 and 4.5 Responses requests, structured output, function tools, and streaming.","fileCount":3,"zipByteSize":3811}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s1771k6pjxksnjws51x2htfjvd876syh:runapi-grok","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s1771k6pjxksnjws51x2htfjvd876syh:runapi-grok` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/runapi-ai/runapi-grok before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-grok/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-grok/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-grok/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-grok/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-grok/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-grok/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T14:13:04.279Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-grok/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-grok/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-grok/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-grok/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T10:19:34.205Z","emptyReason":null},"readme":"Skill: grok\n\nOwner: runapi-ai\n\nSummary: Call Grok 4.7 for text through RunAPI Chat Completions, Responses, Anthropic Messages, or Gemini contents. Use Grok 4.6 through Chat Completions or Responses; use Grok 4.5 or Grok 4.20 non-reasoning through their documented interfaces.\n\nTags: latest:0.3.0\n\nVersion history:\n\nv0.3.0 | 2026-09-30T12:17:20.569Z | user\n\n## Added\n- Add Grok 4.7 through Responses with text input, streaming function tools, structured output, and low through xhigh reasoning.\n\nv0.2.7 | 2026-09-29T09:03:49.352Z | user\n\n## Added\n- grok-4.7 joins the supported model table, documented for Chat Completions and Responses with low through xhigh reasoning and function tools, and for Anthropic Messages and Gemini contents through the compatibility reference.\n\n## Changed\n- Grok 4.6 Responses now accepts the hosted web_search tool alongside function tools, so Codex CLI works with Grok 4.6.\n\n## Removed\n- grok-4.3 (retired 2026-09-28) is no longer listed; requests for it return 410 model_retired.\n  Migration: Use grok-4.5 or grok-4.6 through Chat Completions or Responses instead of grok-4.3.\n\nv0.2.6 | 2026-09-28T05:48:09.525Z | user\n\n## Fixed\n- Document Grok 4.6 Chat Completions with streaming function tools, tool results, and reasoning controls alongside Responses.\n\nv0.2.5 | 2026-08-21T06:43:21.000Z | user\n\n## Added\n- Document Grok 4.6 image input, structured output, reasoning levels, function tools, streaming completion, and unsupported hosted tools, file input, and stateful continuation.\n\nv0.2.4 | 2026-08-17T09:48:47.813Z | user\n\n## Added\n- Document Grok 4.6 image input, structured output, reasoning levels, function tools, streaming completion, and unsupported hosted tools, file input, and stateful continuation.\n\nv0.2.3 | 2026-08-12T07:36:59.025Z | user\n\n## Changed\n- Document Grok authentication, request, result verification, and stop boundaries in the primary recipe, with compatibility protocols loaded only when required.\n\nv0.2.2 | 2026-08-10T14:15:35.602Z | user\n\n## Changed\n- Complete marketplace distribution for the RunAPI Grok skill.\n\nv0.2.1 | 2026-07-21T07:20:36.383Z | user\n\n## Added\n- Document Grok 4.3 and 4.5 Responses requests, structured output, function tools, and streaming.\n\nv0.2.0 | 2026-07-20T11:43:03.448Z | user\n\n## Added\n- Add Grok 4.5 chat, streaming, reasoning, function tool, and structured output guidance.\n\nArchive index:\n\nArchive v0.3.0: 4 files, 3718 bytes\n\nFiles: references/compatibility-protocols.md (707b), skill-card.md (1838b), SKILL.md (4183b), _meta.json (130b)\n\nFile v0.3.0:SKILL.md\n\n---\nname: grok\ndescription: Call Grok 4.7 for text through RunAPI Chat Completions, Responses, Anthropic Messages, or Gemini contents. Use Grok 4.6 through Chat Completions or Responses; use Grok 4.5 or Grok 4.20 non-reasoning through their documented interfaces.\ndocumentation: https://runapi.ai/models/grok.md\nprovider_page: https://runapi.ai/providers/xai.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/grok\n    primaryEnv: OPENAI_API_KEY\n    requires:\n      env: [OPENAI_API_KEY, OPENAI_BASE_URL]\n    envVars:\n    - {name: OPENAI_API_KEY, required: true, description: RunAPI API key used by OpenAI-compatible Grok clients.}\n    - {name: OPENAI_BASE_URL, required: true, description: Set to https://runapi.ai/v1 for Grok on RunAPI.}\n---\n\n# Grok on RunAPI\n\nUse OpenAI-compatible endpoints at `https://runapi.ai/v1` as the primary protocol.\n\n## Primary protocol recipe\n\n### Authenticate\n\nSet `OPENAI_API_KEY` to a RunAPI API key and `OPENAI_BASE_URL` to `https://runapi.ai/v1`.\n\n### Send request\n\n```python\nfrom openai import OpenAI\nclient = OpenAI(api_key=\"YOUR_RUNAPI_TOKEN\", base_url=\"https://runapi.ai/v1\")\nresponse = client.responses.create(\n    model=\"grok-4.7\",\n    input=[{\n        \"role\": \"user\",\n        \"content\": [{\"type\": \"input_text\", \"text\": \"Review this rollout plan.\"}],\n    }],\n    stream=False,\n)\nprint(response.output_text)\nprint(response.usage)\n```\n\nUse Chat Completions for `grok-4.5`, `grok-4.6`, or `grok-4.7` chat workflows.\nGrok 4.6 Chat accepts `reasoning_effort=\"high\"`, `max_completion_tokens=64000`,\nfunction tools and streaming with `stream_options={\"include_usage\": True}`.\nGrok 4.7 Chat accepts text messages only. For tool continuation, retain the assistant's `tool_calls`\nand return each result as a `role=\"tool\"` message with the matching\n`tool_call_id`.\n\nUse Responses for `grok-4.5`, `grok-4.6`, or `grok-4.7`; Grok 4.6 does not\nexpose Anthropic Messages or Gemini contents. Grok 4.6 accepts function tools\nand image input; add an `input_image` part with a public `image_url` alongside\n`input_text` for image understanding. Grok 4.6 Responses also accepts hosted\n`web_search` (billed per call on top of tokens), so Codex CLI works with it.\nDo not send `input_file` or state fields such as `previous_response_id` for\nGrok 4.6 or 4.7.\n\n`grok-4.7` accepts text through Chat Completions, Responses, Anthropic\nMessages, and Gemini `contents`. Reasoning controls, function tools, tool\nhistory, structured output, image or file input, hosted tools, and cache\ncontrols are not yet verified for `grok-4.7`; send plain text requests only.\n\nFor streaming Responses, set `stream=True`\nand consume through `response.completed`, terminal `usage`, and `[DONE]`.\n\n### Verify result\n\nResponses require final output, one usage-bearing `response.completed`, and\n`[DONE]`. Chat requires final assistant content, `finish_reason`, and terminal\n`usage`.\n\n### Stop boundaries\n\nCorrect a rejected shape once using the structured error. Retry transport once\nonly before any response or Usage and when replay is safe. Record a terminal\nerror and stop without changing model or protocol. Keep\n`grok-4.20-0309-non-reasoning` text-only and stateless; add advanced controls\nonly when the current RunAPI contract verifies them for the exact model.\n\n## Compatibility protocols\n\nLoad [compatibility protocols](references/compatibility-protocols.md) only when an existing client requires Grok 4.5 or 4.7 through Anthropic Messages or Gemini contents.\n\n## Supported models\n\n| Model ID | Use when |\n|---|---|\n| `grok-4.20-0309-non-reasoning` | Verified text workloads without reasoning controls |\n| `grok-4.7` | Text through Chat Completions, Responses, Anthropic Messages, or Gemini contents; no reasoning controls, tools, structured output, or media input yet |\n| `grok-4.6` | Chat Completions and Responses, streaming function tools, tool history, and low through xhigh reasoning; Responses also supports image input and structured output |\n| `grok-4.5` | Current Grok chat and reasoning workloads |\n\n## References\n\n- <https://runapi.ai/models/grok.md>\n- <https://runapi.ai/providers/xai.md>\n- <https://runapi.ai/models.md>\n\nFile v0.3.0:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-grok\",\n  \"version\": \"0.3.0\",\n  \"publishedAt\": 1790770640569\n}\n\nFile v0.3.0:references/compatibility-protocols.md\n\n# Grok compatibility protocols\n\nLoad this reference only for an existing Anthropic Messages or Gemini contents client.\n\nFor Messages, use base URL `https://runapi.ai`, a RunAPI key, a supported exact\nmodel ID, `max_tokens`, and messages. Verify final content, `stop_reason`, and\n`usage`; streaming ends at `message_stop`.\n\nFor Gemini contents, set `RUNAPI_MODEL` to a supported exact model ID and use\n`https://runapi.ai/v1beta/models/$RUNAPI_MODEL:generateContent`\nor `streamGenerateContent` with `x-goog-api-key`. Verify candidates,\n`finishReason`, and `usageMetadata`.\n\nApply one evidence-backed shape correction, at most one safe pre-response\ntransport retry, and no automatic model or protocol hopping.\n\nFile v0.3.0:skill-card.md\n\n## Description:\n\nGuides agents in calling Grok text models through RunAPI using supported API protocols.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[runapi-ai](https://clawhub.ai/user/runapi-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and agents use this skill to configure RunAPI access, select a supported Grok model and protocol, and verify text responses.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts and other data sent through RunAPI may not meet an organization's data-handling requirements.\n\nMitigation: Check RunAPI account and data-handling requirements before sending sensitive content.\n\nRisk: Misconfigured API credentials or endpoint can route requests incorrectly or expose a key.\n\nMitigation: Set the RunAPI key and base URL deliberately, and keep the key out of shared code and logs.\n\n## Reference(s):\n\n- [Grok on RunAPI documentation](https://runapi.ai/models/grok.md)\n- [RunAPI Grok model page](https://runapi.ai/models/grok)\n- [RunAPI xAI provider documentation](https://runapi.ai/providers/xai.md)\n- [RunAPI model catalog](https://runapi.ai/models.md)\n- [Compatibility protocols](references/compatibility-protocols.md)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Code, Configuration instructions]\n\n**Output Format:** [Text or Markdown with optional code examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Streaming responses and usage details where supported]\n\n## Skill Version(s):\n\n0.3.0 (source: ClawHub release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v0.2.7: 4 files, 3709 bytes\n\nFiles: references/compatibility-protocols.md (707b), skill-card.md (1883b), SKILL.md (3925b), _meta.json (130b)\n\nFile v0.2.7:SKILL.md\n\n---\nname: grok\ndescription: Call Grok 4.7 or 4.6 through RunAPI Chat Completions or Responses; use Grok 4.5 or Grok 4.20 non-reasoning through their verified OpenAI-compatible interfaces. Use for text, streaming, tools, structured output, or an existing compatibility client that needs the conditional reference.\ndocumentation: https://runapi.ai/models/grok.md\nprovider_page: https://runapi.ai/providers/xai.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/grok\n    primaryEnv: OPENAI_API_KEY\n    requires:\n      env: [OPENAI_API_KEY, OPENAI_BASE_URL]\n    envVars:\n    - {name: OPENAI_API_KEY, required: true, description: RunAPI API key used by OpenAI-compatible Grok clients.}\n    - {name: OPENAI_BASE_URL, required: true, description: Set to https://runapi.ai/v1 for Grok on RunAPI.}\n---\n\n# Grok on RunAPI\n\nUse OpenAI-compatible endpoints at `https://runapi.ai/v1` as the primary protocol.\n\n## Primary protocol recipe\n\n### Authenticate\n\nSet `OPENAI_API_KEY` to a RunAPI API key and `OPENAI_BASE_URL` to `https://runapi.ai/v1`.\n\n### Send request\n\n```python\nfrom openai import OpenAI\nclient = OpenAI(api_key=\"YOUR_RUNAPI_TOKEN\", base_url=\"https://runapi.ai/v1\")\nresponse = client.responses.create(\n    model=\"grok-4.7\",\n    input=[{\n        \"role\": \"user\",\n        \"content\": [{\"type\": \"input_text\", \"text\": \"Review this rollout plan.\"}],\n    }],\n    stream=False,\n    reasoning={\"effort\": \"xhigh\"},\n)\nprint(response.output_text)\nprint(response.usage)\n```\n\nUse Chat Completions for `grok-4.5`, `grok-4.6`, or `grok-4.7` chat workflows.\nGrok 4.6 and 4.7 Chat accept `reasoning_effort=\"high\"`, `max_completion_tokens=64000`, function\ntools and streaming with `stream_options={\"include_usage\": True}`. For tool\ncontinuation, retain the assistant's `tool_calls` and return each result as a\n`role=\"tool\"` message with the matching `tool_call_id`.\n\nUse Responses for `grok-4.5`, `grok-4.6`, or `grok-4.7`; Grok 4.6 does not\nexpose Anthropic Messages or Gemini contents. Grok 4.6 and 4.7 accept function tools and image input; add\nan `input_image` part with a public `image_url` alongside `input_text` for image\nunderstanding. Grok 4.6 Responses also accepts the hosted `web_search` tool, so Codex CLI\nworks with Grok 4.6; web search calls are billed per call on top of tokens.\nDo not send `input_file` or state fields such as\n`previous_response_id` for Grok 4.6 or 4.7. For streaming Responses, set `stream=True`\nand consume through `response.completed`, terminal `usage`, and `[DONE]`.\n\n### Verify result\n\nResponses require final output, one usage-bearing `response.completed`, and\n`[DONE]`. Chat requires final assistant content, `finish_reason`, and terminal\n`usage`.\n\n### Stop boundaries\n\nCorrect a rejected shape once using the structured error. Retry transport once\nonly before any response or Usage and when replay is safe. Record a terminal\nerror and stop without changing model or protocol. Keep\n`grok-4.20-0309-non-reasoning` text-only and stateless; add advanced controls\nonly when the current RunAPI contract verifies them for the exact model.\n\n## Compatibility protocols\n\nLoad [compatibility protocols](references/compatibility-protocols.md) only when an existing client requires Grok 4.5 or 4.7 through Anthropic Messages or Gemini contents.\n\n## Supported models\n\n| Model ID | Use when |\n|---|---|\n| `grok-4.20-0309-non-reasoning` | Verified text workloads without reasoning controls |\n| `grok-4.7` | Newest Grok for chat and reasoning workloads, with low through xhigh reasoning and function tools |\n| `grok-4.6` | Chat Completions and Responses, streaming function tools, tool history, and low through xhigh reasoning; Responses also supports image input and structured output |\n| `grok-4.5` | Current Grok chat and reasoning workloads |\n\n## References\n\n- <https://runapi.ai/models/grok.md>\n- <https://runapi.ai/providers/xai.md>\n- <https://runapi.ai/models.md>\n\nFile v0.2.7:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-grok\",\n  \"version\": \"0.2.7\",\n  \"publishedAt\": 1790672629352\n}\n\nFile v0.2.7:references/compatibility-protocols.md\n\n# Grok compatibility protocols\n\nLoad this reference only for an existing Anthropic Messages or Gemini contents client.\n\nFor Messages, use base URL `https://runapi.ai`, a RunAPI key, a supported exact\nmodel ID, `max_tokens`, and messages. Verify final content, `stop_reason`, and\n`usage`; streaming ends at `message_stop`.\n\nFor Gemini contents, set `RUNAPI_MODEL` to a supported exact model ID and use\n`https://runapi.ai/v1beta/models/$RUNAPI_MODEL:generateContent`\nor `streamGenerateContent` with `x-goog-api-key`. Verify candidates,\n`finishReason`, and `usageMetadata`.\n\nApply one evidence-backed shape correction, at most one safe pre-response\ntransport retry, and no automatic model or protocol hopping.\n\nFile v0.2.7:skill-card.md\n\n## Description:\n\nGuides developers in using Grok models through RunAPI for chat, reasoning, streaming, tools, and structured output.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[runapi-ai](https://clawhub.ai/user/runapi-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers use this skill to configure RunAPI credentials and call supported Grok models through OpenAI-compatible endpoints, with conditional guidance for existing Anthropic or Gemini clients.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts, image URLs, and tool outputs sent through RunAPI may expose sensitive data to an external provider.\n\nMitigation: Confirm the intended provider and avoid sending sensitive data without authorization.\n\nRisk: API requests and hosted web search may incur costs.\n\nMitigation: Check usage and pricing before enabling requests or hosted web search.\n\n## Reference(s):\n\n- [RunAPI Grok documentation](https://runapi.ai/models/grok.md)\n- [RunAPI Grok model page](https://runapi.ai/models/grok)\n- [RunAPI xAI provider documentation](https://runapi.ai/providers/xai.md)\n- [RunAPI model catalog](https://runapi.ai/models.md)\n- [Compatibility protocols](references/compatibility-protocols.md)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Code, Configuration instructions]\n\n**Output Format:** [Text or Markdown with Python examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Responses may include streaming events, tool calls, and usage information.]\n\n## Skill Version(s):\n\n0.2.7 (source: ClawHub release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v0.2.6: 4 files, 3682 bytes\n\nFiles: references/compatibility-protocols.md (707b), skill-card.md (1834b), SKILL.md (3836b), _meta.json (130b)\n\nFile v0.2.6:SKILL.md\n\n---\nname: grok\ndescription: Call Grok 4.6 through RunAPI Chat Completions or Responses; use Grok 4.3, 4.5, or Grok 4.20 non-reasoning through their verified OpenAI-compatible interfaces. Use for text, streaming, tools, structured output, or an existing compatibility client that needs the conditional reference.\ndocumentation: https://runapi.ai/models/grok.md\nprovider_page: https://runapi.ai/providers/xai.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/grok\n    primaryEnv: OPENAI_API_KEY\n    requires:\n      env: [OPENAI_API_KEY, OPENAI_BASE_URL]\n    envVars:\n    - {name: OPENAI_API_KEY, required: true, description: RunAPI API key used by OpenAI-compatible Grok clients.}\n    - {name: OPENAI_BASE_URL, required: true, description: Set to https://runapi.ai/v1 for Grok on RunAPI.}\n---\n\n# Grok on RunAPI\n\nUse OpenAI-compatible endpoints at `https://runapi.ai/v1` as the primary protocol.\n\n## Primary protocol recipe\n\n### Authenticate\n\nSet `OPENAI_API_KEY` to a RunAPI API key and `OPENAI_BASE_URL` to `https://runapi.ai/v1`.\n\n### Send request\n\n```python\nfrom openai import OpenAI\nclient = OpenAI(api_key=\"YOUR_RUNAPI_TOKEN\", base_url=\"https://runapi.ai/v1\")\nresponse = client.responses.create(\n    model=\"grok-4.6\",\n    input=[{\n        \"role\": \"user\",\n        \"content\": [{\"type\": \"input_text\", \"text\": \"Review this rollout plan.\"}],\n    }],\n    stream=False,\n    reasoning={\"effort\": \"xhigh\"},\n)\nprint(response.output_text)\nprint(response.usage)\n```\n\nUse Chat Completions for `grok-4.5` or `grok-4.6` chat workflows. Grok 4.6\nChat accepts `reasoning_effort=\"high\"`, `max_completion_tokens=64000`, function\ntools and streaming with `stream_options={\"include_usage\": True}`. For tool\ncontinuation, retain the assistant's `tool_calls` and return each result as a\n`role=\"tool\"` message with the matching `tool_call_id`.\n\nUse Responses for `grok-4.3`, `grok-4.5`, or `grok-4.6`; Grok 4.6 does not\nexpose Anthropic Messages or Gemini contents. Grok 4.6 accepts function tools and image input; add\nan `input_image` part with a public `image_url` alongside `input_text` for image\nunderstanding. Only `function` tools are supported; hosted tools such as\n`web_search`, `x_search`, `file_search`, `code_interpreter`, `image_generation`,\nand `mcp` are rejected. Do not send `input_file` or state fields such as\n`previous_response_id` for Grok 4.6. For streaming Responses, set `stream=True`\nand consume through `response.completed`, terminal `usage`, and `[DONE]`.\n\n### Verify result\n\nResponses require final output, one usage-bearing `response.completed`, and\n`[DONE]`. Chat requires final assistant content, `finish_reason`, and terminal\n`usage`.\n\n### Stop boundaries\n\nCorrect a rejected shape once using the structured error. Retry transport once\nonly before any response or Usage and when replay is safe. Record a terminal\nerror and stop without changing model or protocol. Keep\n`grok-4.20-0309-non-reasoning` text-only and stateless; add advanced controls\nonly when the current RunAPI contract verifies them for the exact model.\n\n## Compatibility protocols\n\nLoad [compatibility protocols](references/compatibility-protocols.md) only when an existing client requires Grok 4.3 or 4.5 through Anthropic Messages or Gemini contents.\n\n## Supported models\n\n| Model ID | Use when |\n|---|---|\n| `grok-4.20-0309-non-reasoning` | Verified text workloads without reasoning controls |\n| `grok-4.6` | Chat Completions and Responses, streaming function tools, tool history, and low through xhigh reasoning; Responses also supports image input and structured output |\n| `grok-4.5` | Current Grok chat and reasoning workloads |\n| `grok-4.3` | Stable Grok reasoning workloads |\n\n## References\n\n- <https://runapi.ai/models/grok.md>\n- <https://runapi.ai/providers/xai.md>\n- <https://runapi.ai/models.md>\n\nFile v0.2.6:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-grok\",\n  \"version\": \"0.2.6\",\n  \"publishedAt\": 1790574489525\n}\n\nFile v0.2.6:references/compatibility-protocols.md\n\n# Grok compatibility protocols\n\nLoad this reference only for an existing Anthropic Messages or Gemini contents client.\n\nFor Messages, use base URL `https://runapi.ai`, a RunAPI key, a supported exact\nmodel ID, `max_tokens`, and messages. Verify final content, `stop_reason`, and\n`usage`; streaming ends at `message_stop`.\n\nFor Gemini contents, set `RUNAPI_MODEL` to a supported exact model ID and use\n`https://runapi.ai/v1beta/models/$RUNAPI_MODEL:generateContent`\nor `streamGenerateContent` with `x-goog-api-key`. Verify candidates,\n`finishReason`, and `usageMetadata`.\n\nApply one evidence-backed shape correction, at most one safe pre-response\ntransport retry, and no automatic model or protocol hopping.\n\nFile v0.2.6:skill-card.md\n\n## Description:\n\nGuides agents in using Grok models through RunAPI with supported request formats, streaming, tools, and response checks.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[runapi-ai](https://clawhub.ai/user/runapi-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and agents use this skill to configure RunAPI credentials and call supported Grok models through OpenAI-compatible interfaces, with conditional guidance for existing Anthropic or Gemini clients.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: An OpenAI-compatible client may send a RunAPI key or Grok request to an unintended provider if its endpoint is misconfigured.\n\nMitigation: Confirm the intended RunAPI routing before use; set OPENAI_API_KEY to a RunAPI token and OPENAI_BASE_URL to https://runapi.ai/v1.\n\n## Reference(s):\n\n- [Grok on RunAPI](https://runapi.ai/models/grok.md)\n- [RunAPI Grok model page](https://runapi.ai/models/grok)\n- [RunAPI xAI provider documentation](https://runapi.ai/providers/xai.md)\n- [RunAPI model catalog](https://runapi.ai/models.md)\n- [Compatibility protocols](references/compatibility-protocols.md)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Code, Configuration instructions]\n\n**Output Format:** [Markdown with Python examples and API guidance]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Covers supported model and protocol choices, response verification, and retry boundaries.]\n\n## Skill Version(s):\n\n0.2.6 (source: server-resolved release)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v0.2.5: 4 files, 3633 bytes\n\nFiles: references/compatibility-protocols.md (707b), skill-card.md (2119b), SKILL.md (3445b), _meta.json (130b)\n\nFile v0.2.5:SKILL.md\n\n---\nname: grok\ndescription: Call Grok 4.6 through RunAPI Responses only; use Grok 4.3, 4.5, or Grok 4.20 non-reasoning through their verified OpenAI-compatible interfaces. Use for text, streaming, tools, structured output, or an existing compatibility client that needs the conditional reference.\ndocumentation: https://runapi.ai/models/grok.md\nprovider_page: https://runapi.ai/providers/xai.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/grok\n    primaryEnv: OPENAI_API_KEY\n    requires:\n      env: [OPENAI_API_KEY, OPENAI_BASE_URL]\n    envVars:\n    - {name: OPENAI_API_KEY, required: true, description: RunAPI API key used by OpenAI-compatible Grok clients.}\n    - {name: OPENAI_BASE_URL, required: true, description: Set to https://runapi.ai/v1 for Grok on RunAPI.}\n---\n\n# Grok on RunAPI\n\nUse OpenAI-compatible endpoints at `https://runapi.ai/v1` as the primary protocol.\n\n## Primary protocol recipe\n\n### Authenticate\n\nSet `OPENAI_API_KEY` to a RunAPI API key and `OPENAI_BASE_URL` to `https://runapi.ai/v1`.\n\n### Send request\n\n```python\nfrom openai import OpenAI\nclient = OpenAI(api_key=\"YOUR_RUNAPI_TOKEN\", base_url=\"https://runapi.ai/v1\")\nresponse = client.responses.create(\n    model=\"grok-4.6\",\n    input=[{\n        \"role\": \"user\",\n        \"content\": [{\"type\": \"input_text\", \"text\": \"Review this rollout plan.\"}],\n    }],\n    stream=False,\n    reasoning={\"effort\": \"xhigh\"},\n)\nprint(response.output_text)\nprint(response.usage)\n```\n\nUse Chat Completions for `grok-4.5` chat workflows. Use Responses for\n`grok-4.3`, `grok-4.5`, or `grok-4.6`; Grok 4.6 does not expose the other\ncompatibility protocols. Grok 4.6 accepts function tools and image input; add\nan `input_image` part with a public `image_url` alongside `input_text` for image\nunderstanding. Only `function` tools are supported; hosted tools such as\n`web_search`, `x_search`, `file_search`, `code_interpreter`, `image_generation`,\nand `mcp` are rejected. Do not send `input_file` or state fields such as\n`previous_response_id` for Grok 4.6. For streaming Responses, set `stream=True`\nand consume through `response.completed`, terminal `usage`, and `[DONE]`.\n\n### Verify result\n\nResponses require final output, one usage-bearing `response.completed`, and\n`[DONE]`. Chat requires final assistant content, `finish_reason`, and terminal\n`usage`.\n\n### Stop boundaries\n\nCorrect a rejected shape once using the structured error. Retry transport once\nonly before any response or Usage and when replay is safe. Record a terminal\nerror and stop without changing model or protocol. Keep\n`grok-4.20-0309-non-reasoning` text-only and stateless; add advanced controls\nonly when the current RunAPI contract verifies them for the exact model.\n\n## Compatibility protocols\n\nLoad [compatibility protocols](references/compatibility-protocols.md) only when an existing client requires Grok 4.3 or 4.5 through Anthropic Messages or Gemini contents.\n\n## Supported models\n\n| Model ID | Use when |\n|---|---|\n| `grok-4.20-0309-non-reasoning` | Verified text workloads without reasoning controls |\n| `grok-4.6` | Responses workflows with image input, function tools, structured output, and low through xhigh reasoning |\n| `grok-4.5` | Current Grok chat and reasoning workloads |\n| `grok-4.3` | Stable Grok reasoning workloads |\n\n## References\n\n- <https://runapi.ai/models/grok.md>\n- <https://runapi.ai/providers/xai.md>\n- <https://runapi.ai/models.md>\n\nFile v0.2.5:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-grok\",\n  \"version\": \"0.2.5\",\n  \"publishedAt\": 1787294601000\n}\n\nFile v0.2.5:references/compatibility-protocols.md\n\n# Grok compatibility protocols\n\nLoad this reference only for an existing Anthropic Messages or Gemini contents client.\n\nFor Messages, use base URL `https://runapi.ai`, a RunAPI key, a supported exact\nmodel ID, `max_tokens`, and messages. Verify final content, `stop_reason`, and\n`usage`; streaming ends at `message_stop`.\n\nFor Gemini contents, set `RUNAPI_MODEL` to a supported exact model ID and use\n`https://runapi.ai/v1beta/models/$RUNAPI_MODEL:generateContent`\nor `streamGenerateContent` with `x-goog-api-key`. Verify candidates,\n`finishReason`, and `usageMetadata`.\n\nApply one evidence-backed shape correction, at most one safe pre-response\ntransport retry, and no automatic model or protocol hopping.\n\nFile v0.2.5:skill-card.md\n\n## Description:\n\nCall Grok 4.6 through RunAPI Responses only; use Grok 4.3, 4.5, or Grok 4.20 non-reasoning through their verified OpenAI-compatible interfaces.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[runapi-ai](https://clawhub.ai/user/runapi-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and engineers use this skill to configure agents or OpenAI-compatible clients for Grok models on RunAPI, including Responses, Chat Completions, streaming, function tools, structured output, and conditional Anthropic Messages or Gemini compatibility paths.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts, images, and tool-call content may be sent to RunAPI-backed Grok endpoints.\n\nMitigation: Confirm that this data sharing is intended before use and avoid sending content that policy or contract terms prohibit.\n\nRisk: RunAPI API keys can be exposed if copied into source code, logs, or shared transcripts.\n\nMitigation: Keep the RunAPI key scoped and store it only in the documented OPENAI_API_KEY environment variable.\n\n## Reference(s):\n\n- [RunAPI Grok documentation](https://runapi.ai/models/grok.md)\n- [RunAPI xAI provider documentation](https://runapi.ai/providers/xai.md)\n- [RunAPI model catalog](https://runapi.ai/models.md)\n- [RunAPI Grok homepage](https://runapi.ai/models/grok)\n- [Grok compatibility protocols](references/compatibility-protocols.md)\n\n## Skill Output:\n\n**Output Type(s):** [guidance, code, shell commands, configuration, API calls]\n\n**Output Format:** [Markdown guidance with Python code examples and environment variable configuration]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires OPENAI_API_KEY and OPENAI_BASE_URL for RunAPI-backed Grok endpoints.]\n\n## Skill Version(s):\n\n0.2.5 (source: release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v0.2.4: 4 files, 3733 bytes\n\nFiles: references/compatibility-protocols.md (707b), skill-card.md (2411b), SKILL.md (3445b), _meta.json (130b)\n\nFile v0.2.4:SKILL.md\n\n---\nname: grok\ndescription: Call Grok 4.6 through RunAPI Responses only; use Grok 4.3, 4.5, or Grok 4.20 non-reasoning through their verified OpenAI-compatible interfaces. Use for text, streaming, tools, structured output, or an existing compatibility client that needs the conditional reference.\ndocumentation: https://runapi.ai/models/grok.md\nprovider_page: https://runapi.ai/providers/xai.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/grok\n    primaryEnv: OPENAI_API_KEY\n    requires:\n      env: [OPENAI_API_KEY, OPENAI_BASE_URL]\n    envVars:\n    - {name: OPENAI_API_KEY, required: true, description: RunAPI API key used by OpenAI-compatible Grok clients.}\n    - {name: OPENAI_BASE_URL, required: true, description: Set to https://runapi.ai/v1 for Grok on RunAPI.}\n---\n\n# Grok on RunAPI\n\nUse OpenAI-compatible endpoints at `https://runapi.ai/v1` as the primary protocol.\n\n## Primary protocol recipe\n\n### Authenticate\n\nSet `OPENAI_API_KEY` to a RunAPI API key and `OPENAI_BASE_URL` to `https://runapi.ai/v1`.\n\n### Send request\n\n```python\nfrom openai import OpenAI\nclient = OpenAI(api_key=\"YOUR_RUNAPI_TOKEN\", base_url=\"https://runapi.ai/v1\")\nresponse = client.responses.create(\n    model=\"grok-4.6\",\n    input=[{\n        \"role\": \"user\",\n        \"content\": [{\"type\": \"input_text\", \"text\": \"Review this rollout plan.\"}],\n    }],\n    stream=False,\n    reasoning={\"effort\": \"xhigh\"},\n)\nprint(response.output_text)\nprint(response.usage)\n```\n\nUse Chat Completions for `grok-4.5` chat workflows. Use Responses for\n`grok-4.3`, `grok-4.5`, or `grok-4.6`; Grok 4.6 does not expose the other\ncompatibility protocols. Grok 4.6 accepts function tools and image input; add\nan `input_image` part with a public `image_url` alongside `input_text` for image\nunderstanding. Only `function` tools are supported; hosted tools such as\n`web_search`, `x_search`, `file_search`, `code_interpreter`, `image_generation`,\nand `mcp` are rejected. Do not send `input_file` or state fields such as\n`previous_response_id` for Grok 4.6. For streaming Responses, set `stream=True`\nand consume through `response.completed`, terminal `usage`, and `[DONE]`.\n\n### Verify result\n\nResponses require final output, one usage-bearing `response.completed`, and\n`[DONE]`. Chat requires final assistant content, `finish_reason`, and terminal\n`usage`.\n\n### Stop boundaries\n\nCorrect a rejected shape once using the structured error. Retry transport once\nonly before any response or Usage and when replay is safe. Record a terminal\nerror and stop without changing model or protocol. Keep\n`grok-4.20-0309-non-reasoning` text-only and stateless; add advanced controls\nonly when the current RunAPI contract verifies them for the exact model.\n\n## Compatibility protocols\n\nLoad [compatibility protocols](references/compatibility-protocols.md) only when an existing client requires Grok 4.3 or 4.5 through Anthropic Messages or Gemini contents.\n\n## Supported models\n\n| Model ID | Use when |\n|---|---|\n| `grok-4.20-0309-non-reasoning` | Verified text workloads without reasoning controls |\n| `grok-4.6` | Responses workflows with image input, function tools, structured output, and low through xhigh reasoning |\n| `grok-4.5` | Current Grok chat and reasoning workloads |\n| `grok-4.3` | Stable Grok reasoning workloads |\n\n## References\n\n- <https://runapi.ai/models/grok.md>\n- <https://runapi.ai/providers/xai.md>\n- <https://runapi.ai/models.md>\n\nFile v0.2.4:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-grok\",\n  \"version\": \"0.2.4\",\n  \"publishedAt\": 1786960127813\n}\n\nFile v0.2.4:references/compatibility-protocols.md\n\n# Grok compatibility protocols\n\nLoad this reference only for an existing Anthropic Messages or Gemini contents client.\n\nFor Messages, use base URL `https://runapi.ai`, a RunAPI key, a supported exact\nmodel ID, `max_tokens`, and messages. Verify final content, `stop_reason`, and\n`usage`; streaming ends at `message_stop`.\n\nFor Gemini contents, set `RUNAPI_MODEL` to a supported exact model ID and use\n`https://runapi.ai/v1beta/models/$RUNAPI_MODEL:generateContent`\nor `streamGenerateContent` with `x-goog-api-key`. Verify candidates,\n`finishReason`, and `usageMetadata`.\n\nApply one evidence-backed shape correction, at most one safe pre-response\ntransport retry, and no automatic model or protocol hopping.\n\nFile v0.2.4:skill-card.md\n\n## Description:\n\nCall Grok 4.6 through RunAPI Responses only; use Grok 4.3, 4.5, or Grok 4.20 non-reasoning through their verified OpenAI-compatible interfaces.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[runapi-ai](https://clawhub.ai/user/runapi-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and agents use this skill to call Grok models through RunAPI's documented OpenAI-compatible endpoints, including Responses workflows, streaming, structured output, image input, and compatible client integrations.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts and image URLs are sent to RunAPI when the skill's API examples are used.\n\nMitigation: Review data-sharing requirements before use and avoid sending sensitive content unless RunAPI is approved for that data.\n\nRisk: OPENAI_API_KEY is required and should contain a RunAPI key for the configured base URL.\n\nMitigation: Store the key in the agent's secret-management path and pair it with OPENAI_BASE_URL=https://runapi.ai/v1.\n\nRisk: Unsupported hosted tools, file inputs, or stateful continuation fields can cause rejected requests.\n\nMitigation: Use the documented Grok 4.6 request shape and change rejected shapes once using the provider's structured error.\n\n## Reference(s):\n\n- [RunAPI Grok documentation](https://runapi.ai/models/grok.md)\n- [RunAPI xAI provider page](https://runapi.ai/providers/xai.md)\n- [RunAPI model catalog](https://runapi.ai/models.md)\n- [RunAPI Grok homepage](https://runapi.ai/models/grok)\n- [Grok compatibility protocols](references/compatibility-protocols.md)\n- [ClawHub skill page](https://clawhub.ai/runapi-ai/skills/runapi-grok)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with Python examples, endpoint configuration, and protocol-specific verification guidance]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires OPENAI_API_KEY and OPENAI_BASE_URL for RunAPI-compatible clients]\n\n## Skill Version(s):\n\n0.2.4 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v0.2.3: 4 files, 3360 bytes\n\nFiles: references/compatibility-protocols.md (707b), skill-card.md (2398b), SKILL.md (2684b), _meta.json (130b)\n\nFile v0.2.3:SKILL.md\n\n---\nname: grok\ndescription: Call Grok 4.3, 4.5, and Grok 4.20 non-reasoning through RunAPI using OpenAI-compatible Chat Completions and Responses. Use for text, streaming, tools, structured output, or an existing compatibility client that needs the conditional reference.\ndocumentation: https://runapi.ai/models/grok.md\nprovider_page: https://runapi.ai/providers/xai.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/grok\n    primaryEnv: OPENAI_API_KEY\n    requires:\n      env: [OPENAI_API_KEY, OPENAI_BASE_URL]\n    envVars:\n    - {name: OPENAI_API_KEY, required: true, description: RunAPI API key used by OpenAI-compatible Grok clients.}\n    - {name: OPENAI_BASE_URL, required: true, description: Set to https://runapi.ai/v1 for Grok on RunAPI.}\n---\n\n# Grok on RunAPI\n\nUse OpenAI-compatible endpoints at `https://runapi.ai/v1` as the primary protocol.\n\n## Primary protocol recipe\n\n### Authenticate\n\nSet `OPENAI_API_KEY` to a RunAPI API key and `OPENAI_BASE_URL` to `https://runapi.ai/v1`.\n\n### Send request\n\n```python\nfrom openai import OpenAI\nclient = OpenAI(api_key=\"YOUR_RUNAPI_TOKEN\", base_url=\"https://runapi.ai/v1\")\nresponse = client.responses.create(\n    model=\"grok-4.5\",\n    input=\"Review this rollout plan.\",\n    reasoning={\"effort\": \"high\"},\n)\nprint(response.output_text)\nprint(response.usage)\n```\n\nUse Chat Completions for `grok-4.5` chat workflows and Responses for\n`grok-4.3` or `grok-4.5`. For streaming Responses, set `stream=True` and consume\nthrough `response.completed` and `[DONE]`.\n\n### Verify result\n\nResponses require final output, one usage-bearing `response.completed`, and\n`[DONE]` for SSE. Chat requires final assistant content, `finish_reason`, and\nterminal `usage`.\n\n### Stop boundaries\n\nCorrect a rejected shape once using the structured error. Retry transport once\nonly before any response or Usage and when replay is safe. Record a terminal\nerror and stop without changing model or protocol. Keep\n`grok-4.20-0309-non-reasoning` text-only and stateless; add advanced controls\nonly when the current RunAPI contract verifies them for the exact model.\n\n## Compatibility protocols\n\nLoad [compatibility protocols](references/compatibility-protocols.md) only when an existing client requires Anthropic Messages or Gemini contents.\n\n## Supported models\n\n| Model ID | Use when |\n|---|---|\n| `grok-4.20-0309-non-reasoning` | Verified text workloads without reasoning controls |\n| `grok-4.5` | Current Grok chat and reasoning workloads |\n| `grok-4.3` | Stable Grok reasoning workloads |\n\n## References\n\n- <https://runapi.ai/models/grok.md>\n- <https://runapi.ai/providers/xai.md>\n- <https://runapi.ai/models.md>\n\nFile v0.2.3:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-grok\",\n  \"version\": \"0.2.3\",\n  \"publishedAt\": 1786520219025\n}\n\nFile v0.2.3:references/compatibility-protocols.md\n\n# Grok compatibility protocols\n\nLoad this reference only for an existing Anthropic Messages or Gemini contents client.\n\nFor Messages, use base URL `https://runapi.ai`, a RunAPI key, a supported exact\nmodel ID, `max_tokens`, and messages. Verify final content, `stop_reason`, and\n`usage`; streaming ends at `message_stop`.\n\nFor Gemini contents, set `RUNAPI_MODEL` to a supported exact model ID and use\n`https://runapi.ai/v1beta/models/$RUNAPI_MODEL:generateContent`\nor `streamGenerateContent` with `x-goog-api-key`. Verify candidates,\n`finishReason`, and `usageMetadata`.\n\nApply one evidence-backed shape correction, at most one safe pre-response\ntransport retry, and no automatic model or protocol hopping.\n\nFile v0.2.3:skill-card.md\n\n## Description:\n\nCall Grok 4.3, 4.5, and Grok 4.20 non-reasoning through RunAPI using OpenAI-compatible Chat Completions and Responses.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[runapi-ai](https://clawhub.ai/user/runapi-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and agent builders use this skill to configure Grok requests through RunAPI with OpenAI-compatible Chat Completions or Responses, including streaming, tools, structured output, and conditional compatibility protocols.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill routes prompts and data to the external RunAPI service.\n\nMitigation: Use it only when routing Grok requests through RunAPI is intended, and review generated requests before sending sensitive data.\n\nRisk: The skill requires API credentials for RunAPI/OpenAI-compatible clients.\n\nMitigation: Keep API keys in environment variables or a secret manager and avoid committing them to source control.\n\nRisk: Incorrect request shapes or automatic model and protocol changes could cause failed or unintended calls.\n\nMitigation: Apply only one evidence-backed shape correction, retry transport only once when safe, and avoid automatic model or protocol hopping.\n\n## Reference(s):\n\n- [RunAPI Grok model documentation](https://runapi.ai/models/grok.md)\n- [RunAPI xAI provider documentation](https://runapi.ai/providers/xai.md)\n- [RunAPI model catalog](https://runapi.ai/models.md)\n- [RunAPI Grok homepage](https://runapi.ai/models/grok)\n- [Grok compatibility protocols](references/compatibility-protocols.md)\n- [ClawHub skill page](https://clawhub.ai/runapi-ai/skills/runapi-grok)\n\n## Skill Output:\n\n**Output Type(s):** [guidance, code, configuration]\n\n**Output Format:** [Markdown with Python code examples and configuration values]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Includes model IDs, environment variable names, endpoint URLs, verification expectations, retry boundaries, and conditional compatibility guidance.]\n\n## Skill Version(s):\n\n0.2.3 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v0.2.2: 3 files, 3936 bytes\n\nFiles: skill-card.md (2247b), SKILL.md (7444b), _meta.json (130b)\n\nFile v0.2.2:SKILL.md\n\n---\nname: grok\ndescription: Call Grok 4.3, 4.5, and Grok 4.20 non-reasoning through RunAPI with the official OpenAI SDK or compatible clients.\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/grok\n    primaryEnv: OPENAI_API_KEY\n    requires:\n      env:\n      - OPENAI_API_KEY\n      - OPENAI_BASE_URL\n    envVars:\n    - name: OPENAI_API_KEY\n      required: true\n      description: RunAPI API key used by OpenAI-compatible Grok clients.\n    - name: OPENAI_BASE_URL\n      required: true\n      description: Set to https://runapi.ai/v1 for Grok on RunAPI.\n---\n\n# Grok on RunAPI\n\nUse the official OpenAI SDK or any OpenAI-compatible HTTP client. Set the base\nURL to `https://runapi.ai/v1`. Use Chat Completions with `grok-4.5`, or use\nResponses with `grok-4.3` or `grok-4.5`.\n\nUse `grok-4.20-0309-non-reasoning` for text-only Chat, Responses, or Messages\nrequests. It is stateless and supports only basic system/user/assistant history;\ntools, structured output, images, caching, and continuation fields are rejected.\n\n## Setup\n\n```dotenv\nOPENAI_API_KEY=YOUR_RUNAPI_TOKEN\nOPENAI_BASE_URL=https://runapi.ai/v1\n```\n\nGet a RunAPI API Key at <https://runapi.ai/api_keys>.\n\n## Chat Completions\n\n```python\nfrom openai import OpenAI\n\nclient = OpenAI(\n    api_key=\"YOUR_RUNAPI_TOKEN\",\n    base_url=\"https://runapi.ai/v1\",\n)\n\nresponse = client.chat.completions.create(\n    model=\"grok-4.5\",\n    messages=[{\"role\": \"user\", \"content\": \"Review this implementation plan.\"}],\n    reasoning_effort=\"high\",\n)\nprint(response.choices[0].message.content)\nprint(response.usage)\n```\n\n```typescript\nimport OpenAI from \"openai\";\n\nconst client = new OpenAI({\n  apiKey: \"YOUR_RUNAPI_TOKEN\",\n  baseURL: \"https://runapi.ai/v1\",\n});\n\nconst response = await client.chat.completions.create({\n  model: \"grok-4.5\",\n  messages: [{ role: \"user\", content: \"Review this implementation plan.\" }],\n  reasoning_effort: \"high\",\n});\nconsole.log(response.choices[0].message.content);\n```\n\n## Responses\n\nUse `client.responses.create` with either exact model id. This synchronous\nexample requests strict structured output:\n\n```python\nresponse = client.responses.create(\n    model=\"grok-4.3\",\n    input=\"Return the highest rollout risk and its severity.\",\n    reasoning={\"effort\": \"high\"},\n    text={\n        \"format\": {\n            \"type\": \"json_schema\",\n            \"name\": \"rollout_risk\",\n            \"strict\": True,\n            \"schema\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"risk\": {\"type\": \"string\"},\n                    \"severity\": {\"type\": \"string\", \"enum\": [\"low\", \"medium\", \"high\"]},\n                },\n                \"required\": [\"risk\", \"severity\"],\n                \"additionalProperties\": False,\n            },\n        }\n    },\n)\nprint(response.output_text)\nprint(response.usage)\n```\n\nResponses function tools use a flat tool definition. For a streaming request:\n\n```python\nstream = client.responses.create(\n    model=\"grok-4.5\",\n    input=\"What is the weather in Shanghai?\",\n    stream=True,\n    tools=[{\n        \"type\": \"function\",\n        \"name\": \"get_weather\",\n        \"description\": \"Get current weather for a city\",\n        \"parameters\": {\n            \"type\": \"object\",\n            \"properties\": {\n                \"city\": {\n                    \"type\": \"string\",\n                },\n            },\n            \"required\": [\"city\"],\n            \"additionalProperties\": False,\n        },\n    }],\n    tool_choice=\"auto\",\n)\n\nfor event in stream:\n    if event.type == \"response.function_call_arguments.delta\":\n        print(event.delta, end=\"\", flush=True)\n```\n\nDo not treat a Responses stream as complete until it includes\n`response.completed`, terminal `usage`, and `[DONE]`.\n\n## Streaming\n\nRequest terminal usage with `stream_options.include_usage` so the final event\ncontains the authoritative token counts before `[DONE]`.\n\n```python\nstream = client.chat.completions.create(\n    model=\"grok-4.5\",\n    messages=[{\"role\": \"user\", \"content\": \"Draft a concise rollout checklist.\"}],\n    reasoning_effort=\"medium\",\n    stream=True,\n    stream_options={\"include_usage\": True},\n)\n\nfor chunk in stream:\n    if chunk.choices and chunk.choices[0].delta.content:\n        print(chunk.choices[0].delta.content, end=\"\", flush=True)\n    if chunk.usage:\n        print(f\"\\n{chunk.usage}\")\n```\n\n## Function Tools\n\n```python\nresponse = client.chat.completions.create(\n    model=\"grok-4.5\",\n    messages=[{\"role\": \"user\", \"content\": \"What is the weather in Shanghai?\"}],\n    tools=[{\n        \"type\": \"function\",\n        \"function\": {\n            \"name\": \"get_weather\",\n            \"description\": \"Get current weather for a city\",\n            \"parameters\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"city\": {\n                        \"type\": \"string\",\n                    },\n                },\n                \"required\": [\"city\"],\n                \"additionalProperties\": False,\n            },\n        },\n    }],\n)\n\nfor tool_call in response.choices[0].message.tool_calls or []:\n    print(tool_call.function.name, tool_call.function.arguments)\n```\n\n## Structured Output\n\n```python\nresponse = client.chat.completions.create(\n    model=\"grok-4.5\",\n    messages=[{\"role\": \"user\", \"content\": \"Return a risk assessment.\"}],\n    response_format={\n        \"type\": \"json_schema\",\n        \"json_schema\": {\n            \"name\": \"risk_assessment\",\n            \"strict\": True,\n            \"schema\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"risk\": {\"type\": \"string\"},\n                    \"severity\": {\"type\": \"string\", \"enum\": [\"low\", \"medium\", \"high\"]},\n                },\n                \"required\": [\"risk\", \"severity\"],\n                \"additionalProperties\": False,\n            },\n        },\n    },\n)\nprint(response.choices[0].message.content)\n```\n\n## Protocol compatibility\n\nGrok text models are available through RunAPI's OpenAI-compatible Chat\nCompletions and Responses interfaces, Anthropic-compatible Messages interface,\nand Gemini `contents` interface. RunAPI preserves the exact public model ids\n`grok-4.3` and `grok-4.5` across request protocols; use the protocol already\nexpected by your application or agent runtime.\n\n## Request Rules\n\n- Use the exact model id `grok-4.3` or `grok-4.5`; do not send historical Grok aliases.\n- `reasoning_effort` accepts `low`, `medium`, or `high`; omit it to use the model default.\n- Do not send `presence_penalty`, `frequency_penalty`, or `stop` with this reasoning model.\n- Preserve terminal `usage` when storing or displaying billing evidence.\n\n## Supported models\n\n| Model ID | Use when |\n|---|---|\n| `grok-4.20-0309-non-reasoning` | — |\n| `grok-4.5` | Chat, coding, reasoning, tools, and structured output |\n| `grok-4.3` | Responses, reasoning, function tools, and structured output |\n\n## References\n\n- Grok 4.3 overview and pricing: https://runapi.ai/models/grok/4.3.md\n- Grok 4.5 overview and pricing: https://runapi.ai/models/grok/4.5.md\n- Provider page: https://runapi.ai/providers/xai.md\n- Catalog: https://runapi.ai/models.md\n\n## Agent rules\n\n- Keep API keys in `OPENAI_API_KEY`, `RUNAPI_TOKEN`, or a secret manager.\n- Default Grok 4.5 chat integrations to `POST /v1/chat/completions`; use `POST /v1/responses` for Grok 4.3 and Responses-native workflows.\n- Prefer streaming for longer responses and request terminal usage.\n- Link to the catalog page for pricing instead of copying price values.\n\nFile v0.2.2:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-grok\",\n  \"version\": \"0.2.2\",\n  \"publishedAt\": 1786371335602\n}\n\nFile v0.2.2:skill-card.md\n\n## Description:\n\nCall Grok 4.3, 4.5, and Grok 4.20 non-reasoning through RunAPI with the official OpenAI SDK or compatible clients.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[runapi-ai](https://clawhub.ai/user/runapi-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and agents use this skill to configure RunAPI-hosted Grok models through OpenAI-compatible clients, including Chat Completions, Responses, streaming, function tools, and structured output workflows.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Requests are sent to RunAPI as a third-party model provider, which may affect handling of secrets, regulated data, or confidential material.\n\nMitigation: Use this skill only when organizational policy approves RunAPI for the data being sent, and avoid transmitting sensitive data unless approved.\n\nRisk: The skill requires API credentials for RunAPI-compatible clients.\n\nMitigation: Store API keys in environment variables or a secret manager, and avoid hard-coding credentials in prompts, scripts, or source files.\n\n## Reference(s):\n\n- [RunAPI Grok model page](https://runapi.ai/models/grok)\n- [Grok 4.3 overview and pricing](https://runapi.ai/models/grok/4.3.md)\n- [Grok 4.5 overview and pricing](https://runapi.ai/models/grok/4.5.md)\n- [RunAPI xAI provider page](https://runapi.ai/providers/xai.md)\n- [RunAPI model catalog](https://runapi.ai/models.md)\n- [ClawHub skill page](https://clawhub.ai/runapi-ai/skills/runapi-grok)\n- [RunAPI publisher profile](https://clawhub.ai/user/runapi-ai)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Code, Configuration, Guidance]\n\n**Output Format:** [Markdown with code examples and configuration snippets]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Includes OpenAI-compatible API usage patterns and environment variable requirements for RunAPI.]\n\n## Skill Version(s):\n\n0.2.2 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v0.2.1: 3 files, 3811 bytes\n\nFiles: skill-card.md (2233b), SKILL.md (7335b), _meta.json (130b)\n\nFile v0.2.1:SKILL.md\n\n---\nname: grok\ndescription: Call Grok 4.3 and 4.5 through RunAPI with the official OpenAI SDK or compatible clients. Use when the user asks for Grok Chat Completions, Responses, streaming, reasoning effort, function tools, structured JSON output, or wants to point an OpenAI-compatible client at RunAPI.\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/grok\n    primaryEnv: OPENAI_API_KEY\n    requires:\n      env:\n      - OPENAI_API_KEY\n      - OPENAI_BASE_URL\n    envVars:\n    - name: OPENAI_API_KEY\n      required: true\n      description: RunAPI API key used by OpenAI-compatible Grok clients.\n    - name: OPENAI_BASE_URL\n      required: true\n      description: Set to https://runapi.ai/v1 for Grok on RunAPI.\n---\n\n# Grok 4.3 and 4.5 on RunAPI\n\nUse the official OpenAI SDK or any OpenAI-compatible HTTP client. Set the base\nURL to `https://runapi.ai/v1`. Use Chat Completions with `grok-4.5`, or use\nResponses with `grok-4.3` or `grok-4.5`.\n\n## Setup\n\n```dotenv\nOPENAI_API_KEY=YOUR_RUNAPI_TOKEN\nOPENAI_BASE_URL=https://runapi.ai/v1\n```\n\nGet a RunAPI API Key at <https://runapi.ai/api_keys>.\n\n## Chat Completions\n\n```python\nfrom openai import OpenAI\n\nclient = OpenAI(\n    api_key=\"YOUR_RUNAPI_TOKEN\",\n    base_url=\"https://runapi.ai/v1\",\n)\n\nresponse = client.chat.completions.create(\n    model=\"grok-4.5\",\n    messages=[{\"role\": \"user\", \"content\": \"Review this implementation plan.\"}],\n    reasoning_effort=\"high\",\n)\nprint(response.choices[0].message.content)\nprint(response.usage)\n```\n\n```typescript\nimport OpenAI from \"openai\";\n\nconst client = new OpenAI({\n  apiKey: \"YOUR_RUNAPI_TOKEN\",\n  baseURL: \"https://runapi.ai/v1\",\n});\n\nconst response = await client.chat.completions.create({\n  model: \"grok-4.5\",\n  messages: [{ role: \"user\", content: \"Review this implementation plan.\" }],\n  reasoning_effort: \"high\",\n});\nconsole.log(response.choices[0].message.content);\n```\n\n## Responses\n\nUse `client.responses.create` with either exact model id. This synchronous\nexample requests strict structured output:\n\n```python\nresponse = client.responses.create(\n    model=\"grok-4.3\",\n    input=\"Return the highest rollout risk and its severity.\",\n    reasoning={\"effort\": \"high\"},\n    text={\n        \"format\": {\n            \"type\": \"json_schema\",\n            \"name\": \"rollout_risk\",\n            \"strict\": True,\n            \"schema\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"risk\": {\"type\": \"string\"},\n                    \"severity\": {\"type\": \"string\", \"enum\": [\"low\", \"medium\", \"high\"]},\n                },\n                \"required\": [\"risk\", \"severity\"],\n                \"additionalProperties\": False,\n            },\n        }\n    },\n)\nprint(response.output_text)\nprint(response.usage)\n```\n\nResponses function tools use a flat tool definition. For a streaming request:\n\n```python\nstream = client.responses.create(\n    model=\"grok-4.5\",\n    input=\"What is the weather in Shanghai?\",\n    stream=True,\n    tools=[{\n        \"type\": \"function\",\n        \"name\": \"get_weather\",\n        \"description\": \"Get current weather for a city\",\n        \"parameters\": {\n            \"type\": \"object\",\n            \"properties\": {\n                \"city\": {\n                    \"type\": \"string\",\n                },\n            },\n            \"required\": [\"city\"],\n            \"additionalProperties\": False,\n        },\n    }],\n    tool_choice=\"auto\",\n)\n\nfor event in stream:\n    if event.type == \"response.function_call_arguments.delta\":\n        print(event.delta, end=\"\", flush=True)\n```\n\nDo not treat a Responses stream as complete until it includes\n`response.completed`, terminal `usage`, and `[DONE]`.\n\n## Streaming\n\nRequest terminal usage with `stream_options.include_usage` so the final event\ncontains the authoritative token counts before `[DONE]`.\n\n```python\nstream = client.chat.completions.create(\n    model=\"grok-4.5\",\n    messages=[{\"role\": \"user\", \"content\": \"Draft a concise rollout checklist.\"}],\n    reasoning_effort=\"medium\",\n    stream=True,\n    stream_options={\"include_usage\": True},\n)\n\nfor chunk in stream:\n    if chunk.choices and chunk.choices[0].delta.content:\n        print(chunk.choices[0].delta.content, end=\"\", flush=True)\n    if chunk.usage:\n        print(f\"\\n{chunk.usage}\")\n```\n\n## Function Tools\n\n```python\nresponse = client.chat.completions.create(\n    model=\"grok-4.5\",\n    messages=[{\"role\": \"user\", \"content\": \"What is the weather in Shanghai?\"}],\n    tools=[{\n        \"type\": \"function\",\n        \"function\": {\n            \"name\": \"get_weather\",\n            \"description\": \"Get current weather for a city\",\n            \"parameters\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"city\": {\n                        \"type\": \"string\",\n                    },\n                },\n                \"required\": [\"city\"],\n                \"additionalProperties\": False,\n            },\n        },\n    }],\n)\n\nfor tool_call in response.choices[0].message.tool_calls or []:\n    print(tool_call.function.name, tool_call.function.arguments)\n```\n\n## Structured Output\n\n```python\nresponse = client.chat.completions.create(\n    model=\"grok-4.5\",\n    messages=[{\"role\": \"user\", \"content\": \"Return a risk assessment.\"}],\n    response_format={\n        \"type\": \"json_schema\",\n        \"json_schema\": {\n            \"name\": \"risk_assessment\",\n            \"strict\": True,\n            \"schema\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"risk\": {\"type\": \"string\"},\n                    \"severity\": {\"type\": \"string\", \"enum\": [\"low\", \"medium\", \"high\"]},\n                },\n                \"required\": [\"risk\", \"severity\"],\n                \"additionalProperties\": False,\n            },\n        },\n    },\n)\nprint(response.choices[0].message.content)\n```\n\n## Protocol compatibility\n\nGrok text models are available through RunAPI's OpenAI-compatible Chat\nCompletions and Responses interfaces, Anthropic-compatible Messages interface,\nand Gemini `contents` interface. RunAPI preserves the exact public model ids\n`grok-4.3` and `grok-4.5` across request protocols; use the protocol already\nexpected by your application or agent runtime.\n\n## Request Rules\n\n- Use the exact model id `grok-4.3` or `grok-4.5`; do not send historical Grok aliases.\n- `reasoning_effort` accepts `low`, `medium`, or `high`; omit it to use the model default.\n- Do not send `presence_penalty`, `frequency_penalty`, or `stop` with this reasoning model.\n- Preserve terminal `usage` when storing or displaying billing evidence.\n\n## Supported models\n\n| Model ID | Use when |\n|---|---|\n| `grok-4.5` | Chat, coding, reasoning, tools, and structured output |\n| `grok-4.3` | Responses, reasoning, function tools, and structured output |\n\n## References\n\n- Grok 4.3 overview and pricing: https://runapi.ai/models/grok/4.3.md\n- Grok 4.5 overview and pricing: https://runapi.ai/models/grok/4.5.md\n- Provider page: https://runapi.ai/providers/xai.md\n- Catalog: https://runapi.ai/models.md\n\n## Agent rules\n\n- Keep API keys in `OPENAI_API_KEY`, `RUNAPI_TOKEN`, or a secret manager.\n- Default Grok 4.5 chat integrations to `POST /v1/chat/completions`; use `POST /v1/responses` for Grok 4.3 and Responses-native workflows.\n- Prefer streaming for longer responses and request terminal usage.\n- Link to the catalog page for pricing instead of copying price values.\n\nFile v0.2.1:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-grok\",\n  \"version\": \"0.2.1\",\n  \"publishedAt\": 1784618436383\n}\n\nFile v0.2.1:skill-card.md\n\n## Description: <br>\nCall Grok 4.3 and 4.5 through RunAPI with the official OpenAI SDK or compatible clients. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[runapi-ai](https://clawhub.ai/user/runapi-ai) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and agent builders use this skill to configure Grok 4.3 and 4.5 requests through RunAPI with OpenAI-compatible clients, including Chat Completions, Responses, streaming, function tools, and structured JSON output. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Requests may be routed to the wrong provider if OPENAI_BASE_URL is not set for RunAPI. <br>\nMitigation: Set OPENAI_BASE_URL to https://runapi.ai/v1 before using the examples. <br>\nRisk: OPENAI_API_KEY may already contain a token for another provider in the user's environment. <br>\nMitigation: Confirm the value is a RunAPI token or use a secret manager with provider-specific scoping. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/runapi-ai/skills/runapi-grok) <br>\n- [RunAPI Grok model page](https://runapi.ai/models/grok) <br>\n- [Grok 4.3 overview and pricing](https://runapi.ai/models/grok/4.3.md) <br>\n- [Grok 4.5 overview and pricing](https://runapi.ai/models/grok/4.5.md) <br>\n- [RunAPI xAI provider page](https://runapi.ai/providers/xai.md) <br>\n- [RunAPI model catalog](https://runapi.ai/models.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, code, configuration, guidance] <br>\n**Output Format:** [Markdown with dotenv, Python, and TypeScript code blocks] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Guidance focuses on OpenAI-compatible RunAPI requests, environment variables, streaming usage events, function tools, and structured output examples.] <br>\n\n## Skill Version(s): <br>\n0.2.1 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.2.0: 3 files, 3421 bytes\n\nFiles: skill-card.md (2140b), SKILL.md (5288b), _meta.json (130b)\n\nFile v0.2.0:SKILL.md\n\n---\nname: grok\ndescription: Call Grok 4.5 through RunAPI with the official OpenAI SDK or compatible clients. Use when the user asks for Grok chat, streaming completions, reasoning effort, function tools, structured JSON output, or wants to point an OpenAI-compatible client at RunAPI.\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/grok\n    primaryEnv: OPENAI_API_KEY\n    requires:\n      env:\n      - OPENAI_API_KEY\n      - OPENAI_BASE_URL\n    envVars:\n    - name: OPENAI_API_KEY\n      required: true\n      description: RunAPI API key used by OpenAI-compatible Grok clients.\n    - name: OPENAI_BASE_URL\n      required: true\n      description: Set to https://runapi.ai/v1 for Grok on RunAPI.\n---\n\n# Grok 4.5 on RunAPI\n\nUse the official OpenAI SDK or any OpenAI-compatible HTTP client. Set the base\nURL to `https://runapi.ai/v1` and call Chat Completions with `grok-4.5`.\n\n## Setup\n\n```dotenv\nOPENAI_API_KEY=YOUR_RUNAPI_TOKEN\nOPENAI_BASE_URL=https://runapi.ai/v1\n```\n\nGet a RunAPI API Key at <https://runapi.ai/api_keys>.\n\n## Chat Completions\n\n```python\nfrom openai import OpenAI\n\nclient = OpenAI(\n    api_key=\"YOUR_RUNAPI_TOKEN\",\n    base_url=\"https://runapi.ai/v1\",\n)\n\nresponse = client.chat.completions.create(\n    model=\"grok-4.5\",\n    messages=[{\"role\": \"user\", \"content\": \"Review this implementation plan.\"}],\n    reasoning_effort=\"high\",\n)\nprint(response.choices[0].message.content)\nprint(response.usage)\n```\n\n```typescript\nimport OpenAI from \"openai\";\n\nconst client = new OpenAI({\n  apiKey: \"YOUR_RUNAPI_TOKEN\",\n  baseURL: \"https://runapi.ai/v1\",\n});\n\nconst response = await client.chat.completions.create({\n  model: \"grok-4.5\",\n  messages: [{ role: \"user\", content: \"Review this implementation plan.\" }],\n  reasoning_effort: \"high\",\n});\nconsole.log(response.choices[0].message.content);\n```\n\n## Streaming\n\nRequest terminal usage with `stream_options.include_usage` so the final event\ncontains the authoritative token counts before `[DONE]`.\n\n```python\nstream = client.chat.completions.create(\n    model=\"grok-4.5\",\n    messages=[{\"role\": \"user\", \"content\": \"Draft a concise rollout checklist.\"}],\n    reasoning_effort=\"medium\",\n    stream=True,\n    stream_options={\"include_usage\": True},\n)\n\nfor chunk in stream:\n    if chunk.choices and chunk.choices[0].delta.content:\n        print(chunk.choices[0].delta.content, end=\"\", flush=True)\n    if chunk.usage:\n        print(f\"\\n{chunk.usage}\")\n```\n\n## Function Tools\n\n```python\nresponse = client.chat.completions.create(\n    model=\"grok-4.5\",\n    messages=[{\"role\": \"user\", \"content\": \"What is the weather in Shanghai?\"}],\n    tools=[{\n        \"type\": \"function\",\n        \"function\": {\n            \"name\": \"get_weather\",\n            \"description\": \"Get current weather for a city\",\n            \"parameters\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"city\": {\n                        \"type\": \"string\",\n                    },\n                },\n                \"required\": [\"city\"],\n                \"additionalProperties\": False,\n            },\n        },\n    }],\n)\n\nfor tool_call in response.choices[0].message.tool_calls or []:\n    print(tool_call.function.name, tool_call.function.arguments)\n```\n\n## Structured Output\n\n```python\nresponse = client.chat.completions.create(\n    model=\"grok-4.5\",\n    messages=[{\"role\": \"user\", \"content\": \"Return a risk assessment.\"}],\n    response_format={\n        \"type\": \"json_schema\",\n        \"json_schema\": {\n            \"name\": \"risk_assessment\",\n            \"strict\": True,\n            \"schema\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"risk\": {\"type\": \"string\"},\n                    \"severity\": {\"type\": \"string\", \"enum\": [\"low\", \"medium\", \"high\"]},\n                },\n                \"required\": [\"risk\", \"severity\"],\n                \"additionalProperties\": False,\n            },\n        },\n    },\n)\nprint(response.choices[0].message.content)\n```\n\n## Protocol compatibility\n\nGrok text models are available through RunAPI's OpenAI-compatible Chat\nCompletions and Responses interfaces, Anthropic-compatible Messages interface,\nand Gemini `contents` interface. RunAPI preserves the exact public model id\n`grok-4.5` across all four request protocols; use the protocol already expected\nby your application or agent runtime.\n\n## Request Rules\n\n- Use the exact model id `grok-4.5`; do not send historical Grok aliases.\n- `reasoning_effort` accepts `low`, `medium`, or `high`; omit it to use the model default.\n- Do not send `presence_penalty`, `frequency_penalty`, or `stop` with this reasoning model.\n- Preserve terminal `usage` when storing or displaying billing evidence.\n\n## Supported models\n\n| Model ID | Use when |\n|---|---|\n| `grok-4.5` | Chat, coding, reasoning, tools, and structured output |\n\n## References\n\n- Model overview and pricing: https://runapi.ai/models/grok/4.5.md\n- Provider page: https://runapi.ai/providers/xai.md\n- Catalog: https://runapi.ai/models.md\n\n## Agent rules\n\n- Keep API keys in `OPENAI_API_KEY`, `RUNAPI_TOKEN`, or a secret manager.\n- Default new integrations to `POST /v1/chat/completions` at `https://runapi.ai/v1`.\n- Prefer streaming for longer responses and request terminal usage.\n- Link to the catalog page for pricing instead of copying price values.\n\nFile v0.2.0:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-grok\",\n  \"version\": \"0.2.0\",\n  \"publishedAt\": 1784547783448\n}\n\nFile v0.2.0:skill-card.md\n\n## Description: <br>\nCall Grok 4.5 through RunAPI with the official OpenAI SDK or compatible clients. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[runapi-ai](https://clawhub.ai/user/runapi-ai) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and agents use this skill to configure OpenAI-compatible clients for Grok 4.5 on RunAPI, including chat completions, streaming, reasoning effort, function tools, and structured JSON output. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Prompts, tool schemas, model requests, and outputs are sent to RunAPI when the client is configured for this skill. <br>\nMitigation: Confirm RunAPI is an approved provider for the intended data and keep the RunAPI token separate from unrelated OpenAI credentials where practical. <br>\nRisk: A misconfigured OpenAI-compatible base URL or API key can send requests to the wrong provider or fail authentication. <br>\nMitigation: Set OPENAI_BASE_URL to https://runapi.ai/v1 and store OPENAI_API_KEY in a secret manager or agent credential store. <br>\n\n\n## Reference(s): <br>\n- [RunAPI Grok model page](https://runapi.ai/models/grok) <br>\n- [Grok 4.5 model overview and pricing](https://runapi.ai/models/grok/4.5.md) <br>\n- [RunAPI xAI provider page](https://runapi.ai/providers/xai.md) <br>\n- [RunAPI model catalog](https://runapi.ai/models.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, Code, Shell commands, Configuration] <br>\n**Output Format:** [Markdown with code blocks and configuration snippets] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Guidance assumes OPENAI_API_KEY and OPENAI_BASE_URL are configured for RunAPI.] <br>\n\n## Skill Version(s): <br>\n0.2.0 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>","readmeExcerpt":"Skill: grok Owner: runapi-ai Summary: Call Grok 4.7 for text through RunAPI Chat Completions, Responses, Anthropic Messages, or Gemini contents. Use Grok 4.6 through Chat Completions or Responses; use Grok 4.5 or Grok 4.20 non-reasoning through their documented interfaces. Tags: latest:0.3.0 Version history: v0.3.0 | 2026-09-30T12:17:20.569Z | user Added - Add Grok 4.7 through Responses with text input, streaming fun","codeSnippets":[],"executableExamples":[{"language":"python","snippet":"from openai import OpenAI\nclient = OpenAI(api_key=\"YOUR_RUNAPI_TOKEN\", base_url=\"https://runapi.ai/v1\")\nresponse = client.responses.create(\n    model=\"grok-4.7\",\n    input=[{\n        \"role\": \"user\",\n        \"content\": [{\"type\": \"input_text\", \"text\": \"Review this rollout plan.\"}],\n    }],\n    stream=False,\n)\nprint(response.output_text)\nprint(response.usage)"},{"language":"python","snippet":"from openai import OpenAI\nclient = OpenAI(api_key=\"YOUR_RUNAPI_TOKEN\", base_url=\"https://runapi.ai/v1\")\nresponse = client.responses.create(\n    model=\"grok-4.7\",\n    input=[{\n        \"role\": \"user\",\n        \"content\": [{\"type\": \"input_text\", \"text\": \"Review this rollout plan.\"}],\n    }],\n    stream=False,\n    reasoning={\"effort\": \"xhigh\"},\n)\nprint(response.output_text)\nprint(response.usage)"},{"language":"python","snippet":"from openai import OpenAI\nclient = OpenAI(api_key=\"YOUR_RUNAPI_TOKEN\", base_url=\"https://runapi.ai/v1\")\nresponse = client.responses.create(\n    model=\"grok-4.6\",\n    input=[{\n        \"role\": \"user\",\n        \"content\": [{\"type\": \"input_text\", \"text\": \"Review this rollout plan.\"}],\n    }],\n    stream=False,\n    reasoning={\"effort\": \"xhigh\"},\n)\nprint(response.output_text)\nprint(response.usage)"},{"language":"python","snippet":"from openai import OpenAI\nclient = OpenAI(api_key=\"YOUR_RUNAPI_TOKEN\", base_url=\"https://runapi.ai/v1\")\nresponse = client.responses.create(\n    model=\"grok-4.6\",\n    input=[{\n        \"role\": \"user\",\n        \"content\": [{\"type\": \"input_text\", \"text\": \"Review this rollout plan.\"}],\n    }],\n    stream=False,\n    reasoning={\"effort\": \"xhigh\"},\n)\nprint(response.output_text)\nprint(response.usage)"},{"language":"python","snippet":"from openai import OpenAI\nclient = OpenAI(api_key=\"YOUR_RUNAPI_TOKEN\", base_url=\"https://runapi.ai/v1\")\nresponse = client.responses.create(\n    model=\"grok-4.6\",\n    input=[{\n        \"role\": \"user\",\n        \"content\": [{\"type\": \"input_text\", \"text\": \"Review this rollout plan.\"}],\n    }],\n    stream=False,\n    reasoning={\"effort\": \"xhigh\"},\n)\nprint(response.output_text)\nprint(response.usage)"},{"language":"python","snippet":"from openai import OpenAI\nclient = OpenAI(api_key=\"YOUR_RUNAPI_TOKEN\", base_url=\"https://runapi.ai/v1\")\nresponse = client.responses.create(\n    model=\"grok-4.5\",\n    input=\"Review this rollout plan.\",\n    reasoning={\"effort\": \"high\"},\n)\nprint(response.output_text)\nprint(response.usage)"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: grok\ndescription: Call Grok 4.7 for text through RunAPI Chat Completions, Responses, Anthropic Messages, or Gemini contents. Use Grok 4.6 through Chat Completions or Responses; use Grok 4.5 or Grok 4.20 non-reasoning through their documented interfaces.\ndocumentation: https://runapi.ai/models/grok.md\nprovider_page: https://runapi.ai/providers/xai.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/grok\n    primaryEnv: OPENAI_API_KEY\n    requires:\n      env: [OPENAI_API_KEY, OPENAI_BASE_URL]\n    envVars:\n    - {name: OPENAI_API_KEY, required: true, description: RunAPI API key used by OpenAI-compatible Grok clients.}\n    - {name: OPENAI_BASE_URL, required: true, description: Set to https://runapi.ai/v1 for Grok on RunAPI.}\n---\n\n# Grok on RunAPI\n\nUse OpenAI-compatible endpoints at `https://runapi.ai/v1` as the primary protocol.\n\n## Primary protocol recipe\n\n### Authenticate\n\nSet `OPENAI_API_KEY` to a RunAPI API key and `OPENAI_BASE_URL` to `https://runapi.ai/v1`.\n\n### Send request\n\n```python\nfrom openai import OpenAI\nclient = OpenAI(api_key=\"YOUR_RUNAPI_TOKEN\", base_url=\"https://runapi.ai/v1\")\nresponse = client.responses.create(\n    model=\"grok-4.7\",\n    input=[{\n        \"role\": \"user\",\n        \"content\": [{\"type\": \"input_text\", \"text\": \"Review this rollout plan.\"}],\n    }],\n    stream=False,\n)\nprint(response.output_text)\nprint(response.usage)\n```\n\nUse Chat Completions for `grok-4.5`, `grok-4.6`, or `grok-4.7` chat workflows.\nGrok 4.6 Chat accepts `reasoning_effort=\"high\"`, `max_completion_tokens=64000`,\nfunction tools and streaming with `stream_options={\"include_usage\": True}`.\nGrok 4.7 Chat accepts text messages only. For tool continuation, retain the assistant's `tool_calls`\nand return each result as a `role=\"tool\"` message with the matching\n`tool_call_id`.\n\nUse Responses for `grok-4.5`, `grok-4.6`, or `grok-4.7`; Grok 4.6 does not\nexpose Anthropic Messages or Gemini contents. Grok 4.6 accepts function tools\nand image input; add an `input_image` part with a public `image_url` alongside\n`input_text` for image understanding. Grok 4.6 Responses also accepts hosted\n`web_search` (billed per call on top of tokens), so Codex CLI works with it.\nDo not send `input_file` or state fields such as `previous_response_id` for\nGrok 4.6 or 4.7.\n\n`grok-4.7` accepts text through Chat Completions, Responses, Anthropic\nMessages, and Gemini `contents`. Reasoning controls, function tools, tool\nhistory, structured output, image or file input, hosted tools, and cache\ncontrols are not yet verified for `grok-4.7`; send plain text requests only.\n\nFor streaming Responses, set `stream=True`\nand consume through `response.completed`, terminal `usage`, and `[DONE]`.\n\n### Verify result\n\nResponses require final output, one usage-bearing `response.completed`, and\n`[DONE]`. Chat requires final assistant content, `finish_reason`, and terminal\n`usage`.\n\n### Stop boundaries\n\nCorrect a rejected shape once using the structured err"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-grok\",\n  \"version\": \"0.3.0\",\n  \"publishedAt\": 1790770640569\n}"},{"path":"references/compatibility-protocols.md","content":"# Grok compatibility protocols\n\nLoad this reference only for an existing Anthropic Messages or Gemini contents client.\n\nFor Messages, use base URL `https://runapi.ai`, a RunAPI key, a supported exact\nmodel ID, `max_tokens`, and messages. Verify final content, `stop_reason`, and\n`usage`; streaming ends at `message_stop`.\n\nFor Gemini contents, set `RUNAPI_MODEL` to a supported exact model ID and use\n`https://runapi.ai/v1beta/models/$RUNAPI_MODEL:generateContent`\nor `streamGenerateContent` with `x-goog-api-key`. Verify candidates,\n`finishReason`, and `usageMetadata`.\n\nApply one evidence-backed shape correction, at most one safe pre-response\ntransport retry, and no automatic model or protocol hopping."},{"path":"skill-card.md","content":"## Description:\n\nGuides agents in calling Grok text models through RunAPI using supported API protocols.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[runapi-ai](https://clawhub.ai/user/runapi-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and agents use this skill to configure RunAPI access, select a supported Grok model and protocol, and verify text responses.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts and other data sent through RunAPI may not meet an organization's data-handling requirements.\n\nMitigation: Check RunAPI account and data-handling requirements before sending sensitive content.\n\nRisk: Misconfigured API credentials or endpoint can route requests incorrectly or expose a key.\n\nMitigation: Set the RunAPI key and base URL deliberately, and keep the key out of shared code and logs.\n\n## Reference(s):\n\n- [Grok on RunAPI documentation](https://runapi.ai/models/grok.md)\n- [RunAPI Grok model page](https://runapi.ai/models/grok)\n- [RunAPI xAI provider documentation](https://runapi.ai/providers/xai.md)\n- [RunAPI model catalog](https://runapi.ai/models.md)\n- [Compatibility protocols](references/compatibility-protocols.md)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Code, Configuration instructions]\n\n**Output Format:** [Text or Markdown with optional code examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Streaming responses and usage details where supported]\n\n## Skill Version(s):\n\n0.3.0 (source: ClawHub release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1282,"uniquenessScore":41,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T10:19:34.205Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T10:19:34.205Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T14:13:04.282Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}