Runs against https://llm.pltt.dev/v1 with your own pk_ key. Same shape as OpenAI chat completions, plus reasoning_effort.
content came back empty. The model's text is in reasoning_content above; render that when content is empty.
Korean scores are our 300-item runs of CLIcK and KMMLU, measured 2026-09-23. Frontier rows were measured on the same items and are shown for context only.
| Seat | Backing | Runs on | Vision | Context | CLIcK | KMMLU | Role |
|---|---|---|---|---|---|---|---|
palette-llm | Palette LLM | Palette managed endpoint | Text only | 1M | 0.850 | 0.723 | Default decision-maker |
palette-llm-max | Palette LLM Max | Palette managed endpoint | Yes | 1M | 0.802 | 0.736 | Hardest decisions |
palette-vlm | Palette Vision | Palette managed endpoint | Yes | 1M | not measured | not measured | Fast + vision. Alias palette-llm-fast |
palette-llm-ko | Palette LLM Korean | Palette GPU, Palette inference server, Palette GPU | Yes, up to 6 images | 256K | 0.869 | 0.640 | Our weights. Korean-tuning target |
| GPT-6 Astra | Frontier, same 300 items, for context | 0.965 | 0.853 | context | |||
| Gemini 3.1 Pro | Frontier, same 300 items, for context | 0.957 | 0.819 | context | |||
| Claude Fable 5.1 | Frontier, same 300 items, for context | 0.930 | 0.803 | context | |||
Measured latency, 2026-09-23: palette-llm at low answered a Korean supplier decision in 3.2 s. palette-vlm read a Korean invoice image and verified its total in 4.0 s. palette-llm-ko vision 6.4 s. Unknown model ids fall back to palette-llm without an error; copy seat ids exactly.
Seven facts about the gateway as it runs on 2026-09-23. The playground above already follows them.
choices[0].message.reasoning_content. Stream: choices[0].delta.reasoning_content. If content is empty, render reasoning_content; on palette-llm-ko at high the model may never emit [답변].max_tokens when omitted: 1024 / 2048 / 8192 / 16384 for low / medium / high / xhigh; the xhigh review pass is fixed at 4096. Set 4000 or more for high and xhigh.model becomes palette-llm, an unknown reasoning_effort becomes medium. There is no 404. palette-llm-fast is an alias of palette-vlm.model in a chunk is the backing id such as Palette LLM, not the seat id, and a last chunk may carry empty choices with usage. Always read choices[0].delta and guard for empty choices. xhigh streams only after the draft finished, so the first chunk arrives later.image_url parts as data: or https:// URLs; palette-llm-ko takes up to 6 per request. palette-llm is text only.{"detail": "..."}. 401 for a missing, unknown or revoked key; 503 when a seat has no upstream; upstream 4xx / 5xx pass through with the first 500 characters of the body. Cloudflare answers 403 (error code 1010) only to Python's stock urllib User-Agent; the OpenAI SDK, curl and fetch pass.