Thinking Machines Inkling
Inkling is Thinking Machines’ flagship open-weights model: a Mixture-of-Experts architecture with 975 billion total and 41 billion active parameters per token. It reasons step by step before answering, and that effort is adjustable per request. It is called through /v1/chat/completions with the thinkingmachines/inkling canonical model id.
| Model | Context | Input / Cache Read / Output ($/1M) |
|---|---|---|
thinkingmachines/inkling | 64K | See pricing note |
curl "$LLMTR_BASE_URL/v1/chat/completions" \ -H "Authorization: Bearer llmtr-your_key" \ -H "Content-Type: application/json" \ -d '{ "model": "thinkingmachines/inkling", "messages": [ { "role": "user", "content": "Write a short haiku." } ], "max_tokens": 1024 }'Reasoning effort
Section titled “Reasoning effort”Inkling has reasoning on by default and thinks before answering on every request. You control the effort with the reasoning_effort field; the valid values are six levels: none, minimal, low, medium, high, xhigh. none turns reasoning off entirely.
Effort can also be passed as a suffix on the model id:
thinkingmachines/inkling -> default (reasoning on)thinkingmachines/inkling:none -> reasoning offthinkingmachines/inkling:high -> high effortthinkingmachines/inkling:xhigh -> highest effortcurl "$LLMTR_BASE_URL/v1/chat/completions" \ -H "Authorization: Bearer llmtr-your_key" \ -H "Content-Type: application/json" \ -d '{ "model": "thinkingmachines/inkling", "messages": [{ "role": "user", "content": "What is 17 * 23?" }], "reasoning_effort": "none", "max_tokens": 256 }'Reasoning tokens are returned inside completion_tokens and billed as output (not billed separately). The practical consequence: if max_tokens is very small, the budget can be consumed during the reasoning phase, leaving content empty and finish_reason set to length. Keep max_tokens generous even for short answers. See Reasoning Effort for details.
A boolean reasoning field is not supported; to turn reasoning off, use reasoning_effort: "none" (or the :none suffix).
Image input
Section titled “Image input”Inkling accepts images only as base64 data URLs (data:image/...;base64,...). Remote http(s) image URLs are not supported and are rejected with 400. Audio input is not accepted through this endpoint.
curl "$LLMTR_BASE_URL/v1/chat/completions" \ -H "Authorization: Bearer llmtr-your_key" \ -H "Content-Type: application/json" \ -d '{ "model": "thinkingmachines/inkling", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Name the dominant color in this image." }, { "type": "image_url", "image_url": { "url": "data:image/png;base64,<base64>" } } ] } ], "max_tokens": 512 }'Tool calling
Section titled “Tool calling”Standard OpenAI tools / tool_choice fields are supported (auto and required). When the model calls a tool, finish_reason is tool_calls and content is empty. See Tool Calling for the general flow.
JSON output
Section titled “JSON output”response_format: { "type": "json_object" } is supported and returns a valid JSON object. json_schema (strict schema enforcement) is not honored on this endpoint.
Re-sending the same prompt prefix triggers a prompt-cache read; usage.prompt_tokens_details.cached_tokens is populated and those tokens are billed at the cache-read price. The cache warms after a few requests. There is no cache-write fee.
Pricing note
Section titled “Pricing note”Inkling is priced with a limited-time launch discount; after the discount window ends the price automatically switches to the list price. The current input, cache-read, and output prices are shown on the model detail page. No platform margin is added to model prices; the margin applies only when adding credit.