POST /v1/chat/completions — OpenAI-совместимая форма для Claude. В SDK задайте адрес Guard, ключ и точный model; остальные поля должны соответствовать контракту ниже. Серверный промпт настраивается отдельно и не требует другого endpoint.
from openai import OpenAI
client = OpenAI(
api_key=KEY,
base_url="https://api.guardrelay.ai/v1",
)
resp = client.chat.completions.create(
model="claude-sonnet-5-5",
messages=[
{"role": "system", "content": "Ты helpful-ассистент."},
{"role": "user", "content": "Привет!"},
],
)
print(resp.choices[0].message.content)Здесь работают все восемь семейств. Набор принимаемых полей зависит от выбранной модели и нативного контракта семейства.
Семь моделей Codex принимают Chat Completions JSON/SSE на обоих alias: /v1/chat/completions и /codex/v1/chat/completions. Передавайте историю массивом messages; continuation между Chat, Messages и Responses сервер не придумывает.
curl https://api.guardrelay.ai/codex/v1/chat/completions \
-H "Authorization: Bearer $GUARD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6-astra",
"messages": [{"role": "user", "content": "Ответь ровно OK"}],
"stream": false
}'from openai import OpenAI
client = OpenAI(
api_key=KEY,
base_url="https://api.guardrelay.ai/v1",
)
resp = client.chat.completions.create(
model="k3",
messages=[{"role": "user", "content": "Привет!"}],
max_tokens=512,
)
print(resp.choices[0].message.content)from openai import OpenAI
client = OpenAI(
api_key=KEY,
base_url="https://api.guardrelay.ai/v1",
)
resp = client.chat.completions.create(
model="cursor-grok-4.6-medium",
messages=[{"role": "user", "content": "Привет!"}],
max_tokens=512,
)
print(resp.choices[0].message.content)from openai import OpenAI
client = OpenAI(
api_key=KEY,
base_url="https://api.guardrelay.ai/v1",
)
resp = client.chat.completions.create(
model="composer-2.5",
messages=[{"role": "user", "content": "Привет!"}],
max_tokens=512,
)
print(resp.choices[0].message.content)| Что | Как у Composer и Grok |
|---|---|
| Поля запроса | model, messages, max_tokens либо max_completion_tokens, stream, tools |
| Два лимита сразу | max_tokens и max_completion_tokens в одном запросе дают 400; передавайте один |
| Роли | user, assistant, а также system и developer как обычные сообщения в массиве |
| Блоки содержимого | текстовые блоки ровно с ключами type и text; у Grok дополнительно image_url с инлайн base64 |
| Ответ | обычная OpenAI-форма: choices[0].message.content, finish_reason: "stop", кэш в usage.prompt_tokens_details.cached_tokens |
| Ответ с вызовом инструмента | choices[0].message.tool_calls с id, name и arguments, а finish_reason равен tool_calls. На такой ход отвечают сообщением с ролью tool |
Используйте POST /v1/chat/completions или POST /glm/v1/chat/completions. История передаётся целиком в messages.
curl https://api.guardrelay.ai/glm/v1/chat/completions \
-H "Authorization: Bearer $GUARD_API_KEY" \
-H "content-type: application/json" \
-d '{"model":"glm-5.3","messages":[{"role":"user","content":"Reply with OK"}],"max_tokens":4096}'{
"id": "…",
"model": "glm-5.3",
"choices": [{
"message": {"role": "assistant", "content": "OK"},
"finish_reason": "stop"
}],
"usage": {
"prompt_tokens": 31,
"prompt_tokens_details": {"cached_tokens": 0},
"completion_tokens": 9,
"completion_tokens_details": {"reasoning_tokens": 0},
"total_tokens": 40
}
}| Поле | Правило |
|---|---|
model | Точный glm-5.3 или glm-5.3-flash. |
messages | Непустой массив объектов сообщений; для полного цикла инструмента сохраняйте сообщение assistant. |
max_tokens / max_completion_tokens | Положительный integer; для старта 4096. |
thinking | Подтверждённая форма отключения: {"type":"disabled"}. |
stream_options.include_usage | Добавьте для итоговых счётчиков usage в SSE. |
Клиентские функции возвращаются в choices[0].message.tool_calls; ваше приложение выполняет функцию и добавляет message с role: "tool" и тем же tool_call_id.
Встроенный поиск использует только исходный объект web_search; похожие варианты с другими именами не являются частью GLM-контракта.
Используйте POST /v1/chat/completions с точным model Gemini. История передаётся целиком в messages; без явного max_tokens шлюз берёт 4096 токенов.
curl https://api.guardrelay.ai/v1/chat/completions \
-H "Authorization: Bearer $GUARD_API_KEY" \
-H "content-type: application/json" \
-d '{"model":"gemini-4-argon","messages":[{"role":"user","content":"Reply with OK"}],"max_tokens":4096}'Используйте POST /v1/chat/completions с точным model Muse. История передаётся целиком в messages.
curl https://api.guardrelay.ai/v1/chat/completions \
-H "Authorization: Bearer $GUARD_API_KEY" \
-H "content-type: application/json" \
-d '{"model":"muse-wonder-1.0","messages":[{"role":"user","content":"Reply with OK"}],"max_tokens":4096}'