← Back to Skills Marketplace
🔌

claude

by RunAPI · GitHub ↗ · v0.2.4 · MIT-0
cross-platform ⚠ pending
39
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install runapi-claude
Description
Call the Claude API (claude-opus, claude-sonnet, claude-haiku) through RunAPI using the official Anthropic SDK or any Anthropic-compatible client. Use when t...
README (SKILL.md)

Claude on RunAPI

Use the official Anthropic SDK (Python, TypeScript, Ruby) — or any Anthropic-compatible HTTP client — and switch the base URL to https://runapi.ai. The endpoint speaks the Anthropic Messages protocol (POST /v1/messages), so no client code changes beyond base_url and api_key.

Setup

ANTHROPIC_API_KEY=YOUR_RUNAPI_TOKEN
ANTHROPIC_BASE_URL=https://runapi.ai

Get a RunAPI API Key at \x3Chttps://runapi.ai/api_keys>.

Language Init
Python anthropic.Anthropic(api_key=..., base_url="https://runapi.ai")
TypeScript new Anthropic({ apiKey: ..., baseURL: "https://runapi.ai" })
Ruby Anthropic::Client.new(api_key: ..., base_url: "https://runapi.ai")
curl POST https://runapi.ai/v1/messages with x-api-key: header

x-api-key and Authorization: Bearer ... both work; the SDK uses x-api-key by default.

Core recipe — non-streaming message

import anthropic

client = anthropic.Anthropic(
    api_key="YOUR_RUNAPI_TOKEN",
    base_url="https://runapi.ai",
)

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    system="You are a helpful assistant.",
    messages=[{"role": "user", "content": "Explain quantum computing simply."}],
)
print(message.content[0].text)
print(message.usage)  # input_tokens / output_tokens
import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({
  apiKey: "YOUR_RUNAPI_TOKEN",
  baseURL: "https://runapi.ai",
});

const message = await client.messages.create({
  model: "claude-sonnet-4-6",
  max_tokens: 1024,
  system: "You are a helpful assistant.",
  messages: [{ role: "user", content: "Explain quantum computing simply." }],
});

max_tokens is required by the Anthropic API.

Streaming

with client.messages.stream(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Write a haiku about coding."}],
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)
const stream = await client.messages.stream({
  model: "claude-sonnet-4-6",
  max_tokens: 1024,
  messages: [{ role: "user", content: "Write a haiku about coding." }],
});

for await (const event of stream) {
  if (event.type === "content_block_delta") {
    process.stdout.write(event.delta.text);
  }
}

Streaming runs through a regional edge proxy so the request does not hold a Rails/Puma thread. Long generations (extended thinking, large max_tokens) should always stream.

Vision / multimodal

{
  "model": "claude-sonnet-4-6",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": [
        { "type": "text", "text": "What is in this image?" },
        {
          "type": "image_url",
          "image_url": { "url": "https://example.com/image.png" }
        }
      ]
    }
  ]
}

Image input uses the standard Anthropic image_url block. URLs must be publicly fetchable.

Tool use / web search / reasoning

{
  "model": "claude-sonnet-4-6",
  "max_tokens": 1024,
  "reasoning_effort": "high",
  "include_thoughts": true,
  "tools": [
    { "type": "function", "function": { "name": "googleSearch" } }
  ],
  "messages": [
    { "role": "user", "content": "What's the latest on Claude 4.7?" }
  ]
}
  • reasoning_effort: "low" or "high". Supported on every model below.
  • include_thoughts: returns reasoning content. Only claude-sonnet-4-5-20250929 and claude-sonnet-4-6 support this.
  • Web access uses a googleSearch function tool.
  • Set header anthropic-beta: interleaved-thinking-2025-05-14 to interleave thinking blocks with output.

Token counting

curl -X POST "https://runapi.ai/v1/messages/count_tokens" \
  -H "x-api-key: YOUR_RUNAPI_TOKEN" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4-6",
    "messages": [{"role": "user", "content": "How many tokens?"}]
  }'

Returns {"input_tokens": \x3Cn>}. Image blocks use a 512-token heuristic; for exact billed counts read usage from the actual POST /v1/messages response.

List models

curl https://runapi.ai/v1/models -H "x-api-key: YOUR_RUNAPI_TOKEN"

Returns Anthropic-compatible model objects.

Supported models

Model ID Use when
claude-opus-4-7 Strongest general model — agents, complex reasoning
claude-opus-4-6 High-end reasoning workloads
claude-sonnet-4-6 Balanced default for production chat
claude-opus-4-5-20251101 Pin Opus 4.5 snapshot
claude-sonnet-4-5-20250929 Pin Sonnet 4.5 snapshot (supports include_thoughts)
claude-haiku-4-5-20251001 Highest throughput, lowest cost

Aliases auto-resolve to dated snapshots: claude-opus-4-5, claude-sonnet-4-5, claude-haiku-4-5.

Connect Claude Code itself

ANTHROPIC_BASE_URL=https://runapi.ai \
ANTHROPIC_API_KEY=YOUR_RUNAPI_TOKEN \
claude

Agent rules

  • Always pass max_tokens — the Anthropic API rejects requests without it.
  • Use streaming for any response longer than a few hundred tokens. Do not hold the agent on a long blocking request.
  • include_thoughts only works on the two Sonnet models listed above; do not send it on Opus or Haiku.
  • Pricing, rate limits, quotas — link to \x3Chttps://runapi.ai/models/claude.md>, not this skill file.
  • For exact billed token counts read usage from the POST /v1/messages response, not from /v1/messages/count_tokens.

Routing

  • Model page: \x3Chttps://runapi.ai/models/claude.md>
  • Provider page: \x3Chttps://runapi.ai/providers/anthropic.md>
  • Catalog: \x3Chttps://runapi.ai/models.md>
Capability Tags
requires-sensitive-credentials
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install runapi-claude
  3. After installation, invoke the skill by name or use /runapi-claude
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.2.4
Agent-facing CLI-first redesign
Metadata
Slug runapi-claude
Version 0.2.4
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is claude?

Call the Claude API (claude-opus, claude-sonnet, claude-haiku) through RunAPI using the official Anthropic SDK or any Anthropic-compatible client. Use when t... It is an AI Agent Skill for Claude Code / OpenClaw, with 39 downloads so far.

How do I install claude?

Run "/install runapi-claude" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is claude free?

Yes, claude is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does claude support?

claude is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created claude?

It is built and maintained by RunAPI (@runapi-ai); the current version is v0.2.4.

💬 Comments