Документация · Референс

Создать chat completion

POST/v1/chat/completions

OpenAI-совместимая генерация текста: model + messages, авторизация — Authorization: Bearer <API-ключ>. Принимаются оба cap-поля (max_tokens и max_completion_tokens) — шлюз сам нормализует под семейство модели (openai/* получает max_completion_tokens, остальные — max_tokens; оба поля с разными значениями → 400). Стриминг — stream: true (SSE); финальный чанк с usage приходит только при stream_options.include_usage: true. Списание с баланса — после успешного ответа провайдера по фактическому usage, при ошибке апстрима денег не берём; лимит — 60 запросов в минуту на аккаунт (общий bucket для text/images/video/audio).

Авторизация — заголовок Authorization: Bearer <API-ключ>, base URL — https://api.trackly.one/v1.

Тело запроса ChatCompletionRequest

Content-Type: application/json

ПолеТипОписание
frequency_penaltynumber | null—
logprobsboolean | null—
max_completion_tokensinteger | null—
max_tokensinteger | null—
messagesобязательноеarray<ChatMessage>—
modelобязательноеstring—
ninteger | null—
presence_penaltynumber | null—
response_formatobject | null—
seedinteger | null—
stopstring | array<string> | null—
streambooleanПо умолчанию: false
stream_optionsStreamOptions | null—
temperaturenumber | null—
tool_choicestring | object | null—
toolsarray<object> | null—
top_pnumber | null—
userstring | null—

Схема ChatMessage

ПолеТипОписание
contentstring | array<ContentPart> | null—
namestring | null—
roleобязательное"system" | "user" | "assistant" | "tool" | "developer"—

Схема ContentPart

Часть multimodal-сообщения — текст, картинка, аудио и т.д.

ПолеТипОписание
image_urlobject | null—
textstring | null—
typeобязательноеstring—

Схема StreamOptions

ПолеТипОписание
include_usagebooleanПо умолчанию: false

Схема ChatCompletionResponse

Ответ от провайдера в non-streaming режиме.

ПолеТипОписание
choicesобязательноеarray<Choice>—
createdобязательноеinteger—
idобязательноеstring—
modelобязательноеstring—
object"chat.completion"По умолчанию: "chat.completion"
usageобязательноеUsage—

Схема Choice

ПолеТипОписание
finish_reasonstring | null—
indexобязательноеinteger—
messageChatMessage | null—

Схема Usage

ПолеТипОписание
completion_tokensобязательноеinteger—
prompt_tokensобязательноеinteger—
total_tokensобязательноеinteger—

Ответы

КодОписаниеСхема
200Успешный ответChatCompletionResponse
422Ошибка валидации тела запроса или параметров—