Chat Completions
Основной формат для диалогов и генерации текста.
Пошаговое объяснение без лишних деталей
Тело запроса
1{2 "model": "your-model-id",3 "messages": [4 {"role": "system", "content": "Отвечай кратко."},5 {"role": "user", "content": "Что такое API?"}6 ],7 "temperature": 0.4,8 "max_tokens": 300,9 "stream": false10}Главные поля
Вызов функций
Передайте список tools с JSON Schema аргументов. Если модель вернула tool_calls, выполните функцию в своём приложении, добавьте результат сообщением role: tool и отправьте историю повторно.
1{2 "model": "your-model-id",3 "messages": [{"role": "user", "content": "Какая погода в Москве?"}],4 "tools": [{5 "type": "function",6 "function": {7 "name": "get_weather",8 "description": "Получить текущую погоду",9 "parameters": {10 "type": "object",11 "properties": {"city": {"type": "string"}},12 "required": ["city"]13 }14 }15 }]16}Наличие поля tools в API не означает, что его понимает каждая модель. Проверяйте поддерживаемые endpoints и возможности карточки модели.
Текст и изображение на входе
Для vision-модели content сообщения может быть массивом частей. Изображение передавайте публичной HTTPS-ссылкой либо data URL; закрытая ссылка с cookie серверу недоступна.
1{2 "model": "your-vision-model-id",3 "messages": [{4 "role": "user",5 "content": [6 {"type": "text", "text": "Что изображено?"},7 {"type": "image_url", "image_url": {"url": "https://example.com/photo.jpg"}}8 ]9 }]10}Формат ответа
1POST /v1/chat/completions2Authorization: Bearer sk-...3Content-Type: application/json4 5{6 "model": "your-model-id",7 "messages": [8 {"role": "user", "content": "Привет!"}9 ]10}1HTTP/1.1 200 OK2Content-Type: application/json3 4{5 "choices": [{6 "message": {7 "role": "assistant",8 "content": "Привет! Чем помочь?"9 },10 "finish_reason": "stop"11 }],12 "usage": {13 "prompt_tokens": 9,14 "completion_tokens": 7,15 "total_tokens": 1616 }17}1POST /v1/chat/completions2Authorization: Bearer sk-...3Content-Type: application/json4 5{6 "model": "your-model-id",7 "messages": [8 {"role": "user", "content": "Привет!"}9 ]10}Потоковый ответ
Установите stream: true, чтобы получать фрагменты ответа по мере генерации. Каждый фрагмент приходит как Server-Sent Event, а завершение потока обозначается строкой [DONE].
1curl -N https://elysiumai.garden/v1/chat/completions -H "Authorization: Bearer $ELYSIUM_API_KEY" -H "Content-Type: application/json" -d '{"model":"your-model-id","stream":true,"messages":[{"role":"user","content":"Привет"}]}'Термины на этой странице
Короткая расшифровка обозначений, которые встречаются в этом разделе.

