Documentation

Use your key anywhere.

OpenAI- and Anthropic-compatible endpoints. One key, one balance, every supported model. No Google account required.

Base URLs

OpenAI
https://weatmood.ru/v1
Anthropic
https://weatmood.ru

Both weatmood.ru and tt.weatmood.ru route to the same backend — use either. The key bought via Funpay works on both. Point any OpenAI- or Anthropic-compatible client at the base URL above and replace wm-... with your key.

Authentication

Pass the API key you bought via Funpay. OpenAI clients send it as a Bearer token; Anthropic clients send it in the x-api-key header.

# OpenAI style
Authorization: Bearer wm-xxxxxxxxxxxxxxxx

# Anthropic style
x-api-key: wm-xxxxxxxxxxxxxxxx

Find your key and live balance in the API cabinet.

OpenAI compatible

Use the Chat Completions endpoint exactly like api.openai.com. Just change the base URL.

curl https://weatmood.ru/v1/chat/completions \
  -H "Authorization: Bearer wm-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-opus-4.8",
    "messages": [{"role": "user", "content": "Hello"}],
    "max_tokens": 256
  }'

Python with the official SDK:

from openai import OpenAI
client = OpenAI(base_url="https://weatmood.ru/v1", api_key="wm-...")
resp = client.chat.completions.create(
    model="claude-opus-4.8",
    messages=[{"role": "user", "content": "Hello"}],
)
print(resp.choices[0].message.content)

Anthropic compatible

Use the Messages endpoint exactly like api.anthropic.com.

curl https://weatmood.ru/v1/messages \
  -H "x-api-key: wm-..." \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-opus-4.8",
    "max_tokens": 256,
    "messages": [{"role": "user", "content": "Hello"}]
  }'

Python with the official SDK:

import anthropic
client = anthropic.Anthropic(base_url="https://weatmood.ru", api_key="wm-...")
resp = client.messages.create(
    model="claude-opus-4.8",
    max_tokens=256,
    messages=[{"role": "user", "content": "Hello"}],
)
print(resp.content[0].text)

Streaming

Add "stream": true to any request. The server returns Server-Sent Events (SSE), identical to the upstream OpenAI / Anthropic streaming format, so drop-in clients work unchanged.

{
  "model": "claude-opus-4.8",
  "messages": [{"role": "user", "content": "Hello"}],
  "stream": true
}

Models

List every enabled model with your key:

curl https://weatmood.ru/v1/models \
  -H "Authorization: Bearer wm-..."

Or open the API cabinet to see models, limits and your live usage in one place.

Billing

You pay per token, drawn from a single balance in rubles. The flat rate is 3 ₽ per 1M tokens (input + output combined). Every request logs the exact tokens used and the amount charged — visible in the cabinet history.

FieldMeaning
balanceRubles left on your account
tokens_usedTotal tokens consumed by a key
spent_rubRubles spent by a key

If the balance hits zero, requests return 402 until you buy a new package via Funpay.

Errors

CodeMeaningAction
401Invalid or inactive keyCheck the key in the cabinet
402No balance leftBuy / top up via Funpay
404Model not foundUse a model from /v1/models
429Rate / token limitSlow down or raise the limit
502Provider unavailableRetry shortly