РУСЛОПолучить ключ в кабинете

Не переписывайте код: меняйте base_url и ключ.

Код OpenAI и Anthropic входит в одну точку: те же поля, тот же стриминг, те же ошибки в формате вашей библиотеки — openai-SDK и anthropic-SDK работают как есть. Меняются адрес и имя ключа в заголовке; не меняются ваша логика, оркестраторы и библиотеки.

OpenAI-форматAnthropic-формат
ФорматEndpointАвторизацияСтримингBatch
OpenAIPOST /v1/chat/completions, /v1/embeddings, /v1/images/generations, /v1/audio/speech, /v1/audio/transcriptions, GET /v1/modelsAuthorization: Bearer <key>SSE-чанки choicesPOST /v1/batches, вход JSONL-файлом
Anthropic MessagesPOST /v1/messagesx-api-key: <key> + обязательный anthropic-version: 2023-06-01, anthropic-beta pass-throughSSE-события message_start → content_block_delta → message_stopPOST /v1/messages/batches, вход массивом requests

Одно значение ключа ruslo-sk-… на оба формата. Баланс, лимиты и аудит-лог общие; статистика разложена по семействам форматов фильтром.

openai-python

from openai import OpenAI
client = OpenAI(
    base_url="https://api.farvater.copul4.com/v1",
    api_key=os.environ["RUSLO_API_KEY"],
)
# принимаем и OPENAI_API_KEY / OPENAI_BASE_URL

anthropic-python

from anthropic import Anthropic
client = Anthropic(
    base_url="https://api.farvater.copul4.com",  # без /v1:
    # клиент сам добавит /v1/messages
    api_key=os.environ["RUSLO_API_KEY"],  # уйдёт в x-api-key
)

Слева — код в формате OpenAI, справа — в формате Anthropic. В обоих случаях изменение одно: адрес и переменная ключа.

−50%

JSONL вечером — результаты утром: единицы за полцены. Batch-задачи обоих форматов — −50% к цене единиц, окно до 24 часов, строки с ошибками не тарифицируются.

Оба формата и batch живут в одном периметре: лимиты ключа, аудит-лог и журнал запросов общие; фильтр по семейству формата — в статистике кабинета и в CSV-выгрузке.

мой код написан под anthropic-SDK — он заработает у вас без переписывания или придётся всё портировать на OpenAI?

Заработает без переписывания: /v1/messages принимает нативный формат, включая system отдельным полем и content-блоки. SDK менять не нужно: только base_url и ключ.

какие заголовки и ключи: x-api-key и anthropic-version поддерживаются? стриминг есть?

Поддерживаются как у вендора: x-api-key для авторизации, anthropic-version: 2023-06-01 обязателен, anthropic-beta пропускаем как есть. Стриминг нативный, порядок SSE-событий — в справочнике D3.

у меня старый скрипт под Anthropic-формат ещё от прямого подключения — что менять кроме base_url?

Ничего: ключ подставляете свой ruslo-sk-…, anthropic-version тот же. Если в скрипте зашит адрес вендора — правится одна строка.

ключ один на оба формата или мне создавать два и путаться?

Один: значение работает в Authorization: Bearer и в x-api-key. Список ключей не делится по форматам — делится по проектам и средам.

оба формата в одном периметре аудита: логи, лимиты и статистика общие или раздельные по форматам?

Общие: один аудит-лог и одни лимиты на ключ; статистика даёт фильтр по семейству формата и общий CSV-экспорт.

Проверьте свой код на своём ключе: оба quickstart в docs — OpenAI и Anthropic, по пять минут каждый.