Your first Korean completion in 30 seconds.
Export a key, send one curl. Same request shape as OpenAI chat completions, plus reasoning_effort.
# 1. your key (minted by the operator)
export PALETTE_API_KEY=pk_...
# 2. one request, low effort, Korean prompt
curl https://llm.pltt.dev/v1/chat/completions \
-H "Authorization: Bearer $PALETTE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "palette-llm",
"reasoning_effort": "low",
"messages": [
{"role": "user", "content": "공급사 A(단가 낮음, 납기 2주 지연)와 B(단가 8% 높음, 납기 준수) 중 하나를 고르고 이유를 두 문장으로 답하세요."}
]
}'
{
"id": "chatcmpl-4f1d0b6c9a2e",
"object": "chat.completion",
"created": 1790035200,
"model": "palette-llm",
"reasoning_effort": "low",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"reasoning_content": "A는 단가가 낮지만 납기가 2주 늦어 생산 일정에 영향을 준다. B는 단가가 8% 높지만 납기를 지킨다.",
"content": "공급사 B를 선택합니다. 8%의 단가 차이보다 2주 납기 지연으로 인한 생산 중단 비용이 더 크기 때문입니다."
},
"finish_reason": "stop"
}
],
"usage": {"prompt_tokens": 96, "completion_tokens": 88, "total_tokens": 184}
}
Routes that exist
- 01GET /v1/health No key. Probes each seat's upstream and returns
{"ok": bool, "seats": {...}}. - 02GET /v1/models Key required. Lists the seats with backing, modalities and the accepted reasoning_effort values.
- 03POST /v1/chat/completions Key required. OpenAI chat shape plus reasoning_effort;
stream: truefor server-sent events. - 04POST /v1/decision/systemone Key required. Palette Decision: typed questions (choice · noul · score) over one state, calibrated probabilities back.
GET /v1/decision/modelslists the decision models. - 05POST /v1/ocr Key required. Palette Light OCR: Korean line OCR on one image (multipart
file, JSONimage_b64, or a raw image body).GET /v1/ocr/models. - 06Nothing else. No /v1/completions, /v1/embeddings or /v1/responses. The gateway's own /docs and /redoc are disabled.
