Sakana AI

Models

Sakana Namazu

Sakana Namazu

Sakana Namazu is a Japanese-specialized LLM that combines a deep understanding of Japanese culture and business customs with high-performance language capabilities. Built on the open model Kimi K2.6 and refined with Sakana AI's in-house data for Japanese language and business workflows, it handles complex tasks using web search and code execution. Unlike Fugu, which orchestrates multiple frontier models, Sakana Namazu provides a single in-house model as an API.

PropertyValue
Model IDsakana-namazu-v1.0
Aliassakana-namazu
Context window256K tokens
StreamingSupported
Image inputSupported (URL and base64)
File inputPDF, XLSX, CSV, DOCX, and more (max 4 MB per file)
Structured outputjson_schema and json_object

Benchmark comparison

Sakana Namazu's strengths lie in two areas: advanced reasoning and problem-solving, and strong performance in Japanese language and Japan-specific contexts.

Benchmark comparison chart: Sakana Namazu vs Kimi K2.6 across AIME26, MMLU-Pro, LiveCodeBench v6, JFBench, Translation, and FairPoliticsQA

Reasoning and problem-solving are evaluated with AIME26 (mathematical reasoning), MMLU-Pro (broad knowledge and reasoning), and LiveCodeBench v6 (coding). Sakana Namazu retains the high performance of its base model Kimi K2.6 through careful tuning, demonstrating strong task completion ability — understanding complex problems, reasoning through them, and arriving at solutions.

Japanese language and Japan-specific understanding are evaluated with JFBench (Japanese instruction following and response quality), an internal translation benchmark (Japanese translation quality), and FairPoliticsQA (neutrality and balance on political topics). Sakana Namazu outperforms the base model on all three. In particular, FairPoliticsQA improved from 34.10% to 56.30%, demonstrating that the model can produce balanced responses even on sensitive topics.

Sakana Namazu API endpoint

Sakana Namazu uses the same API endpoint as Fugu. Point your OpenAI SDK client at the endpoint — only the model parameter needs to change:

# pip install openai
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["SAKANA_API_KEY"],
    base_url="https://api.sakana.ai/v1",
)

response = client.chat.completions.create(
    model="sakana-namazu",
    messages=[{"role": "user", "content": "こんにちは!"}],
)

print(response.choices[0].message.content)

Image input

Sakana Namazu accepts images via URL or base64-encoded data. Pass them as image_url content parts in the messages array:

import base64
from openai import OpenAI

client = OpenAI(
    base_url="https://api.sakana.ai/v1",
    api_key="YOUR_API_KEY",
)

with open("photo.png", "rb") as f:
    img_b64 = base64.b64encode(f.read()).decode()

response = client.chat.completions.create(
    model="sakana-namazu",
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "Describe this image."},
            {"type": "image_url", "image_url": {"url": f"data:image/png;base64,{img_b64}"}},
        ],
    }],
)

print(response.choices[0].message.content)

File input

You can attach files (PDF, XLSX, CSV, DOCX, and more — max 4 MB per file) as base64-encoded input_file content parts. Combined with code_interpreter, the model can read and process the file directly:

import base64
from openai import OpenAI

client = OpenAI(
    base_url="https://api.sakana.ai/v1",
    api_key="YOUR_API_KEY",
)

with open("data.csv", "rb") as f:
    data_b64 = base64.b64encode(f.read()).decode()

response = client.responses.create(
    model="sakana-namazu",
    input=[{
        "role": "user",
        "content": [
            {
                "type": "input_file",
                "filename": "data.csv",
                "file_data": f"data:text/csv;base64,{data_b64}",
            },
            {
                "type": "input_text",
                "text": "Analyze this CSV and visualize the key trends.",
            },
        ],
    }],
    tools=[{"type": "code_interpreter"}],
)

print(response.output_text)

Sakana Namazu supported endpoints

EndpointMethodDescription
/v1/chat/completionsPOSTOpenAI Chat Completions API
/v1/responsesPOSTOpenAI Responses API
/v1/messagesPOSTAnthropic Messages API
/v1/modelsGETList available models

Responses API supported request fields

The Sakana Namazu Responses API is available at /v1/responses. See the OpenAI Responses API reference for details.

FieldTypeDescription
modelstringRequired. The model ID. sakana-namazu.
inputstring | arrayText (sent as a single user message) or an array of message items.
instructionsstringPrepended as a system message.
max_output_tokensintegerMaximum number of tokens to generate (including thinking). Defaults to 65,536.
temperaturenumberSampling temperature.
top_pnumberNucleus sampling.
streambooleanEnable streaming.
toolsarrayFunction tool definitions or built-in tools (web_search, code_interpreter).
tool_choicestring | objectControls whether and which tools to call.
text.formatobjectStructured output. Supports json_schema and json_object.

previous_response_id and response_format (use text.format instead) are rejected.

Chat Completions supported request fields

The Chat Completions API is available at /v1/chat/completions. See the OpenAI Chat Completions API reference for details.

FieldTypeDescription
modelstringRequired. The model ID. sakana-namazu.
messagesarrayArray of messages. Supports text, image, and file content parts.
max_tokensintegerMaximum number of tokens to generate (including thinking). Defaults to 65,536.
max_completion_tokensintegerAlternative to max_tokens. Takes precedence when both are provided.
temperaturenumberSampling temperature.
top_pnumberNucleus sampling.
streambooleanEnable streaming.
toolsarrayFunction tool definitions or built-in tools (web_search, code_interpreter).
tool_choicestring | objectControls whether and which tools to call.
response_formatobjectStructured output. Supports json_schema and json_object.

functions / function_call are rejected as legacy. Other top-level fields (stop, presence_penalty, frequency_penalty, seed, etc. are also supported.

Messages API supported request fields

The Anthropic-compatible Messages API is available at /v1/messages. See the Anthropic Messages API reference for details.

FieldTypeDescription
modelstringRequired. The model ID. sakana-namazu.
max_tokensintegerRequired. Maximum number of tokens to generate.
messagesarrayRequired. Array of messages. Supports text, image, and file content blocks.
systemstring | arraySystem prompt. A string or an array of text blocks.
temperaturenumberSampling temperature.
top_pnumberNucleus sampling.
top_kintegerTop-K sampling.
streambooleanEnable streaming.
toolsarrayFunction tool definitions or built-in tools (web_search, code_interpreter). Unknown tool types are rejected.
tool_choiceobjectControls whether and which tools to call. Supports auto, none, any, and tool.
stop_sequencesarrayStop sequences.

Other top-level fields such as metadata are also supported.

Sakana Namazu built-in tools

Sakana Namazu supports the following built-in tools. Add them to your request's tools array. The model calls them autonomously in an agentic loop — you do not need to execute them yourself.

ToolDescription
web_searchSearch the web and retrieve ranked results with snippets.
code_interpreterExecute Python code in a sandboxed environment. Files attached to the request are available inside the sandbox. The session persists within the request.

Here is an example using web_search:

from openai import OpenAI

client = OpenAI(
    base_url="https://api.sakana.ai/v1",
    api_key="YOUR_API_KEY",
)

response = client.responses.create(
    model="sakana-namazu",
    tools=[{"type": "web_search"}],
    input="What is today's weather in Tokyo?",
)

print(response.output_text)

With code_interpreter, files attached to the request are available for the model to read directly. Files generated during code execution are returned as download URLs (valid for 1 hour).

  • Responses API: Generated files appear as file entries inside the code_interpreter_call output item, including download_url, filename, and size_bytes.
  • Anthropic Messages API: Generated files appear as code_execution_output blocks inside code_execution_tool_result.
  • Chat Completions API: Generated file metadata is not available (only stdout / stderr).

Sakana Namazu thinking

Sakana Namazu supports extended thinking — the model generates an internal chain of thought before producing its answer.

  • Responses API: Thinking appears as a reasoning output item.
  • Anthropic Messages API: Thinking appears as a thinking content block.
  • Chat Completions API: Thinking appears in the reasoning_content field on the assistant message.

Thinking is enabled by default. You can enable or disable it via the following parameters:

  • Responses API: Use the chat_template_kwargs parameter. Enable: "chat_template_kwargs": {"thinking": true}, disable: "chat_template_kwargs": {"thinking": false}
  • Anthropic Messages API: Use the thinking parameter. Enable: "thinking": {"type": "enabled"}, disable: "thinking": {"type": "disabled"}
  • Chat Completions API: Use the chat_template_kwargs parameter. Enable: "chat_template_kwargs": {"thinking": true}, disable: "chat_template_kwargs": {"thinking": false}. Thinking output is returned in the reasoning_content field.

Thinking tokens are billed at the same rate as output tokens.

Sakana Namazu usage fields

Sakana Namazu returns the standard OpenAI usage fields (Messages API uses the standard Anthropic usage format).

FieldDescription
input_tokensInput tokens sent to the model.
output_tokensOutput tokens generated by the model.
input_tokens_details.cached_tokensCached input tokens.