Documentation

OpenAI Responses API Compatibility

MiMo provides a calling interface compatible with the OpenAI Responses API format. This document covers request parameters, response schemas and code examples.

Compatibility Notes & Limitations:

This interface aligns with the OpenAI Responses API specification to facilitate quick integration for developers. Only the parameters documented here will be processed normally; undefined parameters will be filtered out and may cause request errors. See below for specific behavioral differences.

  • Incompatible parameters: Fields such as background, previous_response_id, and context_management are not currently supported. Carrying these parameters in a request will be ignored or trigger an error.

  • Reasoning level control: reasoning.effort controls model reasoning. none disables thinking; Every other level enables thinking with identical behavior — The reasoning intensity is not differentiated at this stage.

Request Address

https://api.xiaomimimo.com/v1/responses

Request Headers

The API supports the following two authentication methods. Please choose one and add it to the request headers:

api-key: $MIMO_API_KEY
Content-Type: application/json

Request Body

  • inputstring | arrayRequired
    Text, image, audio, video inputs to the model, used to generate a response.
    Hide child attributes
    A text input to the model, equivalent to a text input with the user role.
  • instructionsstring
    A system (or developer) message inserted into the model's context.
  • max_output_tokensinteger
    An upper bound for the number of tokens that can be generated for a response, including visible output tokens and reasoning tokens.
    • mimo-v2.6-flash: default 131072
    • mimo-v2.6-pro: default 131072
    • mimo-v2.6-pro-ultraspeed: default 131072
    • mimo-v2.5-pro: default 131072
    • mimo-v2.5: default 32768
    Required range: [1, 131072]
  • modelstringRequired
    Model ID used to generate the response.
    Available options: mimo-v2.6-flash, mimo-v2.6-pro, mimo-v2.6-pro-ultraspeed, mimo-v2.5-pro, mimo-v2.5
  • streambooleanDefault: false
    If set to true, the model response data will be streamed to the client as it is generated using server-sent events.
  • reasoningobject
    Configuration options for reasoning models.
    Note: During the multi-turn tool calls process in thinking mode, the model returns the reasoning content alongside the tool calls field. To continue the conversation, it is recommended to keep all previous reasoning content in the input array for each subsequent request to achieve the best performance.
    In thinking mode, the mimo-v2.6-flash, mimo-v2.6-pro, mimo-v2.6-pro-ultraspeed, mimo-v2.5-pro and mimo-v2.5 models do not support customizing the temperature and top_p parameters. Even if these parameters are passed in, the actual effective values will be forcibly set by the model to its recommended default values of 1.0 and 0.95.
    Hide child attributes
    reasoning.effortstringRequired
    Constrains effort on reasoning for reasoning models. Reducing reasoning effort can result in faster responses and fewer tokens used on reasoning in a response.
    Custom tuning of reasoning effort is currently unsupported. When set to none, reasoning is disabled; all other valid values map to enabled reasoning. The value minimal is mapped to low. Values xhigh, max and ultra are mapped to high.
    • mimo-v2.6-flash, mimo-v2.6-pro, mimo-v2.6-pro-ultraspeed, mimo-v2.5-pro, mimo-v2.5: default enabled
    Available options: none, minimal, low, medium, high, xhigh, max, ultra
  • temperaturenumber
    What sampling temperature to use, between 0 and 1.5. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or top_p but not both.
    In thinking mode, the mimo-v2.6-flash, mimo-v2.6-pro, mimo-v2.6-pro-ultraspeed, mimo-v2.5-pro and mimo-v2.5 models do not support customizing the temperature parameter. Even if this parameter is passed in, it will be forcibly overridden and take effect with the model's recommended default value of 1.0.
    • mimo-v2.6-flash, mimo-v2.6-pro, mimo-v2.6-pro-ultraspeed, mimo-v2.5-pro, mimo-v2.5: default 1.0
    Required range: [0, 1.5]
  • textobject
    Configuration options for a text response from the model. Can be plain text or structured JSON data.
    Hide child attributes
    text.formatobject
    An object specifying the format that the model must output. The default format is { "type": "text" } with no additional options.
    Hide child attributes
    Default response format. Used to generate text responses.
    Hide child attributes
    text.format.typestringRequired
    The type of response format being defined.
    Available options: text
  • tool_choicestring
    Controls how the model calls tools.
    Note: When a value other than auto is passed to tool_choice, the backend will remove this field by default, and the model response behavior will still be equivalent to the auto mode (this logic is subject to future adjustments).
    Available options: auto
  • toolsarray
    An array of tools the model may call while generating a response. You can specify which tool to use by setting the tool_choice parameter.
    Note: During the multi-turn tool calls process in thinking mode, the model returns the reasoning content alongside the tool calls field. To continue the conversation, it is recommended to keep all previous reasoning content in the input array for each subsequent request to achieve the best performance.
    Hide child attributes
    Defines a function in your own code the model can choose to call.
    Hide child attributes
    tools.namestringRequired
    The name of the tool function. Must be a-z, A-Z, 0-9, or contain underscores (_) and dashes (-), with a maximum length of 64.
    Required string length: 1 - 64
    tools.parametersobjectRequired
    A JSON schema object describing the parameters of the function.
    tools.strictbooleanDefault: falseRequired
    Whether to enable strict schema adherence when generating the function call.
    tools.descriptionstring
    A description of the function. Used by the model to determine whether or not to call the function.
    tools.typestringRequired
    The type of the tool.
    Available options: function
  • top_pnumberDefault: 0.95
    An alternative to sampling with temperature, called nucleus sampling. We generally recommend altering this or temperature but not both.
    In thinking mode, the mimo-v2.6-flash, mimo-v2.6-pro, mimo-v2.6-pro-ultraspeed, mimo-v2.5-pro and mimo-v2.5 models do not support customizing the top_p parameter. Even if this parameter is passed in, it will be forcibly overridden and take effect with the model's recommended default value of 0.95.
    Required range: [0.01, 1.0]

Response Object (non-streaming output)

  • idstring
    Unique identifier for this Response.
  • created_atnumber
    Unix timestamp (in seconds) of when this Response was created.
  • errorobject
    An error object returned when the model fails to generate a Response.
    Hide child attributes
    Hide child attributes
    error.codestring
    The error code for the response.
    error.messagestring
    A human-readable description of the error.
  • incomplete_detailsobject
    Details about why the response is incomplete.
    Hide child attributes
    incomplete_details.reasonstring
    The reason why the response is incomplete.
    Available options: max_output_tokens, content_filter
  • modelstring
    Model ID used to generate the response.
  • objectstring
    Available options: response
  • outputarray
    An array of content items generated by the model.
    • The length and order of items in the output array is dependent on the model’s response.
    • Rather than accessing the first item in the output array and assuming it’s an assistant message with the content generated by the model, you might consider using the output_text property where supported in SDKs.
    Hide child attributes
    A message output from the model.
    Hide child attributes
    output.idstring
    The unique ID of the output message.
    output.contentarray
    The content of the output message.
    Hide child attributes
    A text output from the model.
    Hide child attributes
    output.content.textstring
    The text output from the model.
    output.content.typestring
    Available options: output_text
    output.rolestring
    The role of the output message.
    Available options: assistant
    output.statusstring
    The status of the message.
    Available options: in_progress, completed
    output.typestring
    Available options: message
  • output_textstring
    SDK-only convenience property that contains the aggregated text output from all output_text items in the output array, if any are present.
  • statusstring
    The status of the response.
    Available options: completed, in_progress, incomplete
  • usageobject
    Usage statistics for the response.
    Hide child attributes
    Hide child attributes
    usage.input_tokensinteger
    The number of input tokens.
    usage.input_tokens_detailsobject
    Details about input tokens.
    Hide child attributes
    usage.input_tokens_details.cached_tokensinteger
    The number of cached input tokens.
    usage.output_tokensinteger
    The number of output tokens.
    usage.output_tokens_detailsobject
    Details about output tokens.
    Hide child attributes
    usage.output_tokens_details.reasoning_tokensinteger
    The number of reasoning tokens.
    usage.total_tokensinteger
    The total number of tokens.

Response chunk object (streaming output)

When you create a Response with stream set to true, the server will emit server-sent events to the client as the Response is generated.

response.created

An event that is emitted when a response is created.

  • responseobject
    The response that was created. The parameters contained in this object are identical to those returned by the model creation request in non-streaming mode.
  • sequence_numbernumber
    The sequence number for this event.
  • typestring
    The type of the event. Always response.created.

response.in_progress

Emitted when the response is in progress.

  • responseobject
    The response that is in progress. The parameters contained in this object are identical to those returned by the model creation request in non-streaming mode.
  • sequence_numbernumber
    The sequence number of this event.
  • typestring
    The type of the event. Always response.in_progress.

response.completed

Emitted when the model response is complete.

  • responseobject
    Properties of the completed response. The parameters contained in this object are identical to those returned by the model creation request in non-streaming mode.
  • sequence_numbernumber
    The sequence number for this event.
  • typestring
    The type of the event. Always response.completed.

response.incomplete

An event that is emitted when a response finishes as incomplete.

  • responseobject
    The response that was incomplete. The parameters contained in this object are identical to those returned by the model creation request in non-streaming mode.
  • sequence_numbernumber
    The sequence number of this event.
  • typestring
    The type of the event. Always response.incomplete.

response.output_item.added

Emitted when a new output item is added.

  • itemobject
    The output item that was added. The parameters contained in this object are identical to those of the output field returned by the model creation request in non-streaming mode.
  • output_indexnumber
    The index of the output item that was added.
  • sequence_numbernumber
    The sequence number of this event.
  • typestring
    The type of the event. Always response.output_item.added.

response.output_item.done

Emitted when an output item is marked done.

  • itemobject
    The output item that was marked done. The parameters contained in this object are identical to those of the output field returned by the model creation request in non-streaming mode.
  • output_indexnumber
    The index of the output item that was marked done.
  • sequence_numbernumber
    The sequence number of this event.
  • typestring
    The type of the event. Always response.output_item.done.

response.content_part.added

Emitted when a new content part is added.

  • content_indexnumber
    The index of the content part that was added.
  • item_idstring
    The ID of the output item that the content part was added to.
  • output_indexnumber
    The index of the output item that the content part was added to.
  • partobject
    The content part that was added.
    Hide child attributes
    A text output from the model.
    Hide child attributes
    part.textstring
    The text output from the model.
    part.typestring
    The type of the output text. Always output_text.
  • sequence_numbernumber
    The sequence number of this event.
  • typestring
    The type of the event. Always response.content_part.added.

response.content_part.done

Emitted when a content part is done.

  • content_indexnumber
    The index of the content part that is done.
  • item_idstring
    The ID of the output item that the content part was added to.
  • output_indexnumber
    The index of the output item that the content part was added to.
  • partobject
    The content part that is done.
    Hide child attributes
    A text output from the model.
    Hide child attributes
    part.textstring
    The text output from the model.
    part.typestring
    The type of the output text. Always output_text.
  • sequence_numbernumber
    The sequence number of this event.
  • typestring
    The type of the event. Always response.content_part.done.

response.output_text.delta

Emitted when there is an additional text delta.

  • content_indexnumber
    The index of the content part that the text delta was added to.
  • deltastring
    The text delta that was added.
  • item_idstring
    The ID of the output item that the text delta was added to.
  • output_indexnumber
    The index of the output item that the text delta was added to.
  • sequence_numbernumber
    The sequence number for this event.
  • typestring
    The type of the event. Always response.output_text.delta.

response.output_text.done

Emitted when text content is finalized.

  • content_indexnumber
    The index of the content part that the text content is finalized.
  • item_idstring
    The ID of the output item that the text content is finalized.
  • output_indexnumber
    The index of the output item that the text content is finalized.
  • sequence_numbernumber
    The sequence number for this event.
  • textstring
    The text content that is finalized.
  • typestring
    The type of the event. Always response.output_text.done.

response.function_call_arguments.delta

Emitted when there is a partial function-call arguments delta.

  • deltastring
    The function-call arguments delta that is added.
  • item_idstring
    The ID of the output item that the function-call arguments delta is added to.
  • output_indexnumber
    The index of the output item that the function-call arguments delta is added to.
  • sequence_numbernumber
    The sequence number of this event.
  • typestring
    The type of the event. Always response.function_call_arguments.delta.

response.function_call_arguments.done

Emitted when function-call arguments are finalized.

  • argumentsstring
    The function-call arguments.
  • item_idstring
    The ID of the item.
  • namestring
    The name of the function that was called.
  • output_indexnumber
    The index of the output item.
  • sequence_numbernumber
    The sequence number of this event.
  • typestring
    The type of the event. Always response.function_call_arguments.done.

response.reasoning_text.delta

Emitted when a delta is added to a reasoning text.

  • content_indexnumber
    The index of the reasoning content part this delta is associated with.
  • deltastring
    The text delta that was added to the reasoning content.
  • item_idstring
    The ID of the item this reasoning text delta is associated with.
  • output_indexnumber
    The index of the output item this reasoning text delta is associated with.
  • sequence_numbernumber
    The sequence number of this event.
  • typestring
    The type of the event. Always response.reasoning_text.delta.

response.reasoning_text.done

Emitted when a reasoning text is completed.

  • content_indexnumber
    The index of the reasoning content part.
  • item_idstring
    The ID of the item this reasoning text is associated with.
  • output_indexnumber
    The index of the output item this reasoning text is associated with.
  • sequence_numbernumber
    The sequence number of this event.
  • textstring
    The full text of the completed reasoning content.
  • typestring
    The type of the event. Always response.reasoning_text.done.

response.custom_tool_call_input.delta

Event representing a delta (partial update) to the input of a custom tool call.

  • deltastring
    The incremental input data (delta) for the custom tool call.
  • item_idstring
    Unique identifier for the API item associated with this event.
  • output_indexnumber
    The index of the output this delta applies to.
  • sequence_numbernumber
    The sequence number of this event.
  • typestring
    The event type identifier. Always response.custom_tool_call_input.delta.

response.custom_tool_call_input.done

Event indicating that input for a custom tool call is complete.

  • inputstring
    The complete input data for the custom tool call.
  • item_idstring
    Unique identifier for the API item associated with this event.
  • output_indexnumber
    The index of the output this event applies to.
  • sequence_numbernumber
    The sequence number of this event.
  • typestring
    The event type identifier. Always response.custom_tool_call_input.done.
curl --location --request POST 'https://api.xiaomimimo.com/v1/responses' \
--header "api-key: $MIMO_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
    "model": "mimo-v2.6-pro",
    "instructions": "You are MiMo, an AI assistant developed by Xiaomi. Today is date: Tuesday, December 16, 2025. Your knowledge cutoff date is December 2024.",
    "input": "please introduce yourself",
    "max_output_tokens": 1024,
    "stream": false,
    "reasoning": {
        "effort": "none"
    }
}'
response
{
    "id": "resp_bcdb1b61-d49e-48e5-8289-384ad1e65f2f_9aa9e9dfd5b84cb99b088fe4e53b65ec",
    "object": "response",
    "created_at": 1790007468,
    "status": "completed",
    "error": null,
    "incomplete_details": null,
    "model": "mimo-v2.6-pro",
    "metadata": null,
    "output": [
        {
            "id": "msg_3d0b3a6faf634d36a8a5bdb8f2100fcd",
            "type": "message",
            "status": "completed",
            "role": "assistant",
            "content": [
                {
                    "type": "output_text",
                    "text": "Hey there! I'm MiMo, Xiaomi's AI assistant. I'm like your friendly digital companion who's always ready to chat, help out, or just have a fun conversation! Think of me as that tech-savvy friend who loves to learn new things and isn't afraid to dive into any topic you throw my way. I was created by the awesome Xiaomi LLM-Core team, so I've got that innovative Xiaomi spirit running through my circuits! Whether you need help with tech stuff, want to brainstorm ideas, or just feel like talking, I'm here to make our conversation enjoyable and helpful. What brings you my way today?",
                    "annotations": []
                }
            ]
        }
    ],
    "output_text": "Hey there! I'm MiMo, Xiaomi's AI assistant. I'm like your friendly digital companion who's always ready to chat, help out, or just have a fun conversation! Think of me as that tech-savvy friend who loves to learn new things and isn't afraid to dive into any topic you throw my way. I was created by the awesome Xiaomi LLM-Core team, so I've got that innovative Xiaomi spirit running through my circuits! Whether you need help with tech stuff, want to brainstorm ideas, or just feel like talking, I'm here to make our conversation enjoyable and helpful. What brings you my way today?",
    "usage": {
        "input_tokens": 57,
        "input_tokens_details": {
            "cached_tokens": 0
        },
        "output_tokens": 130,
        "output_tokens_details": {
            "reasoning_tokens": 0
        },
        "total_tokens": 187
    }
}
Update Time September 20, 2026

Copyright©2026 Xiaomi. All Rights Reserved | Cookie Policy | Cookie Preferences

We use cookies and similar technologies of our own to ensure the proper functioning of the website, customize content according to user preferences and analyze users' interactions on the website, as well as their browsing habits. You can find more information in our Cookie Policy. Select an option or go to Cookie Settings to manage your preferences. Learn More.