Хостинг
VDS
Аренда серверов
Домены
Почта
SSL
Хранилище
Сайты
Обзоры
Регламенты
AI Studio
Kubernetes
Архив
Anthropic Messages API

Anthropic Messages API через AI Studio

Claude AI Studio предоставляет Anthropic-совместимый endpoint для работы с моделями через Messages API. Это позволяет использовать официальный SDK Anthropic в ваших проектах.

💡 Как получить API-ключ

  1. Войдите в личный кабинет на https://panel.netangels.ru/
  2. Перейдите в раздел AI Studio
  3. Нажмите «Создать ключ» для создания нового ключа, либо скопируйте существующий ключ из раздела Команды → название команды

Эндпоинт

Параметр Значение
URL https://ai.netangels.cloud/v1
Путь /v1/messages
Метод POST
Аутентификация x-api-key: ВАШ_API_КЛЮЧ или Authorization: Bearer ВАШ_API_КЛЮЧ

Базовый запрос

Python:

import anthropic

client = anthropic.Anthropic(
    api_key="ВАШ_API_КЛЮЧ",
    base_url="https://ai.netangels.cloud/v1"
)

message = client.messages.create(
    model="qwen3.7-plus",
    max_tokens=1024,
    system="You are a helpful assistant.",
    messages=[{"role": "user", "content": "Who are you?"}],
    thinking={"type": "disabled"}
)
print(message.content[0].text)

curl:

curl -X POST https://ai.netangels.cloud/v1/messages \
-H "x-api-key: ВАШ_API_КЛЮЧ" \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen3.7-plus",
    "max_tokens": 1024,
    "system": "You are a helpful assistant.",
    "messages": [{"role": "user", "content": "Who are you?"}],
    "thinking": {"type": "disabled"}
}'

Потоковый вывод (Streaming)

Python:

stream = client.messages.create(
    model="qwen3.7-plus",
    max_tokens=1024,
    stream=True,
    messages=[{"role": "user", "content": "Расскажите об искусственном интеллекте."}],
    thinking={"type": "disabled"}
)
for chunk in stream:
    if chunk.type == "content_block_delta" and hasattr(chunk.delta, "text"):
        print(chunk.delta.text, end="", flush=True)

Режим рассуждений (Extended Thinking)

Python:

stream = client.messages.create(
    model="qwen3.7-plus",
    max_tokens=2048,
    stream=True,
    thinking={"type": "enabled", "budget_tokens": 1024},
    messages=[{"role": "user", "content": "Проанализируйте перспективы квантовых вычислений."}]
)
for chunk in stream:
    if chunk.type == "content_block_delta":
        if hasattr(chunk.delta, "thinking"):
            print(chunk.delta.thinking, end="", flush=True)
        elif hasattr(chunk.delta, "text"):
            print(chunk.delta.text, end="", flush=True)

Параметр budget_tokens задаёт лимит токенов на процесс рассуждений.

Работа с изображениями и видео

Изображение:

messages = [{
    "role": "user",
    "content": [
        {"type": "image", "source": {"type": "url", "url": "https://example.com/image.jpg"}},
        {"type": "text", "text": "Опишите содержимое изображения."}
    ]
}]

message = client.messages.create(
    model="qwen3.7-plus",
    max_tokens=1024,
    messages=messages,
    thinking={"type": "disabled"}
)
print(message.content[0].text)

Видео:

messages = [{
    "role": "user",
    "content": [
        {"type": "video", "source": {"type": "url", "url": "https://example.com/video.mp4"}},
        {"type": "text", "text": "Опишите содержимое видео."}
    ]
}]

Для работы с медиа требуются модели с поддержкой vision.

Вызов функций (Function Calling)

Python:

tools = [{
    "name": "get_weather",
    "description": "Получить информацию о погоде для указанного города",
    "input_schema": {
        "type": "object",
        "properties": {
            "city": {"type": "string", "description": "Название города"}
        },
        "required": ["city"]
    }
}]

message = client.messages.create(
    model="qwen3.7-plus",
    max_tokens=1024,
    tools=tools,
    messages=[{"role": "user", "content": "Какая погода в Москве?"}]
)

Процесс:

  1. Определите schema функции в массиве tools

  2. Вызовите модель

  3. Если в ответе есть tool_use, выполните функцию

  4. Добавьте результат как сообщение с role: "user" и повторите вызов

Кэширование промптов (Prompt Caching)

Для экономии токенов при длинных промптах:

long_text = "<Ваш длинный текст или код>" * 400
response = client.messages.create(
    model="qwen3.7-plus",
    max_tokens=1024,
    system=[{
        "type": "text",
        "text": long_text,
        "cache_control": {"type": "ephemeral"}
    }],
    messages=[{"role": "user", "content": "Что делает этот код?"}]
)
print(response.usage.cache_creation_input_tokens)

Передавайте system как массив объектов вместо строки. Кэширование активируется при достижении минимального количества токенов.

Структурированный вывод (Structured Output)

Python:

message = client.messages.create(
    model="deepseek-v4-pro",
    max_tokens=1024,
    messages=[{
        "role": "user",
        "content": "Извлеки информацию: Иван Иванов (ivan@example.com) интересуется Enterprise планом..."
    }],
    output_config={
        "format": {
            "type": "json_schema",
            "schema": {
                "type": "object",
                "properties": {
                    "name": {"type": "string"},
                    "email": {"type": "string"},
                    "plan_interest": {"type": "string"},
                    "demo_requested": {"type": "boolean"}
                },
                "required": ["name", "email", "plan_interest", "demo_requested"],
                "additionalProperties": False
            }
        }
    }
)

Параметры запроса

Параметр Тип Обязательный Описание
model string Да Имя модели
max_tokens int Да Лимит токенов ответа
messages array Да Массив сообщений (user/assistant)
system string/array Нет Системный промпт
stream boolean Нет Потоковый вывод (по умолчанию false)
temperature float Нет Случайность (0–2, отличается от Anthropic 0–1)
top_p float Нет Ядро выборки
top_k int Нет Лимит кандидатов на шаг
stop_sequences array Нет Строки остановки генерации
thinking object Нет Режим рассуждений ({"type": "enabled", "budget_tokens": N})
tools array Нет Schema вызываемых функций
tool_choice object Нет Стратегия выбора (auto, any, tool)
output_config object Нет Формат структурированного вывода

Формат ответа

Без потокового вывода:

{
  "id": "msg-xxxxx",
  "type": "message",
  "role": "assistant",
  "model": "qwen3.7-plus",
  "content": [
    {"type": "text", "text": "Ответ модели."}
  ],
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 15,
    "output_tokens": 50
  }
}

Потоковый вывод — последовательность событий:

Событие Описание
message_start Начало сессии
content_block_start Начало блока вывода
content_block_delta Инкрементальный текст или рассуждения
content_block_stop Завершение блока
message_delta Финальный статус и итоговая статистика
message_stop Завершение

В потоке могут присутствовать события {"type": "ping"} для поддержания активного подключения.

Важное отличие от Anthropic API

Параметр temperature в AI Studio имеет диапазон 0–2, в то время как в официальном Anthropic API диапазон составляет 0–1. Обратите внимание на это при миграции кода.

Нам доверяют тысячи компаний и разработчиков

22 года
Предоставляем услуги профессионального хостинга
35 000+
Клиентов доверяют нам размещение своих сайтов
99.99%
Подтвержденный uptime наших серверов хостинга
Callibri
Крылья
Tele-Club
Linline
Премьер зал
УГМК-Здоровье
Магнум
Алатырь
Туристер
Callibri
Крылья
Tele-Club
Linline
Премьер зал
УГМК-Здоровье
Магнум
Алатырь
Туристер
ВК49865