51cowork APIDocs
Open docs navigation

API Reference

Anthropic Messages API

The Messages endpoint keeps the Anthropic request shape while using a 51cowork API Key.

Quick answer

Use x-api-key and anthropic-version; model must come from /v1/models, and count_tokens can estimate input before generation.

Generate
POST /v1/messages
Count
POST /v1/messages/count_tokens
Header
x-api-key
Stream
stream: true
01

Generation request

Messagesbash
curl "https://api.51cowork.com/v1/messages" \
  -H "x-api-key: <key-from-dashboard>" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "<model-from-v1-models>",
    "max_tokens": 256,
    "messages": [{"role": "user", "content": "Hello"}]
  }'
FieldRule
modelID returned by /v1/models
max_tokensPositive integer within model support
messagesAt least one valid message
streamOptional event stream
02

Estimate input tokens

count_tokens estimates input and does not generate a response. Use the same model and messages as the generation request.

Count tokensbash
curl "https://api.51cowork.com/v1/messages/count_tokens" \
  -H "x-api-key: <key-from-dashboard>" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"<model-from-v1-models>","messages":[{"role":"user","content":"Hello"}]}'
03

Compatibility boundary

  • Do not assume every model supports identical content, tools, or context fields.
  • When upstream rejects a field, remove the smallest unsupported option and retry only when safe.
  • Consume streaming events incrementally instead of buffering the full body.