> ## Documentation Index
> Fetch the complete documentation index at: https://docs.evolink.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# MiniMax-M3 - API compatible con OpenAI

> - Utiliza el protocolo OpenAI Chat Completions para llamar al modelo MiniMax-M3
- **Conversación de múltiples turnos**: admite diálogo contextual de un solo turno o de múltiples turnos
- **Indicaciones de sistema**: personaliza el rol y el comportamiento de la IA mediante mensajes con `role=system`
- **Entrada multimodal**: `content` admite texto + imagen / video combinados
- **Modo de pensamiento**: se controla mediante `thinking.type`; el contenido de pensamiento se devuelve a través de `reasoning_content`
- **Salida en streaming**: admite respuestas en streaming SSE
- **Llamada a herramientas**: admite Function Calling

<Note>
  **BaseURL**: La BaseURL predeterminada es `https://direct.evolink.ai`, que ofrece mejor compatibilidad con los modelos de texto y las conexiones de larga duración. `https://api.evolink.ai` es el endpoint principal para los servicios multimodales y sirve como dirección de respaldo para los modelos de texto.
</Note>


## OpenAPI

````yaml es/api-manual/language-series/minimax-m3/minimax-m3-chat.json POST /v1/chat/completions
openapi: 3.1.0
info:
  title: Referencia completa de la API de MiniMax-M3 (compatible con OpenAI)
  description: >-
    Referencia completa de la API de la interfaz de chat de MiniMax-M3.


    **Capacidades del modelo**:

    - Salida máxima: **524,288 tokens** (512K), recomendado **131,072 tokens**
    (128K)

    - Modo de pensamiento: se controla mediante el campo `thinking`, con valor
    predeterminado `adaptive` (el modelo decide de forma adaptativa si realiza
    un pensamiento profundo)

    - Entrada multimodal: admite texto, imágenes y video

    - Llamada a herramientas: admite Function Calling

    - Salida en streaming: admite respuestas en streaming SSE
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://direct.evolink.ai
    description: Producción (recomendado)
  - url: https://api.evolink.ai
    description: URL alternativa
security:
  - bearerAuth: []
tags:
  - name: Generación de chat
    description: Endpoints relacionados con la generación de chat de IA
paths:
  /v1/chat/completions:
    post:
      tags:
        - Generación de chat
      summary: Interfaz de chat de MiniMax-M3 (compatible con OpenAI)
      description: >-
        - Utiliza el protocolo OpenAI Chat Completions para llamar al modelo
        MiniMax-M3

        - **Conversación de múltiples turnos**: admite diálogo contextual de un
        solo turno o de múltiples turnos

        - **Indicaciones de sistema**: personaliza el rol y el comportamiento de
        la IA mediante mensajes con `role=system`

        - **Entrada multimodal**: `content` admite texto + imagen / video
        combinados

        - **Modo de pensamiento**: se controla mediante `thinking.type`; el
        contenido de pensamiento se devuelve a través de `reasoning_content`

        - **Salida en streaming**: admite respuestas en streaming SSE

        - **Llamada a herramientas**: admite Function Calling
      operationId: createChatCompletionMiniMaxM3
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChatCompletionRequest'
            examples:
              simple_text:
                summary: Conversación de texto de un solo turno
                value:
                  model: MiniMax-M3
                  messages:
                    - role: user
                      content: Preséntate, por favor
              multi_turn:
                summary: Conversación de múltiples turnos (comprensión del contexto)
                value:
                  model: MiniMax-M3
                  messages:
                    - role: user
                      content: ¿Qué es Python?
                    - role: assistant
                      content: Python es un lenguaje de programación de alto nivel...
                    - role: user
                      content: ¿Cuáles son sus ventajas?
              system_prompt:
                summary: Uso de indicaciones de sistema
                value:
                  model: MiniMax-M3
                  messages:
                    - role: system
                      content: >-
                        Eres un asistente profesional de programación en Python.
                        Responde las preguntas de forma concisa.
                    - role: user
                      content: ¿Cómo se lee un archivo?
              image_understanding:
                summary: Comprensión de imágenes (entrada multimodal)
                value:
                  model: MiniMax-M3
                  thinking:
                    type: adaptive
                  messages:
                    - role: user
                      content:
                        - type: text
                          text: ¿Qué hay en esta imagen?
                        - type: image_url
                          image_url:
                            url: https://example.com/image.jpeg
                  max_completion_tokens: 500
              disable_thinking:
                summary: Desactivar el modo de pensamiento (respuesta directa)
                value:
                  model: MiniMax-M3
                  thinking:
                    type: disabled
                  messages:
                    - role: user
                      content: ¿Cuál es la capital de Francia?
              tool_calling:
                summary: Function Calling (invocación de herramientas)
                value:
                  model: MiniMax-M3
                  messages:
                    - role: user
                      content: Consulta el clima de hoy en Pekín
                  tools:
                    - type: function
                      function:
                        name: get_weather
                        description: >-
                          Consulta las condiciones meteorológicas de una ciudad
                          específica
                        parameters:
                          type: object
                          properties:
                            location:
                              type: string
                              description: 'Nombre de la ciudad, por ejemplo: Pekín'
                          required:
                            - location
              streaming:
                summary: Salida en streaming
                value:
                  model: MiniMax-M3
                  stream: true
                  stream_options:
                    include_usage: true
                  messages:
                    - role: user
                      content: Escribe un poema corto sobre la primavera
      responses:
        '200':
          description: Generación de chat exitosa
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChatCompletionResponse'
              examples:
                default_thinking:
                  summary: >-
                    Predeterminado (pensamiento integrado en content dentro de
                    etiquetas <think>)
                  value:
                    id: 066b36619b147e326d17053cccdef70f
                    choices:
                      - finish_reason: stop
                        index: 0
                        message:
                          content: >-
                            <think>

                            El usuario pregunta por la capital de Francia, que
                            es una pregunta de conocimiento general. La
                            respuesta es París.

                            </think>

                            La capital de Francia es **París**.
                          role: assistant
                          name: MiniMax AI
                          audio_content: ''
                    created: 1777026807
                    model: MiniMax-M3
                    object: chat.completion
                    usage:
                      total_tokens: 60
                      total_characters: 0
                      prompt_tokens: 7
                      completion_tokens: 53
                      prompt_tokens_details:
                        cached_tokens: 0
                    input_sensitive: false
                    output_sensitive: false
                    input_sensitive_type: 0
                    output_sensitive_type: 0
                    base_resp:
                      status_code: 0
                      status_msg: ''
                tool_calls:
                  summary: Llamada a herramienta activada (finish_reason=tool_calls)
                  value:
                    id: 066b13db03518f86c2e3c9b073c04272
                    choices:
                      - finish_reason: tool_calls
                        index: 0
                        message:
                          content: >-
                            <think>

                            El usuario quiere consultar el clima en Pekín, se
                            llama a la herramienta get_weather.

                            </think>

                            Voy a consultar el clima actual en Pekín para ti.
                          role: assistant
                          name: MiniMax AI
                          tool_calls:
                            - id: call_function_p4iiqtpnh5bj_1
                              type: function
                              function:
                                name: get_weather
                                arguments: '{"location": "Pekín"}'
                              index: 0
                          audio_content: ''
                    created: 1777026900
                    model: MiniMax-M3
                    object: chat.completion
                    usage:
                      total_tokens: 110
                      total_characters: 0
                      prompt_tokens: 86
                      completion_tokens: 24
                      prompt_tokens_details:
                        cached_tokens: 0
                    input_sensitive: false
                    output_sensitive: false
                    input_sensitive_type: 0
                    output_sensitive_type: 0
                    base_resp:
                      status_code: 0
                      status_msg: ''
        '400':
          description: Parámetros de solicitud no válidos
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 400
                  message: Invalid request parameters
                  type: invalid_request_error
        '401':
          description: Sin autenticar, token no válido o caducado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 401
                  message: Invalid or expired token
                  type: authentication_error
        '402':
          description: Cuota insuficiente, se requiere recarga
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 402
                  message: Insufficient quota
                  type: insufficient_quota_error
        '403':
          description: Acceso denegado a este modelo
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 403
                  message: Access denied for this model
                  type: permission_error
                  param: model
        '404':
          description: Recurso no encontrado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 404
                  message: Specified model not found
                  type: not_found_error
                  param: model
        '413':
          description: Cuerpo de la solicitud demasiado grande
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 413
                  message: Request body too large
                  type: request_too_large_error
                  param: messages
        '429':
          description: Límite de frecuencia superado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 429
                  message: Rate limit exceeded
                  type: rate_limit_error
        '500':
          description: Error interno del servidor
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 500
                  message: Internal server error
                  type: internal_server_error
        '502':
          description: Puerta de enlace no válida
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 502
                  message: Bad gateway
                  type: bad_gateway_error
        '503':
          description: Servicio temporalmente no disponible
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 503
                  message: Service temporarily unavailable
                  type: service_unavailable_error
components:
  schemas:
    ChatCompletionRequest:
      type: object
      required:
        - model
        - messages
      properties:
        model:
          type: string
          description: Nombre del modelo de chat
          enum:
            - MiniMax-M3
          example: MiniMax-M3
        messages:
          type: array
          description: >-
            Lista de mensajes de la conversación, admite diálogo de múltiples
            turnos


            Los mensajes con diferentes roles tienen distintas estructuras de
            campos; selecciona el rol correspondiente para verlas
          items:
            oneOf:
              - $ref: '#/components/schemas/SystemMessage'
              - $ref: '#/components/schemas/UserMessage'
              - $ref: '#/components/schemas/AssistantRequestMessage'
              - $ref: '#/components/schemas/ToolMessage'
            discriminator:
              propertyName: role
              mapping:
                system:
                  $ref: '#/components/schemas/SystemMessage'
                user:
                  $ref: '#/components/schemas/UserMessage'
                assistant:
                  $ref: '#/components/schemas/AssistantRequestMessage'
                tool:
                  $ref: '#/components/schemas/ToolMessage'
          minItems: 1
        thinking:
          type: object
          description: >-
            Controla el pensamiento profundo


            **Notas**:

            - **Valor predeterminado `adaptive`**: el modelo decide de forma
            adaptativa si realiza un pensamiento profundo según la dificultad
            del problema

            - De forma predeterminada, el contenido de pensamiento se integra en
            el `content` de la respuesta (envuelto en etiquetas
            `<think>...</think>`); para separarlo en un campo dedicado, usa
            `reasoning_split`
          properties:
            type:
              type: string
              description: >-
                Modo de pensamiento profundo


                - `adaptive`: el modelo decide de forma autónoma si se necesita
                pensar (valor predeterminado recomendado)

                - `disabled`: desactiva el pensamiento y responde directamente
              enum:
                - disabled
                - adaptive
              default: adaptive
        reasoning_split:
          type: boolean
          description: >-
            Si se debe separar el contenido de pensamiento en un campo
            independiente


            - `false` (predeterminado): el contenido de pensamiento se integra
            en `content`, envuelto en etiquetas `<think>...</think>`

            - `true`: el contenido de pensamiento se separa en
            `choices[].message.reasoning_content` y `reasoning_details`
        temperature:
          type: number
          description: |-
            Temperatura de muestreo, controla la aleatoriedad de la salida

            **Notas**:
            - Valores más bajos (p. ej. 0.2): salida más determinista y enfocada
            - Valores más altos (p. ej. 1.5): salida más aleatoria y creativa
            - Rango: `[0, 2]`, predeterminado 1
          minimum: 0
          maximum: 2
          default: 1
          example: 1
        top_p:
          type: number
          description: >-
            Parámetro de muestreo por núcleo (Nucleus Sampling)


            **Notas**:

            - Controla el muestreo a partir de los tokens con probabilidad
            acumulada

            - Por ejemplo, 0.95 significa seleccionar entre los tokens que
            alcanzan el 95 % de probabilidad acumulada

            - Rango: `[0, 1]`, MiniMax-M3 predeterminado 0.95


            **Recomendación**: no ajustes temperature y top_p simultáneamente
          minimum: 0
          maximum: 1
          default: 0.95
          example: 0.95
        max_completion_tokens:
          type: integer
          description: >-
            Límite superior de la longitud del contenido generado (en tokens)


            **Notas**:

            - MiniMax-M3 recomendado **131,072** (128K), máximo **524,288**
            (512K)

            - Los tokens generados por el pensamiento también cuentan para este
            límite

            - Si la generación se interrumpe por `length`, intenta aumentar este
            valor
          minimum: 1
          maximum: 524288
          example: 131072
        stream:
          type: boolean
          description: >-
            Si se debe devolver la respuesta en modo streaming


            - `true`: respuesta en streaming, devuelve el contenido en
            fragmentos en tiempo real mediante SSE (Server-Sent Events)

            - `false`: espera la respuesta completa antes de devolverla
            (predeterminado)
          default: false
          example: false
        stream_options:
          type: object
          description: |-
            Opciones de la respuesta en streaming

            Solo tiene efecto cuando `stream=true`
          properties:
            include_usage:
              type: boolean
              description: >-
                Devuelve un fragmento adicional que contiene únicamente las
                estadísticas de `usage` al final del stream
        tools:
          type: array
          description: >-
            Lista de definiciones de herramientas para Function Calling


            Cada herramienta requiere un nombre, una descripción y un esquema de
            parámetros
          items:
            $ref: '#/components/schemas/Tool'
        max_tokens:
          type: integer
          description: |-
            Parámetro heredado de límite de longitud de generación

            **Nota**: obsoleto, usa `max_completion_tokens` en su lugar
          deprecated: true
          minimum: 1
    ChatCompletionResponse:
      type: object
      properties:
        id:
          type: string
          description: Identificador único de la generación de chat
          example: 0668a381bdc3c0ded310e27c9a46d16e7
        model:
          type: string
          description: Nombre del modelo realmente utilizado
          example: MiniMax-M3
        object:
          type: string
          enum:
            - chat.completion
          description: Tipo de respuesta
          example: chat.completion
        created:
          type: integer
          description: Marca de tiempo de creación (segundos Unix)
          example: 1777026807
        choices:
          type: array
          description: Lista de opciones de generación de chat
          items:
            $ref: '#/components/schemas/Choice'
        usage:
          $ref: '#/components/schemas/Usage'
        input_sensitive:
          type: boolean
          description: >-
            Si el contenido de entrada activó un filtro de palabras sensibles.
            Si la entrada infringe gravemente las políticas, la API devolverá un
            error de violación de contenido con el contenido de respuesta vacío
        input_sensitive_type:
          type: integer
          description: >-
            Tipo de palabra sensible activada por la entrada (se devuelve cuando
            `input_sensitive` es true): 1 infracción grave; 2 pornografía; 3
            publicidad; 4 contenido prohibido; 5 lenguaje abusivo; 6
            violencia/terrorismo; 7 otros
        output_sensitive:
          type: boolean
          description: Si el contenido de salida activó un filtro de palabras sensibles
        output_sensitive_type:
          type: integer
          description: Tipo de palabra sensible activada por la salida
        base_resp:
          type: object
          description: Código de estado y detalles del error
          properties:
            status_code:
              type: integer
              description: >-
                Código de estado. `0` indica éxito; otros códigos incluyen
                `1002` para limitación de frecuencia, `1008` para saldo
                insuficiente, `1039` para límite de tokens superado, `2013` para
                error de parámetro, etc.
            status_msg:
              type: string
              description: Detalles del error
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: integer
              description: Código de error de estado HTTP
            message:
              type: string
              description: Descripción del error
            type:
              type: string
              description: Tipo de error
            param:
              type: string
              description: Nombre del parámetro relacionado
    SystemMessage:
      title: System Message
      type: object
      required:
        - role
        - content
      properties:
        role:
          type: string
          enum:
            - system
          description: Identificador de rol, fijo como `system`
        content:
          type: string
          description: >-
            Contenido de la indicación de sistema, usado para definir el rol y
            el comportamiento de la IA
        name:
          type: string
          description: >-
            Nombre del participante, usado para distinguir diferentes fuentes de
            indicaciones de sistema
    UserMessage:
      title: User Message
      type: object
      required:
        - role
        - content
      properties:
        role:
          type: string
          enum:
            - user
          description: Identificador de rol, fijo como `user`
        content:
          description: >-
            Contenido del mensaje del usuario


            **Notas**:

            - Para texto sin formato, pasa una cadena directamente

            - Para multimodal, pasa un arreglo de partes de contenido que admite
            `text` / `image_url` (imágenes, video)
          oneOf:
            - type: string
            - type: array
              items:
                $ref: '#/components/schemas/ContentPart'
        name:
          type: string
          description: Nombre del participante, usado para distinguir diferentes usuarios
    AssistantRequestMessage:
      title: Assistant Message
      type: object
      required:
        - role
      properties:
        role:
          type: string
          enum:
            - assistant
          description: Identificador de rol, fijo como `assistant`
        content:
          type:
            - string
            - 'null'
          description: >-
            Contenido del mensaje del asistente


            **Notas**:

            - Se usa para pasar respuestas históricas del asistente en
            conversaciones de múltiples turnos

            - Puede ser `null` cuando hay `tool_calls` presentes
        name:
          type: string
          description: Nombre del participante
        tool_calls:
          type: array
          description: >-
            Lista de llamadas a herramientas


            Se usa para pasar información histórica de llamadas a herramientas
            en conversaciones de múltiples turnos
          items:
            type: object
            properties:
              id:
                type: string
                description: Identificador único de la llamada a la herramienta
              type:
                type: string
                enum:
                  - function
              function:
                type: object
                properties:
                  name:
                    type: string
                    description: Nombre de la función llamada
                  arguments:
                    type: string
                    description: Argumentos de la función (cadena JSON)
    ToolMessage:
      title: Tool Message
      type: object
      required:
        - role
        - content
        - tool_call_id
      properties:
        role:
          type: string
          enum:
            - tool
          description: Identificador de rol, fijo como `tool`
        content:
          type: string
          description: Contenido del resultado de la llamada a la herramienta
        tool_call_id:
          type: string
          description: >-
            ID de la llamada a la herramienta


            Corresponde al campo `id` devuelto en `tool_calls` del mensaje del
            asistente
    Tool:
      type: object
      required:
        - type
        - function
      properties:
        type:
          type: string
          enum:
            - function
          description: Tipo de herramienta, actualmente solo se admite `function`
        function:
          type: object
          required:
            - name
            - parameters
          properties:
            name:
              type: string
              description: >-
                Nombre de la función a llamar


                **Notas**:

                - Debe estar compuesto por caracteres a-z, A-Z, 0-9, o incluir
                guiones bajos y guiones

                - La longitud máxima es de 64 caracteres
            description:
              type: string
              description: >-
                Descripción de la función, ayuda al modelo a entender cuándo y
                cómo llamar a esta función
            parameters:
              type: object
              description: >-
                Parámetros de entrada de la función, descritos como un objeto
                JSON Schema
    Choice:
      type: object
      properties:
        index:
          type: integer
          description: Índice de la opción
          example: 0
        message:
          $ref: '#/components/schemas/AssistantMessage'
        finish_reason:
          type: string
          description: |-
            Razón de finalización

            - `stop`: finalización natural o secuencia de parada activada
            - `length`: se alcanzó el límite máximo de tokens
            - `content_filter`: contenido filtrado por la política de seguridad
            - `tool_calls`: el modelo invocó una herramienta
          enum:
            - stop
            - length
            - content_filter
            - tool_calls
          example: stop
    Usage:
      type: object
      description: Estadísticas de uso de tokens
      properties:
        total_tokens:
          type: integer
          description: Número total de tokens consumidos
          example: 1604
        total_characters:
          type: integer
          description: Número total de caracteres consumidos
          example: 0
        prompt_tokens:
          type: integer
          description: Número de tokens en la entrada
          example: 1365
        completion_tokens:
          type: integer
          description: Número de tokens en la salida
          example: 239
        prompt_tokens_details:
          type: object
          description: Desglose detallado de los tokens de entrada
          properties:
            cached_tokens:
              type: integer
              description: Número de tokens de entrada que acertaron en caché
              example: 114
    ContentPart:
      type: object
      description: >-
        Parte de contenido multimodal. Declara el tipo mediante `type` y
        completa únicamente los campos que coincidan con ese tipo
      properties:
        type:
          type: string
          enum:
            - text
            - image_url
            - video_url
          description: |-
            Tipo de contenido

            - `text`: bloque de texto
            - `image_url`: entrada de imagen
            - `video_url`: entrada de video
        text:
          type: string
          description: Contenido de texto cuando `type=text`
        image_url:
          type: object
          description: >-
            Entrada de imagen (cuando `type=image_url`). Máximo 10 MB por
            imagen, admite JPEG / PNG / GIF / WEBP
          required:
            - url
          properties:
            url:
              type: string
              description: >-
                URL de la imagen, o una data URL en base64 que comienza con
                `data:`
            detail:
              type: string
              description: >-
                Controla la resolución de análisis de la imagen


                - `low`: baja precisión, consume menos tokens

                - `default`: precisión predeterminada

                - `high`: alta precisión, reconoce más detalles pero consume más
                tokens
              enum:
                - low
                - default
                - high
              default: default
            max_long_side_pixel:
              type: integer
              description: Límite máximo de píxeles para el lado más largo de la imagen
              minimum: 1
        video_url:
          type: object
          description: >-
            Entrada de video (cuando `type=video_url`). Máximo 50 MB para video
            por URL / Base64, admite MP4 / AVI / MOV / MKV
          required:
            - url
          properties:
            url:
              type: string
              description: >-
                URL del video, una data URL en base64 que comienza con `data:`,
                o una referencia de archivo con el formato `mm_file://{file_id}`
            detail:
              type: string
              description: Controla la resolución de extracción de fotogramas del video
              enum:
                - low
                - default
                - high
              default: default
            fps:
              type: number
              description: >-
                Frecuencia de extracción de fotogramas del video, predeterminado
                1, rango [0.2, 5]


                - Valores más altos: más sensible a los cambios visuales, mayor
                costo de tokens y menor velocidad

                - Valores más bajos: menor costo de tokens y mayor velocidad,
                pero menos sensible a los cambios visuales
              minimum: 0.2
              maximum: 5
              default: 1
            max_long_side_pixel:
              type: integer
              description: >-
                Límite máximo de píxeles para el lado más largo de los
                fotogramas del video
              minimum: 1
    AssistantMessage:
      type: object
      properties:
        role:
          type: string
          description: Rol del remitente del mensaje
          enum:
            - assistant
          example: assistant
        content:
          type:
            - string
            - 'null'
          description: >-
            Contenido del mensaje de respuesta de la IA (puede ser `null` cuando
            se activa una llamada a herramienta)
          example: >-
            ¡Hola! Soy MiniMax-M3 y puedo ayudarte con conversación, redacción,
            razonamiento, programación y muchas otras tareas.
        reasoning_content:
          type: string
          description: >-
            Contenido de pensamiento. Solo se devuelve cuando se establece
            `reasoning_split=true` en la solicitud; de forma predeterminada, el
            contenido de pensamiento se integra en `content` dentro de etiquetas
            `<think>...</think>`
          example: Déjame analizar este problema...
        reasoning_details:
          type: array
          description: >-
            Contenido de pensamiento estructurado. Solo se devuelve cuando se
            establece `reasoning_split=true` en la solicitud
          items:
            type: object
            properties:
              type:
                type: string
                description: Tipo de contenido de pensamiento, por ejemplo `reasoning.text`
              id:
                type: string
                description: Identificador del segmento de pensamiento
              format:
                type: string
                description: >-
                  Identificador de formato del contenido de pensamiento, por
                  ejemplo `MiniMax-response-v1`
              index:
                type: integer
                description: Índice secuencial del segmento de pensamiento
              text:
                type: string
                description: Texto de pensamiento de este segmento
        name:
          type: string
          description: Nombre del remitente
        audio_content:
          type: string
          description: >-
            Contenido de audio (cadena vacía en escenarios de conversación solo
            de texto)
        tool_calls:
          type: array
          description: >-
            Lista de llamadas a herramientas (se devuelve cuando el modelo
            decide invocar una herramienta)
          items:
            type: object
            properties:
              id:
                type: string
                description: Identificador único de la llamada a la herramienta
              type:
                type: string
                enum:
                  - function
              function:
                type: object
                properties:
                  name:
                    type: string
                    description: Nombre de la función llamada
                  arguments:
                    type: string
                    description: Argumentos de la función (cadena JSON)
              index:
                type: integer
                description: Índice de la llamada a la herramienta
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        ##Todas las API requieren autenticación con Bearer Token##


        **Obtener la API Key:**


        Visita la [Página de gestión de API
        Keys](https://evolink.ai/dashboard/keys) para obtener tu API Key


        **Añadir al encabezado de la solicitud:**

        ```

        Authorization: Bearer YOUR_API_KEY

        ```

````