Tera Router
Gateway API

Messages

Endpoint kompatibel Anthropic — POST /v1/messages dan POST /v1/messages/count_tokens.

POST /v1/messages menerima body persis seperti Messages API milik Anthropic. Cocok untuk SDK Anthropic, Claude Code, dan tool yang berbicara dialek ini.

Request

curl http://localhost:8080/v1/messages \
  -H "x-api-key: sk_tr_..." \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-sonnet-4",
    "max_tokens": 1024,
    "messages": [
      { "role": "user", "content": "Halo!" }
    ]
  }'

Header Authorization: Bearer sk_tr_... juga diterima. Respons dan error mengikuti envelope Anthropic:

{
  "id": "msg_...",
  "type": "message",
  "role": "assistant",
  "content": [{ "type": "text", "text": "Hai!" }],
  "usage": { "input_tokens": 12, "output_tokens": 5 }
}

Cross-dialect

Model OpenAI bisa dipanggil lewat endpoint ini — router menerjemahkan request ke dialek tujuan dan merender ulang responsnya ke format Anthropic:

curl http://localhost:8080/v1/messages \
  -H "x-api-key: sk_tr_..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o-mini",
    "max_tokens": 1024,
    "messages": [{ "role": "user", "content": "Halo!" }]
  }'

Hitung token

POST /v1/messages/count_tokens menjawab secara lokal (tanpa manggil provider) dengan estimasi ±4 karakter per token:

curl http://localhost:8080/v1/messages/count_tokens \
  -H "x-api-key: sk_tr_..." \
  -H "Content-Type: application/json" \
  -d '{ "model": "anthropic/claude-sonnet-4", "messages": [] }'
{ "input_tokens": 42 }

Angka ini estimasi — jangan pakai untuk penagihan, cukup untuk menjawab pertanyaan "muat tidak" sebelum request sungguhan.

Di halaman ini