По возможностям

Чат

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

#1. Выберите модель

gpt-6-solВход $0.20 · выход $1.00 / 1MЛимиты и статус

Доступных моделей для этой задачи: 5. При переключении код ниже меняется.

#2. Скопируйте запрос

Замените YOUR_API_KEY своим ключом и выполните запрос. Показаны параметры, которые принимает эта модель.

POSThttps://www.aisplice.store/v1/chat/completionsBearer API keyОтвет сразу
API_KEY="${API_KEY:-YOUR_API_KEY}"

curl --fail-with-body -sS https://www.aisplice.store/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "GPT-6 Sol",
  "messages": [
    {
      "role": "user",
      "content": "Say hello."
    }
  ],
  "stream": false
}'

Все параметры

Все поля, которые принимает эта модель, и допустимые значения.

model
stringобязательно

Точный идентификатор модели для этого запроса.

messages
arrayнеобязательно

Required on /v1/chat/completions.

input
string|arrayнеобязательно

Required on /v1/responses.

Жизненный цикл ответа

Пример успешного ответа этого эндпоинта.

Ответ
{
  "id": "chatcmpl_xxx",
  "choices": [
    {
      "message": {
        "role": "assistant",
        "content": "Hello!"
      }
    }
  ]
}

Все поля: /v1/chat/completions в справочнике API →

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

Ответ с кодом 200 содержит текст в choices[0].message.content. Добавьте "stream": true, чтобы получать его по мере генерации.

#Если что-то пошло не так

  • 400 с названием поля: эта модель не принимает такой параметр; используйте значения, указанные на шаге 2.
  • 402: баланса не хватает на этот запрос; пополните его в разделе «Кошелёк» и повторите.
  • 429: снизьте частоту и повторите через Retry-After секунд.
  • 503 model_not_found: имя модели неверное или модель недоступна; выберите модель на шаге 1.

Найти другую ошибку →

Потоковая передачаПоказывайте ответ по мере генерации.

#Как это работает

Задайте stream:true, и шлюз будет передавать Server-Sent Events точно так же, как OpenAI: по одному кадру data: на дельту, в конце — data: [DONE]. Любой SSE-клиент или официальные SDK обработают поток без изменений.

#Запустите

terminal — live
curl -N https://www.aisplice.store/v1/chat/completions \
  -H "Authorization: Bearer sk-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-luna",
    "stream": true,
    "messages": [
      {
        "role": "user",
        "content": "Write a haiku about the sea."
      }
    ]
  }'
streaming.py
from openai import OpenAI

client = OpenAI(base_url="https://www.aisplice.store/v1", api_key="sk-YOUR_KEY")

stream = client.chat.completions.create(
    model="gpt-5.6-luna",
    stream=True,
    messages=[{"role": "user", "content": "Write a haiku about the sea."}],
)
for chunk in stream:
    print(chunk.choices[0].delta.content or "", end="")

#Частичная оплата

Оплата только за переданное

Если клиент отключается посреди потока, шлюз записывает только фактически переданную часть использования — вы платите лишь за то, что было доставлено.
Вызов инструментовПозвольте модели вызывать ваши собственные функции.

#Объявите инструменты

Передайте стандартный массив tools в формате OpenAI. Шлюз передаёт его любой модели с поддержкой инструментов — OpenAI, Claude, Gemini, DeepSeek — и приводит ответ к формату tool_calls. Потоковые дельты вызовов инструментов поддерживаются.

tools.sh
curl https://www.aisplice.store/v1/chat/completions \
  -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-luna",
    "messages": [{"role":"user","content":"Weather in Tokyo?"}],
    "tools": [{
      "type": "function",
      "function": {
        "name": "get_weather",
        "parameters": {
          "type": "object",
          "properties": {"city": {"type": "string"}},
          "required": ["city"]
        }
      }
    }]
  }'

#Обработайте tool_calls

Когда модель решает вызвать инструмент, choice приходит с finish_reason:"tool_calls" и строкой arguments, которую ваш код разбирает и выполняет.

response.json
{
  "choices": [{
    "finish_reason": "tool_calls",
    "message": {
      "role": "assistant",
      "tool_calls": [{
        "id": "call_abc123",
        "type": "function",
        "function": {
          "name": "get_weather",
          "arguments": "{\"city\": \"Tokyo\"}"
        }
      }]
    }
  }]
}

#Верните результаты

Добавьте реплику ассистента и по одному сообщению role:"tool" на каждый вызов (сопоставляются по tool_call_id), затем отправьте запрос снова — модель включит результат в итоговый ответ.

round-trip.sh
curl https://www.aisplice.store/v1/chat/completions \
  -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-luna",
    "messages": [
      {"role":"user","content":"Weather in Tokyo?"},
      {"role":"assistant","tool_calls":[{"id":"call_abc123","type":"function",
        "function":{"name":"get_weather","arguments":"{\"city\":\"Tokyo\"}"}}]},
      {"role":"tool","tool_call_id":"call_abc123","content":"{\"temp_c\": 22, \"sky\": \"clear\"}"}
    ]
  }'
Изображения на входеОтправляйте изображения вместе с текстом.

#Отправка изображения

Чат-модели с распознаванием изображений принимают массив content, в котором смешаны части text и image_url. Используйте публичный URL или встроенный data URL в base64 — поле одно и то же.

vision.sh
curl https://www.aisplice.store/v1/chat/completions \
  -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-luna",
    "messages": [{
      "role": "user",
      "content": [
        {"type": "text", "text": "What is in this image?"},
        {"type": "image_url", "image_url": {"url": "https://example.com/cat.png"}}
      ]
    }]
  }'

#Изображения в Base64

Для локальных файлов встраивайте data URL: "url": "data:image/png;base64,<bytes>". Токены изображений оплачиваются как входные; максимальный размер и число изображений в запросе зависят от провайдера — уменьшайте изображения перед отправкой, чтобы сэкономить.

base64.py
import base64
from openai import OpenAI

client = OpenAI(base_url="https://www.aisplice.store/v1", api_key="sk-YOUR_KEY")
b64 = base64.b64encode(open("photo.png", "rb").read()).decode()

resp = client.chat.completions.create(
    model="gpt-5.6-luna",
    messages=[{"role": "user", "content": [
        {"type": "text", "text": "Describe this photo."},
        {"type": "image_url", "image_url": {"url": f"data:image/png;base64,{b64}"}},
    ]}],
)
print(resp.choices[0].message.content)

Проблема не решена?

Пришлите нам ID запроса или текст ошибки, и мы разберёмся.