LEAPERone Docs
API Reference

Messages API (Anthropic native)

Reference for POST /v1/messages, Anthropic-compatible endpoint supporting streaming, tool use, vision, and extended thinking for Claude models.

Create a message with a Claude model using the Anthropic-native protocol. Compatible with the official Anthropic Python / TypeScript SDK — just point base_url at LEAPERone.

Endpoint

POST https://api.leaper.one/v1/messages

Authentication

Same LEAPERone API key as the OpenAI-compatible endpoints. Both header styles are accepted:

  • Authorization: Bearer sk-your-leaperone-key
  • x-api-key: sk-your-leaperone-key (Anthropic-style)

Also required:

  • anthropic-version: 2023-06-01

Parameters

Standard Anthropic Messages payload. See the official reference for the full schema.

ParameterTypeRequiredDescription
modelstringYesClaude model ID (see below)
max_tokensintegerYesMaximum tokens to generate
messagesarrayYesArray of { role, content }
systemstring | arrayNoSystem prompt or blocks
streambooleanNoSSE streaming (Anthropic event format)
temperaturenumberNo0-1
toolsarrayNoTool definitions
tool_choiceobjectNoauto / any / tool
thinkingobjectNo{ "type": "enabled", "budget_tokens": N } for extended thinking

Supported models

Model IDNotes
claude-fable-5Flagship
claude-opus-4-8
claude-opus-4-7
claude-opus-4-6
claude-sonnet-5
claude-sonnet-4-6Balanced default
claude-haiku-4-5Fastest / cheapest

Pricing matches the Chat Completions gateway (USD per 1M tokens). See Models.

Request (curl)

curl -X POST https://api.leaper.one/v1/messages \
  -H "Authorization: Bearer sk-your-leaperone-key" \
  -H "Content-Type: application/json" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "claude-sonnet-4-6",
    "max_tokens": 1024,
    "messages": [
      { "role": "user", "content": "Hello!" }
    ]
  }'

Request (Anthropic Python SDK)

import anthropic

client = anthropic.Anthropic(
    api_key="sk-your-leaperone-key",
    base_url="https://api.leaper.one",
)

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello!"}],
)
print(message.content[0].text)

Response

{
  "id": "msg_01Abc...",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-4-6",
  "content": [
    { "type": "text", "text": "Hi there!" }
  ],
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 12,
    "output_tokens": 8,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0
  }
}

Streaming

Set "stream": true to receive Anthropic's SSE event stream — message_start, content_block_start, content_block_delta, message_delta, message_stop. Usage tokens accumulate across message_start (input_tokens) and message_delta (output_tokens); LEAPERone bills off the final merged usage.

Notes

  • Only Claude models are exposed on this endpoint. Use /v1/chat/completions for GPT / DeepSeek / Auto routing.
  • Tool use, vision (image blocks), and extended thinking are all passed through unchanged.
  • Long-running requests (extended thinking, large contexts) currently share a 120s upstream timeout — split heavy jobs if you approach that limit.