Перейти к основному контенту

Рабочая область

Отправить запрос

Быстрый старт

Примеры используют публичные параметры выбранного эндпоинта. Замените API-ключ и примеры медиафайлов, затем отправьте запрос со своего сервера.

SDK и интеграции
POSThttps://api.spicyapi.ai/v1/chat/completions

Аутентификация API

Храните API-ключ в серверной переменной окружения SPICY_API_KEY. Используйте Bearer-аутентификацию и Content-Type: application/json для JSON-запросов.

Authorization: Bearer $SPICY_API_KEY
curl --fail-with-body -sN https://api.spicyapi.ai/v1/chat/completions \
  -H "Authorization: Bearer $SPICY_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "model": "xai/grok-4.7/chat",
  "messages": [
    {
      "role": "user",
      "content": "Summarise the following release notes into three bullet points."
    }
  ],
  "stream": true
}' \
  | jq --unbuffered -Rrj 'select(startswith("data: ")) | .[6:] | select(. != "[DONE]") | fromjson | if .error then "\n[error] \(.error.message)\n" else (.choices[0].delta.content? // empty) end'

Пример построен по входной схеме этой модели — той же, по которой API проверяет каждый запрос.

Для одного логического запроса сохраняйте один Idempotency-Key. После обрыва сети не отправляйте запрос автоматически с новым ключом. Сохраните request_id для проверки уже принятого запроса. Предыдущий поток чата повторно не воспроизводится.

Входные параметры

Параметры модели находятся на одном уровне с model в теле JSON. Этот эндпоинт не использует объект-обёртку input.

messagesarray<object>Обязательно

Не более 256 ходов. Содержимое может смешивать части text и image_url внутри одного пользовательского сообщения. Системная роль на этом эндпоинте соблюдается (это проверено специально), поэтому рамка, заданная один раз в начале, действует на протяжении всего диалога.

По умолчанию
Не задано
Ограничения
minItems:1
maxItems:256
response_formatobjectНеобязательно

Запрашивайте объект JSON, если ответ будет читать код, а не человек.

По умолчанию
Не задано
tool_choicestring | objectНеобязательно

auto, none, required или объект, называющий вызываемую функцию.

По умолчанию
Не задано
parallel_tool_callsbooleanНеобязательно

true или false, по умолчанию true: модель может запросить несколько вызовов инструментов за один ход. При false за ход будет не больше одного вызова — это удобно в циклах, где каждый вызов зависит от результата предыдущего. На цену не влияет.

По умолчанию
true
toolsarray<object>Необязательно

До 128 определений функций на запрос. Это поколение сравнительно слабо в длинных агентных циклах.

По умолчанию
Не задано
Ограничения
maxItems:128
top_pnumberНеобязательно

От 0,01 до 1. Меняйте либо его, либо temperature, но не оба сразу.

По умолчанию
1
Ограничения
minimum:0.01
maximum:1
temperaturenumberНеобязательно

От 0 до 2, по умолчанию 0,7. Ближе к 0,9 — для разнообразия прозы; 0 — только если два прогона должны различаться ровно по одной причине.

По умолчанию
0.7
Ограничения
minimum:0
maximum:2
max_tokensintegerНеобязательно

Ограничивает видимый ответ 450 000 токенов; значение по умолчанию 4 096 молча обрезает длинный ответ. Токены рассуждения оплачиваются как выходные, но под этот лимит НЕ подпадают. Если нужен предсказуемый потолок, понижайте reasoning_effort.

По умолчанию
4096
Ограничения
minimum:1
maximum:450000
reasoning_effortstringНеобязательно

low, medium, high или xhigh; по умолчанию high. Для диалога и ролеплея берите low или medium: high тратит выходные токены на обдумывание, и текст выходит нерешительным. Токены рассуждения оплачиваются как выходные, поэтому high ещё и обходится дороже, чем low или medium.

По умолчанию
"high"
Допустимые значения
"low""medium""high""xhigh"

Прочитать результат

При stream: false запрос сразу возвращает полный ответ чата. Читайте choices[].message; опрашивать задачу не нужно. Если клиент поддерживает Server-Sent Events, можно указать stream: true.

Пример ответа после завершения
{
  "id": "chatcmpl_example",
  "object": "chat.completion",
  "created": 1788652800,
  "model": "xai/grok-4.7/chat",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Here is a concise summary of the release notes."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 32,
    "completion_tokens": 14,
    "total_tokens": 46
  }
}

Ответ приведён для примера структуры. usage содержит число токенов; фактический расход и стоимость зависят от запроса.

SDK и интеграции

Используйте SpicyAPI в приложении, терминале, ИИ-ассистенте или визуальном процессе. Выберите руководство по настройке.

Использование в SillyTavern и приложениях для ролевых игр

В SillyTavern, RisuAI, Agnai или любом приложении с OpenAI-совместимой настройкой вставьте базовый URL ниже и свой API-ключ, а в качестве модели выберите xai/grok-4.7/chat. Вызовы прямо из браузера разрешены, а ползунки, которые эта модель не поддерживает, игнорируются, а не вызывают ошибку.

Base URL: https://api.spicyapi.ai/v1
Model: xai/grok-4.7/chat

Использование в ComfyUI

Установите узлы SpicyAPI через ComfyUI Manager или командой ниже и выберите xai/grok-4.7/chat в узле SpicyAPI Chat, чтобы использовать эту модель внутри графа ComfyUI.

cd ComfyUI/custom_nodes
git clone https://github.com/spicyapi-ai/comfyui-spicyapi