{ "model_id": "thinkingmachines/inkling", "provider_id": "thinkingmachines", "name": "Inkling", "description": "Inkling is Thinking Machines' open-weights hybrid reasoning model, built on a mixture-of-experts architecture. It reasons by default, exposing its chain-of-thought as leading thinking content blocks, with reasoning effort tunable via a Tinker-specific output_config.effort parameter. Available through Tinker's beta Anthropic Messages-compatible endpoint alongside tool use, streaming, and multi-turn conversations. Currently intended for low-traffic testing and internal use rather than high-throughput production deployments; prompt caching, citations, and audio input are not supported through this endpoint.", "task": "Text Generation", "tags": [ "LLM", "Reasoning", "Coding", "Agentic", "Open Source", "Tool Use", "MoE" ], "context_length": 64000, "max_output_tokens": null, "schema_version": "1.0.0", "pricing": { "Input tokens (per 1M)": 1.87, "Output tokens (per 1M)": 4.68, "Cached input tokens (per 1M)": 0.374, "Cache creation tokens (per 1M)": 1.87 }, "examples": [ { "name": "Simple Question", "description": "Basic message request", "input": { "max_tokens": 512, "messages": [ { "content": "The capital of France is", "role": "user" } ] }, "output": { "text": "Paris." }, "raw_response": { "id": "msg_922ec1780752447c802ec60be3dabfd6", "type": "message", "role": "assistant", "content": [ { "type": "thinking", "thinking": "The user is asking a simple factual question: \"The capital of France is\". The answer is Paris. I should provide the answer clearly and concisely.", "signature": "" }, { "type": "text", "text": "Paris." } ], "model": "thinkingmachines/Inkling", "stop_reason": "end_turn", "usage": { "input_tokens": 0, "output_tokens": 41, "cache_creation_input_tokens": 19, "cache_read_input_tokens": 0 } }, "code_snippets": [ { "label": "typescript", "language": "typescript", "code": "const response = await env.AI.run(\n 'thinkingmachines/inkling',\n { max_tokens: 512, messages: [{ content: 'The capital of France is', role: 'user' }] },\n)\nconsole.log(response)" }, { "label": "curl", "language": "bash", "code": "curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/v1/messages \\\n --header \"Authorization: Bearer $CLOUDFLARE_API_TOKEN\" \\\n --header \"Content-Type: application/json\" \\\n --data '{\n \"model\": \"thinkingmachines/inkling\",\n \"max_tokens\": 512,\n \"messages\": [\n {\n \"content\": \"The capital of France is\",\n \"role\": \"user\"\n }\n ]\n}'" } ] }, { "name": "Tool Use", "description": "Tool use round-trip: the model requests a tool call, then answers using the tool_result supplied in a follow-up user message", "input": { "max_tokens": 1024, "messages": [ { "content": "What's the weather in Paris?", "role": "user" }, { "content": [ { "id": "toolu_01A1x1x1x1x1x1x1x1x1x1x1", "input": { "city": "Paris" }, "name": "get_weather", "type": "tool_use" } ], "role": "assistant" }, { "content": [ { "content": "Sunny, 22\u00b0C", "tool_use_id": "toolu_01A1x1x1x1x1x1x1x1x1x1x1", "type": "tool_result" } ], "role": "user" } ], "tools": [ { "description": "Get the current weather for a city.", "input_schema": { "properties": { "city": { "type": "string" } }, "required": [ "city" ], "type": "object" }, "name": "get_weather" } ] }, "output": { "text": "The weather in Paris is sunny with a temperature of 22\u00b0C. Enjoy the nice weather!" }, "raw_response": { "id": "msg_ddfc346862fc4a3f8afc1f8f53e1d932", "type": "message", "role": "assistant", "content": [ { "type": "thinking", "thinking": "The user asked for the weather in Paris and the function returned \"Sunny, 22\u00b0C\". I should provide a clear, friendly answer with this information.", "signature": "" }, { "type": "text", "text": "The weather in Paris is sunny with a temperature of 22\u00b0C. Enjoy the nice weather!" } ], "model": "thinkingmachines/Inkling", "stop_reason": "end_turn", "usage": { "input_tokens": 0, "output_tokens": 57, "cache_creation_input_tokens": 95, "cache_read_input_tokens": 0 } }, "code_snippets": [ { "label": "typescript", "language": "typescript", "code": "const response = await env.AI.run(\n 'thinkingmachines/inkling',\n {\n max_tokens: 1024,\n messages: [\n { content: \"What's the weather in Paris?\", role: 'user' },\n {\n content: [\n {\n id: 'toolu_01A1x1x1x1x1x1x1x1x1x1x1',\n input: { city: 'Paris' },\n name: 'get_weather',\n type: 'tool_use',\n },\n ],\n role: 'assistant',\n },\n {\n content: [\n {\n content: 'Sunny, 22\u00b0C',\n tool_use_id: 'toolu_01A1x1x1x1x1x1x1x1x1x1x1',\n type: 'tool_result',\n },\n ],\n role: 'user',\n },\n ],\n tools: [\n {\n description: 'Get the current weather for a city.',\n input_schema: {\n properties: { city: { type: 'string' } },\n required: ['city'],\n type: 'object',\n },\n name: 'get_weather',\n },\n ],\n },\n)\nconsole.log(response)" }, { "label": "curl", "language": "bash", "code": "curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/v1/messages \\\n --header \"Authorization: Bearer $CLOUDFLARE_API_TOKEN\" \\\n --header \"Content-Type: application/json\" \\\n --data '{\n \"model\": \"thinkingmachines/inkling\",\n \"max_tokens\": 1024,\n \"messages\": [\n {\n \"content\": \"What'\\''s the weather in Paris?\",\n \"role\": \"user\"\n },\n {\n \"content\": [\n {\n \"id\": \"toolu_01A1x1x1x1x1x1x1x1x1x1x1\",\n \"input\": {\n \"city\": \"Paris\"\n },\n \"name\": \"get_weather\",\n \"type\": \"tool_use\"\n }\n ],\n \"role\": \"assistant\"\n },\n {\n \"content\": [\n {\n \"content\": \"Sunny, 22\u00b0C\",\n \"tool_use_id\": \"toolu_01A1x1x1x1x1x1x1x1x1x1x1\",\n \"type\": \"tool_result\"\n }\n ],\n \"role\": \"user\"\n }\n ],\n \"tools\": [\n {\n \"description\": \"Get the current weather for a city.\",\n \"input_schema\": {\n \"properties\": {\n \"city\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"city\"\n ],\n \"type\": \"object\"\n },\n \"name\": \"get_weather\"\n }\n ]\n}'" } ] }, { "name": "Extended Thinking Effort", "description": "Controlling reasoning effort via Tinker's output_config.effort extension. The model's chain-of-thought is returned as a leading thinking content block before the answer.", "input": { "max_tokens": 1024, "messages": [ { "content": "What is 17 * 23?", "role": "user" } ], "output_config": { "effort": "high" } }, "output": { "text": "17 \u00d7 23 = **391**\n\n(Breakdown: 17 \u00d7 20 = 340, plus 17 \u00d7 3 = 51; 340 + 51 = 391)" }, "raw_response": { "id": "msg_a7e845f498bd44e9b1d63dca8b104a2e", "type": "message", "role": "assistant", "content": [ { "type": "thinking", "thinking": "The user is asking for the product of 17 and 23. Let me calculate that.\n\n17 * 23 = ?\n\nI can compute this as:\n17 * 20 = 340\n17 * 3 = 51\n340 + 51 = 391\n\nAlternatively:\n17 * 23 = 17 * (25 - 2) = 425 - 34 = 391\nOr (20 - 3) * 23 = 460 - 69 = 391\n\nSo the answer is 391.", "signature": "" }, { "type": "text", "text": "17 \u00d7 23 = **391**\n\n(Breakdown: 17 \u00d7 20 = 340, plus 17 \u00d7 3 = 51; 340 + 51 = 391)" } ], "model": "thinkingmachines/Inkling", "stop_reason": "end_turn", "usage": { "input_tokens": 0, "output_tokens": 155, "cache_creation_input_tokens": 22, "cache_read_input_tokens": 0 } }, "code_snippets": [ { "label": "typescript", "language": "typescript", "code": "const response = await env.AI.run(\n 'thinkingmachines/inkling',\n {\n max_tokens: 1024,\n messages: [{ content: 'What is 17 * 23?', role: 'user' }],\n output_config: { effort: 'high' },\n },\n)\nconsole.log(response)" }, { "label": "curl", "language": "bash", "code": "curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/v1/messages \\\n --header \"Authorization: Bearer $CLOUDFLARE_API_TOKEN\" \\\n --header \"Content-Type: application/json\" \\\n --data '{\n \"model\": \"thinkingmachines/inkling\",\n \"max_tokens\": 1024,\n \"messages\": [\n {\n \"content\": \"What is 17 * 23?\",\n \"role\": \"user\"\n }\n ],\n \"output_config\": {\n \"effort\": \"high\"\n }\n}'" } ] } ], "default_example": null, "code_snippets": [], "supports_async": false, "zdr": false, "zdr_comment": null, "external_info": "https://huggingface.co/thinkingmachines/Inkling", "terms": null, "cover_image_url": null, "metadata": { "Architecture": "Mixture-of-Experts (MoE)", "Thinking": "Yes" }, "request_formats": [ "anthropic-messages" ], "providers": null, "provider_details": [ { "id": "thinkingmachines", "pricing": { "input_tokens": 1.87, "output_tokens": 4.68, "input_cached_tokens": 0.374, "input_cache_creation_tokens": 1.87 } } ], "banner": null, "created_at": "2026-07-22 15:35:05", "schema": { "input": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "messages": { "type": "array", "items": { "type": "object", "properties": { "role": { "type": "string", "enum": [ "user", "assistant", "system" ] }, "content": { "anyOf": [ { "type": "string" }, { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string" }, "text": { "type": "string" }, "source": {}, "cache_control": { "type": "object", "properties": { "type": { "type": "string", "const": "ephemeral" }, "ttl": { "type": "string", "enum": [ "5m", "1h" ] } }, "required": [ "type" ], "additionalProperties": false } }, "required": [ "type" ], "additionalProperties": {} } } ] } }, "required": [ "role", "content" ], "additionalProperties": false } }, "max_tokens": { "type": "number", "exclusiveMinimum": 0 }, "system": { "anyOf": [ { "type": "string" }, { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "const": "text" }, "text": { "type": "string" }, "cache_control": { "type": "object", "properties": { "type": { "type": "string", "const": "ephemeral" }, "ttl": { "type": "string", "enum": [ "5m", "1h" ] } }, "required": [ "type" ], "additionalProperties": false } }, "required": [ "type", "text" ], "additionalProperties": {} } } ] }, "temperature": { "type": "number", "minimum": 0, "maximum": 1 }, "top_p": { "type": "number", "minimum": 0, "maximum": 1 }, "top_k": { "type": "number", "exclusiveMinimum": 0 }, "stream": { "type": "boolean" }, "metadata": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} } }, "required": [ "messages", "max_tokens" ], "additionalProperties": {} }, "output": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string", "const": "message" }, "role": { "type": "string", "const": "assistant" }, "content": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string" }, "text": { "type": "string" } }, "required": [ "type" ], "additionalProperties": {} } }, "model": { "type": "string" }, "stop_reason": { "type": [ "string", "null" ] }, "usage": { "type": "object", "properties": { "input_tokens": { "type": "number" }, "output_tokens": { "type": "number" }, "cache_creation_input_tokens": { "type": "number" }, "cache_read_input_tokens": { "type": "number" } }, "required": [ "input_tokens", "output_tokens" ], "additionalProperties": false } }, "required": [ "id", "type", "role", "content", "model", "stop_reason", "usage" ], "additionalProperties": {} } } }