Anthropic Messages
Используйте POST /v1/messages только для моделей, у которых GET /v1/models содержит endpoint messages.
curl https://go2llm.tech/v1/messages \
-H "x-api-key: YOUR_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-haiku-4-5",
"system": "Отвечай кратко.",
"max_tokens": 120,
"messages": [{ "role": "user", "content": "Скажи OK" }]
}'
JavaScript
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: "YOUR_API_KEY",
baseURL: "https://go2llm.tech",
});
const response = await client.messages.create({
model: "claude-haiku-4-5",
max_tokens: 120,
messages: [{ role: "user", content: "Скажи OK" }],
});
console.log(response.content);
Фактическое списание в USD находится в response.usage.cost_usd.
Потоковая выдача
Передайте stream: true и читайте ответ как text/event-stream до штатного финального события. Финальный usage-блок содержит cost_usd. Не повторяйте запрос автоматически после того, как получили первый содержательный SSE-фрагмент.
Инструменты
Поля tools и tool_choice передаются поставщику без изменения. Описание инструмента должно содержать name, description и JSON Schema в input_schema.
Проверяйте modalities.input в GET /v1/models: модели со значением image принимают изображения в стандартных content blocks Anthropic. У text-only моделей поле vision_companion указывает доступную мультимодальную модель, обычно того же семейства. Document, audio, video и неизвестные binary blocks отклоняются с HTTP 400 unsupported_content_type до обращения к поставщику.