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

# MiniMax-M3.1-Flash - Responses API

> - Ruft das Modell MiniMax-M3.1-Flash über das OpenAI Responses-Protokoll auf
- **Eingabeformate**: `input` kann reiner Text oder ein Array von Eingabeelementen sein (Nachrichten, Funktionsaufrufe und Funktionsergebnisse)
- **Multimodale Eingabe**: `input_text`-, `input_image`- und `input_video`-Blöcke können im `content` einer Nachricht kombiniert werden
- **Systemanweisungen**: werden über `instructions` übergeben, entsprechend einer vorangestellten system-Nachricht
- **Reasoning**: immer aktiviert; `reasoning.effort` steuert die Tiefe. Reasoning-Inhalte werden als `reasoning`-Ausgabeelemente zurückgegeben
- **Streaming-Ausgabe**: semantische SSE-Ereignisse, beendet durch `response.completed`; **`[DONE]` wird nicht gesendet**
- **Werkzeugaufrufe**: unterstützt Function Calling
- **Kontext-Cache**: identische Präfixe werden automatisch aus dem Cache gelesen; Treffer werden unter `usage.input_tokens_details.cached_tokens` erfasst

**Zustandslos**: Antworten werden nicht gespeichert; `previous_response_id` wird nicht unterstützt. Bei jeder weiteren Runde alle Elemente aus der vorherigen `output` in ursprünglicher Reihenfolge und mit sämtlichen Feldern an `input` anhängen. Dazu gehören `content`, `summary` und `encrypted_content` in Reasoning-Elementen. Nach der Werkzeugausführung ein `function_call_output`-Element mit derselben `call_id` wie der Funktionsaufruf anhängen.

**Streaming-Ereignisse**: `response.created`, `response.in_progress`, `response.output_item.added`, `response.content_part.added`, `response.reasoning_text.delta` / `response.reasoning_text.done`, `response.output_text.delta` / `response.output_text.done`, `response.content_part.done`, `response.output_item.done`. Das abschließende Ereignis ist `response.completed`. Jedes Ereignis enthält eine `sequence_number` für die Sortierung.

<Note>
  **BaseURL**: Die Standard-BaseURL ist `https://direct.evolink.ai`, die Textmodelle und langlebige Verbindungen besser unterstützt. `https://api.evolink.ai` ist der primäre Endpunkt für multimodale Dienste und dient als Ausweichadresse für Textmodelle.
</Note>


## OpenAPI

````yaml de/api-manual/language-series/minimax-m3.1-flash/minimax-m3.1-flash-responses.json POST /v1/responses
openapi: 3.1.0
info:
  title: MiniMax-M3.1-Flash – Vollständige Parameterreferenz (Responses API)
  description: >-
    Vollständige API-Referenz für die MiniMax-M3.1-Flash Responses API.


    **Modellfunktionen**:

    - Kontextlänge: **1,000,000 Tokens** (1M)

    - Maximale Ausgabe: **524,288 Tokens** (512K), empfohlen: **131,072 Tokens**
    (128K), einschließlich Reasoning-Tokens

    - Reasoning: immer aktiviert; die Tiefe wird über `reasoning.effort`
    gesteuert, Standardwert: `max`

    - Multimodale Eingabe: Text, Bilder und Videos

    - Werkzeugaufrufe: unterstützt Function Calling

    - Kontext-Cache: identische Präfixe werden automatisch aus dem Cache
    gelesen; Cache-Treffer werden zum Cache-Tarif abgerechnet


    **Zustandslos**: Antworten werden nicht gespeichert. Bei Konversationen mit
    mehreren Runden muss der Client bei jeder Anfrage den vollständigen Verlauf
    übergeben.
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://direct.evolink.ai
    description: Produktion (empfohlen)
  - url: https://api.evolink.ai
    description: Alternative URL
security:
  - bearerAuth: []
tags:
  - name: Chat-Vervollständigung
    description: Endpunkte für KI-Chat-Vervollständigung
paths:
  /v1/responses:
    post:
      tags:
        - Chat-Vervollständigung
      summary: MiniMax-M3.1-Flash Responses API (OpenAI-kompatibel)
      description: >-
        - Ruft das Modell MiniMax-M3.1-Flash über das OpenAI Responses-Protokoll
        auf

        - **Eingabeformate**: `input` kann reiner Text oder ein Array von
        Eingabeelementen sein (Nachrichten, Funktionsaufrufe und
        Funktionsergebnisse)

        - **Multimodale Eingabe**: `input_text`-, `input_image`- und
        `input_video`-Blöcke können im `content` einer Nachricht kombiniert
        werden

        - **Systemanweisungen**: werden über `instructions` übergeben,
        entsprechend einer vorangestellten system-Nachricht

        - **Reasoning**: immer aktiviert; `reasoning.effort` steuert die Tiefe.
        Reasoning-Inhalte werden als `reasoning`-Ausgabeelemente zurückgegeben

        - **Streaming-Ausgabe**: semantische SSE-Ereignisse, beendet durch
        `response.completed`; **`[DONE]` wird nicht gesendet**

        - **Werkzeugaufrufe**: unterstützt Function Calling

        - **Kontext-Cache**: identische Präfixe werden automatisch aus dem Cache
        gelesen; Treffer werden unter `usage.input_tokens_details.cached_tokens`
        erfasst


        **Zustandslos**: Antworten werden nicht gespeichert;
        `previous_response_id` wird nicht unterstützt. Bei jeder weiteren Runde
        alle Elemente aus der vorherigen `output` in ursprünglicher Reihenfolge
        und mit sämtlichen Feldern an `input` anhängen. Dazu gehören `content`,
        `summary` und `encrypted_content` in Reasoning-Elementen. Nach der
        Werkzeugausführung ein `function_call_output`-Element mit derselben
        `call_id` wie der Funktionsaufruf anhängen.


        **Streaming-Ereignisse**: `response.created`, `response.in_progress`,
        `response.output_item.added`, `response.content_part.added`,
        `response.reasoning_text.delta` / `response.reasoning_text.done`,
        `response.output_text.delta` / `response.output_text.done`,
        `response.content_part.done`, `response.output_item.done`. Das
        abschließende Ereignis ist `response.completed`. Jedes Ereignis enthält
        eine `sequence_number` für die Sortierung.
      operationId: createResponseMiniMaxM31Flash
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResponsesRequest'
            examples:
              simple_text:
                summary: Einzelrunden-Textkonversation
                value:
                  model: MiniMax-M3.1-Flash
                  input: Explain recursion in one sentence.
                  max_output_tokens: 131072
              with_instructions:
                summary: Systemanweisungen verwenden
                value:
                  model: MiniMax-M3.1-Flash
                  instructions: >-
                    You are a technical documentation assistant. Keep your
                    answers concise.
                  input: Explain how context caching works.
                  max_output_tokens: 131072
              multi_turn:
                summary: Mehrstufige Unterhaltung (Array von Eingabeelementen)
                value:
                  model: MiniMax-M3.1-Flash
                  input:
                    - type: message
                      role: user
                      content: Suggest three names for a note-taking app.
                    - type: message
                      role: assistant
                      content: NoteFlow, ClearPage, QuickNote.
                    - type: message
                      role: user
                      content: Suggest five alternatives to the second name.
                  max_output_tokens: 131072
              reasoning_effort:
                summary: Reasoning-Tiefe anpassen
                value:
                  model: MiniMax-M3.1-Flash
                  input: >-
                    A bat and a ball cost 1.10 in total. The bat costs 1.00 more
                    than the ball. How much does the ball cost?
                  reasoning:
                    effort: high
                  max_output_tokens: 131072
              vision_url:
                summary: Bildverständnis
                value:
                  model: MiniMax-M3.1-Flash
                  input:
                    - type: message
                      role: user
                      content:
                        - type: input_text
                          text: Describe this image.
                        - type: input_image
                          image_url: https://example.com/photo.jpg
                  max_output_tokens: 131072
              video_url:
                summary: Videoverständnis
                value:
                  model: MiniMax-M3.1-Flash
                  input:
                    - type: message
                      role: user
                      content:
                        - type: input_text
                          text: Summarize this video.
                        - type: input_video
                          video_url:
                            url: https://example.com/video.mp4
                            fps: 1
                            detail: default
                  max_output_tokens: 131072
              function_calling:
                summary: Function Calling (Werkzeugaufruf)
                value:
                  model: MiniMax-M3.1-Flash
                  input: Check the stock for product demo-item-001.
                  tools:
                    - type: function
                      name: get_product_stock
                      description: Get the current stock level for a product.
                      parameters:
                        type: object
                        properties:
                          product_id:
                            type: string
                            description: Product identifier.
                        required:
                          - product_id
                  max_output_tokens: 131072
              function_result:
                summary: Werkzeugergebnis übergeben und Antwort fortsetzen
                value:
                  model: MiniMax-M3.1-Flash
                  reasoning:
                    effort: medium
                  max_output_tokens: 131072
                  input:
                    - type: message
                      role: user
                      content: >-
                        Use get_product_stock to check product demo-item-001.
                        After receiving the tool result, report whether it is in
                        stock and its quantity. Do not guess the stock level.
                    - id: 0725233e825de1d0656437967fc024e1_msg
                      type: message
                      status: completed
                      role: assistant
                      content:
                        - type: output_text
                          text: I'll check the stock level for that product now.
                          annotations: []
                    - id: 0725233e825de1d0656437967fc024e1_fc_0
                      type: function_call
                      status: completed
                      call_id: call_function_izs7qcnzfksd_1
                      name: get_product_stock
                      arguments: '{"product_id": "demo-item-001"}'
                    - type: function_call_output
                      call_id: call_function_izs7qcnzfksd_1
                      output: >-
                        {"product_id": "demo-item-001", "in_stock": true,
                        "quantity": 24}
                  tools:
                    - type: function
                      name: get_product_stock
                      description: Get the current stock level for a product.
                      parameters:
                        type: object
                        properties:
                          product_id:
                            type: string
                            description: Product identifier.
                        required:
                          - product_id
                  tool_choice: auto
              streaming:
                summary: Streaming-Ausgabe
                value:
                  model: MiniMax-M3.1-Flash
                  input: Write a short poem about autumn.
                  stream: true
                  max_output_tokens: 131072
              reasoning_history:
                summary: Mit vollständigem Reasoning-Verlauf fortsetzen
                value:
                  model: MiniMax-M3.1-Flash
                  reasoning:
                    effort: medium
                  max_output_tokens: 131072
                  input:
                    - type: message
                      role: user
                      content: >-
                        Find the smallest positive integer n such that n mod 7 =
                        3, n mod 11 = 5, and n mod 13 = 7. Return only n.
                    - id: 0725233a85e23431681447327cbcd9d2_rs
                      type: reasoning
                      status: completed
                      summary: []
                      content:
                        - type: reasoning_text
                          text: >-
                            We need solve CRT. Need only n. Compute. n=3 mod7, 5
                            mod11,7 mod13. Product 1001. Let's solve.


                            Use n=3+7a. mod11: 3+7a=5 =>7a=2 mod11. inverse7=8
                            (56=1), a=16=5 mod11. a=5+11b. n=38+77b. mod13:
                            38+77b = 12+12b mod13 (77=12,38=12) equals7
                            =>12b=-5=8 mod13. inverse12=12, b=96 mod13 =5? 91
                            remainder5. n=38+385=423. Check 423 mod7 3 (420),
                            mod11 5 (418), mod13 7 (416). Smallest positive 423.
                            Only n.
                      encrypted_content: >-
                        Ahlub3JtYWwtcmVhc29uaW5nLTIwMjYxMDExjehfvIf2rUinmic9ZiAutly0DD3lHqWEni9ENDziUw0nX-F6VPZLM7x1NbRWbytJNcLH9XQIa-KLYgd-it6XmXzYLvck3xOPOG9wtDdxUnjdBhuuj9dkWrkx0kbK8MFT5UreZ7EcxoRZybrs3oELf2BK_WtDUFOm_FbZXKwNbg76pTCFDoRke0Er0GMWjmi5L8GE7hGnvvBQjHXrwQ88G0L2p6STay-n1FJ5prqz6Q4LEF-xu7FqGjDmh9haliI638ivcQ9XGo9_DLUrtKMh1K4UYN87j2H7vbjbJPJaw6oJ61ZF8Ngk1FSuHUvLB540QKwBJKnClMcvw-ih3CdKRdSTPRfIYlsYOkNCwEWrLwHarLTHG5HzeakMO_5usxOAvzXVDUKRIX7W62x9xKCnVl_Gp0E91dLtlU3U8j_ZZvYCj9pMvd_n_Ba82OUpFxvoXv2R2H1H8bfzztGg5E88fH6OMwoMS5OYa45nCoRFA11Bw7G8OEVqBiPzS48EY1JPjPTC5lBco0CUoeUAHPXeD7jmO-D3LhIL1-3erJ_mxP0ZeiCWUckYaFE2EliolooAHqkoVBmy5Q
                    - id: 0725233a85e23431681447327cbcd9d2_msg
                      type: message
                      status: completed
                      role: assistant
                      content:
                        - type: output_text
                          text: '423'
                          annotations: []
                    - type: message
                      role: user
                      content: Add one to that result. Return only the new integer.
      responses:
        '200':
          description: Erfolgreich generiert
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponsesResponse'
              examples:
                with_reasoning:
                  summary: Mit Reasoning-Inhalten
                  value:
                    id: 0725233a85e23431681447327cbcd9d2
                    object: response
                    created_at: 1792405562
                    model: MiniMax-M3.1-Flash
                    status: completed
                    output:
                      - id: 0725233a85e23431681447327cbcd9d2_rs
                        type: reasoning
                        status: completed
                        summary: []
                        content:
                          - type: reasoning_text
                            text: >-
                              We need solve CRT. Need only n. Compute. n=3 mod7,
                              5 mod11,7 mod13. Product 1001. Let's solve.


                              Use n=3+7a. mod11: 3+7a=5 =>7a=2 mod11. inverse7=8
                              (56=1), a=16=5 mod11. a=5+11b. n=38+77b. mod13:
                              38+77b = 12+12b mod13 (77=12,38=12) equals7
                              =>12b=-5=8 mod13. inverse12=12, b=96 mod13 =5? 91
                              remainder5. n=38+385=423. Check 423 mod7 3 (420),
                              mod11 5 (418), mod13 7 (416). Smallest positive
                              423. Only n.
                        encrypted_content: >-
                          Ahlub3JtYWwtcmVhc29uaW5nLTIwMjYxMDExjehfvIf2rUinmic9ZiAutly0DD3lHqWEni9ENDziUw0nX-F6VPZLM7x1NbRWbytJNcLH9XQIa-KLYgd-it6XmXzYLvck3xOPOG9wtDdxUnjdBhuuj9dkWrkx0kbK8MFT5UreZ7EcxoRZybrs3oELf2BK_WtDUFOm_FbZXKwNbg76pTCFDoRke0Er0GMWjmi5L8GE7hGnvvBQjHXrwQ88G0L2p6STay-n1FJ5prqz6Q4LEF-xu7FqGjDmh9haliI638ivcQ9XGo9_DLUrtKMh1K4UYN87j2H7vbjbJPJaw6oJ61ZF8Ngk1FSuHUvLB540QKwBJKnClMcvw-ih3CdKRdSTPRfIYlsYOkNCwEWrLwHarLTHG5HzeakMO_5usxOAvzXVDUKRIX7W62x9xKCnVl_Gp0E91dLtlU3U8j_ZZvYCj9pMvd_n_Ba82OUpFxvoXv2R2H1H8bfzztGg5E88fH6OMwoMS5OYa45nCoRFA11Bw7G8OEVqBiPzS48EY1JPjPTC5lBco0CUoeUAHPXeD7jmO-D3LhIL1-3erJ_mxP0ZeiCWUckYaFE2EliolooAHqkoVBmy5Q
                      - id: 0725233a85e23431681447327cbcd9d2_msg
                        type: message
                        status: completed
                        role: assistant
                        content:
                          - type: output_text
                            text: '423'
                            annotations: []
                    output_text: '423'
                    usage:
                      input_tokens: 239
                      output_tokens: 190
                      total_tokens: 429
                      input_tokens_details:
                        cached_tokens: 174
                      output_tokens_details:
                        reasoning_tokens: 189
                    error: null
                    incomplete_details: null
                    instructions: null
                    metadata: {}
                    tools: null
                    tool_choice: auto
                    temperature: 1
                    top_p: 0.95
                    text:
                      format:
                        type: text
                    reasoning:
                      effort: medium
                      summary: null
                    max_output_tokens: 2048
                    max_tool_calls: null
                    parallel_tool_calls: true
                    previous_response_id: null
                    conversation: null
                    store: false
                    service_tier: null
                    safety_identifier: null
                    truncation: disabled
                function_call:
                  summary: Werkzeugaufruf auslösen
                  value:
                    id: 0725233e825de1d0656437967fc024e1
                    object: response
                    created_at: 1792405566
                    model: MiniMax-M3.1-Flash
                    status: completed
                    output:
                      - id: 0725233e825de1d0656437967fc024e1_msg
                        type: message
                        status: completed
                        role: assistant
                        content:
                          - type: output_text
                            text: I'll check the stock level for that product now.
                            annotations: []
                      - id: 0725233e825de1d0656437967fc024e1_fc_0
                        type: function_call
                        status: completed
                        call_id: call_function_izs7qcnzfksd_1
                        name: get_product_stock
                        arguments: '{"product_id": "demo-item-001"}'
                    output_text: I'll check the stock level for that product now.
                    usage:
                      input_tokens: 479
                      output_tokens: 43
                      total_tokens: 522
                      input_tokens_details:
                        cached_tokens: 174
                    error: null
                    incomplete_details: null
                    instructions: null
                    metadata: {}
                    tools:
                      - type: function
                        name: get_product_stock
                        description: Get the current stock level for a product.
                        parameters:
                          properties:
                            product_id:
                              description: Product identifier.
                              type: string
                          required:
                            - product_id
                          type: object
                    tool_choice: auto
                    temperature: 1
                    top_p: 0.95
                    text:
                      format:
                        type: text
                    reasoning:
                      effort: medium
                      summary: null
                    max_output_tokens: 2048
                    max_tool_calls: null
                    parallel_tool_calls: true
                    previous_response_id: null
                    conversation: null
                    store: false
                    service_tier: null
                    safety_identifier: null
                    truncation: disabled
                incomplete:
                  summary: Ausgabelimit erreicht (status=incomplete)
                  value:
                    id: 072514375f41347e5f4de3c6ceb8fd87
                    object: response
                    created_at: 1792401719
                    model: MiniMax-M3.1-Flash
                    status: incomplete
                    output:
                      - id: 072514375f41347e5f4de3c6ceb8fd87_rs
                        type: reasoning
                        status: completed
                        summary: []
                        content:
                          - type: reasoning_text
                            text: I need to explain the process step by step.
                        encrypted_content: >-
                          Ahlub3JtYWwtcmVhc29uaW5nLTIwMjYxMDExv21cbZ66-fbVryqevLX4LJWxZguAnQBWN1xlN33KB5qCPkM8IMN2pVWWIclGFlVn6ZZ0CBzkPpHqkdCVqpYbDWc3gQl2Qmf0uD4s3wo
                    output_text: null
                    usage:
                      input_tokens: 211
                      output_tokens: 8
                      total_tokens: 219
                      input_tokens_details:
                        cached_tokens: 195
                      output_tokens_details:
                        reasoning_tokens: 8
                    error: null
                    incomplete_details:
                      reason: max_output_tokens
                    instructions: null
                    metadata: {}
                    tools: null
                    tool_choice: auto
                    temperature: 1
                    top_p: 0.95
                    text:
                      format:
                        type: text
                    reasoning:
                      effort: max
                      summary: null
                    max_output_tokens: 8
                    max_tool_calls: null
                    parallel_tool_calls: true
                    previous_response_id: null
                    conversation: null
                    store: false
                    service_tier: null
                    safety_identifier: null
                    truncation: disabled
        '400':
          description: Ungültige Anfrageparameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: invalid_prompt
                  message: Invalid request parameters
                  type: invalid_request_error
        '401':
          description: Nicht autorisiert, ungültiges oder abgelaufenes Token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 401
                  message: Invalid authentication credentials
                  type: authentication_error
        '402':
          description: Kontingent unzureichend, Aufladung erforderlich
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 402
                  message: Insufficient quota
                  type: insufficient_quota
        '403':
          description: Zugriff auf dieses Modell verweigert
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 403
                  message: Model access denied
                  type: permission_error
        '404':
          description: Ressource nicht gefunden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 404
                  message: Model not found
                  type: not_found_error
        '413':
          description: Anfragetext zu groß
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 413
                  message: Request entity too large
                  type: invalid_request_error
        '429':
          description: Anfragelimit überschritten
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 429
                  message: Rate limit exceeded
                  type: rate_limit_error
        '500':
          description: Interner Serverfehler
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 500
                  message: Internal server error
                  type: server_error
        '502':
          description: Bad Gateway
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 502
                  message: Bad gateway
                  type: server_error
        '503':
          description: Dienst vorübergehend nicht verfügbar
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 503
                  message: Service temporarily unavailable
                  type: server_error
components:
  schemas:
    ResponsesRequest:
      type: object
      required:
        - model
        - input
      properties:
        model:
          type: string
          description: Modell-ID
          enum:
            - MiniMax-M3.1-Flash
          example: MiniMax-M3.1-Flash
        input:
          type:
            - string
            - array
          description: >-
            Modelleingabe


            - **Zeichenkette**: Der gesamte Text wird als eine `user`-Nachricht
            behandelt

            - **Array**: Liste von Eingabeelementen; unterstützt `message`,
            `function_call`, `function_call_output` und `reasoning`


            **Multimodal**: Kombinieren Sie `input_text`-, `input_image`- und
            `input_video`-Blöcke im `content`-Array eines `message`-Elements.


            **Konversationen mit mehreren Runden**: Die API ist zustandslos. Um
            eine Konversation fortzusetzen, muss das Array den vollständigen
            Verlauf enthalten.
          items:
            $ref: '#/components/schemas/InputItem'
          example: Explain recursion in one sentence.
        instructions:
          type: string
          description: >-
            Anweisungen auf Systemebene, gleichbedeutend mit einer ganz vorne
            eingefügten system-Nachricht; dient zum Festlegen von Rolle, Tonfall
            und Ausgabevorgaben.
          example: >-
            You are a technical documentation assistant. Keep your answers
            concise.
        stream:
          type: boolean
          description: >-
            Legt fest, ob die Antwort gestreamt wird


            - `false` (Standard): gibt das vollständige Antwortobjekt auf einmal
            zurück

            - `true`: liefert semantische SSE-Ereignisse; das abschließende
            Ereignis ist `response.completed`. **`[DONE]` wird nicht gesendet**
          default: false
          example: false
        max_output_tokens:
          type: integer
          description: >-
            Maximale Anzahl der Ausgabetokens für diese Generierung,
            **einschließlich Reasoning und Antwort**


            - Empfohlen: **131,072** (128K), Maximum: **524,288** (512K)

            - Bei einem zu niedrigen Wert kann das Limit bereits während des
            Reasonings erreicht werden. In diesem Fall wird `status:
            "incomplete"` ohne `message`-Ausgabeelement zurückgegeben
          minimum: 1
          maximum: 524288
          example: 131072
        reasoning:
          type: object
          description: >-
            Reasoning-Konfiguration. MiniMax-M3.1-Flash verwendet immer
            Reasoning. Die Inhalte werden als `reasoning`-Ausgabeelemente
            zurückgegeben; ihre Tokens zählen zur Ausgabe und werden zum
            Ausgabetarif abgerechnet.
          properties:
            effort:
              type: string
              description: >-
                Reasoning-Tiefe, Standardwert: `max`. Höhere Stufen erhöhen in
                der Regel den Verbrauch an Reasoning-Tokens und die Antwortzeit.
              enum:
                - low
                - medium
                - high
                - xhigh
                - max
              default: max
              example: high
        temperature:
          type: number
          description: Sampling-Temperatur, fest auf `1` gesetzt
          enum:
            - 1
          default: 1
          example: 1
        top_p:
          type: number
          description: 'Schwellenwert für Nucleus Sampling, Standardwert: 0.95.'
          minimum: 0
          maximum: 1
          default: 0.95
          example: 0.95
        tools:
          type: array
          description: >-
            Liste der vom Modell aufrufbaren Werkzeuge. Derzeit wird nur der Typ
            `function` unterstützt. Funktionen werden vom Client ausgeführt;
            ihre Ergebnisse werden als `function_call_output`-Eingabeelemente
            zurückgegeben.
          items:
            $ref: '#/components/schemas/Tool'
        tool_choice:
          type: string
          description: >-
            Strategie zur Werkzeugauswahl. Nur `auto` wird unterstützt; das
            Modell entscheidet, ob ein Werkzeug aufgerufen wird
          enum:
            - auto
          default: auto
          example: auto
        text:
          type: object
          description: >-
            Konfiguration des Textausgabeformats. Für `format.type` wird nur
            `text` unterstützt
          properties:
            format:
              type: object
              properties:
                type:
                  type: string
                  enum:
                    - text
                  default: text
                  description: Typ des Ausgabeformats
        metadata:
          type: object
          description: Anfrage-Metadaten mit Zeichenketten als Schlüssel und Werte
          additionalProperties:
            type: string
    ResponsesResponse:
      type: object
      description: >-
        Antwortobjekt der Responses API. Zusätzlich zu den folgenden Feldern
        enthält die Antwort die Konfiguration der Anfrage (`tools`,
        `tool_choice`, `temperature`, `top_p`, `text`, `reasoning`,
        `max_output_tokens` usw.).
      properties:
        id:
          type: string
          description: Eindeutige Kennung dieser Antwort
          example: 072514d63605b7a0c83f1672230c398c
        object:
          type: string
          description: Objekttyp, stets `response`
          example: response
        created_at:
          type: integer
          description: Erstellungszeit als Unix-Zeitstempel (Sekunden)
          example: 1792401878
        status:
          type: string
          description: >-
            Antwortstatus


            - `completed`: erfolgreich abgeschlossen

            - `incomplete`: abgeschnitten; die Ursache steht in
            `incomplete_details`

            - `failed`: Generierung fehlgeschlagen; die Ursache steht in `error`
          enum:
            - completed
            - incomplete
            - failed
          example: completed
        model:
          type: string
          description: ID des Modells, das diese Antwort tatsächlich erzeugt hat
          example: MiniMax-M3.1-Flash
        output:
          type: array
          description: >-
            Liste der Ausgabeelemente in der Reihenfolge ihrer Generierung:


            - `reasoning`: Reasoning-Prozess, ID im Format `<id>_rs`; enthält
            `content` (Liste von `reasoning_text`-Blöcken), `summary` (leeres
            Array) und `encrypted_content`

            - `message`: endgültige Antwort, ID im Format `<id>_msg`; enthält
            `content` (Liste von `output_text`-Blöcken)

            - `function_call`: vom Modell erzeugter Funktionsaufruf, ID im
            Format `<id>_fc_<index>`; enthält `call_id`, `name` und `arguments`.
            Der Client muss die Funktion ausführen und das Ergebnis als
            `function_call_output` zurückgeben
          items:
            type: object
        output_text:
          type:
            - string
            - 'null'
          description: >-
            Hilfsfeld mit dem zusammengefügten Text aller `output_text`-Blöcke;
            `null`, wenn keine Textausgabe vorhanden ist
        error:
          type:
            - object
            - 'null'
          description: Fehlerursache; bei Erfolg `null`
        incomplete_details:
          type:
            - object
            - 'null'
          description: >-
            Ursache der Kürzung; `null`, wenn die Ausgabe nicht gekürzt wurde.
            `reason` ist `max_output_tokens` (Ausgabelimit erreicht) oder
            `content_filter` (Inhaltssicherheit)
        usage:
          $ref: '#/components/schemas/Usage'
    ErrorResponse:
      type: object
      description: Fehlerantwort
      properties:
        error:
          type: object
          properties:
            code:
              type:
                - integer
                - string
                - 'null'
              description: Fehlercode
              example: invalid_prompt
            message:
              type: string
              description: Fehlerbeschreibung
              example: Invalid request parameters
            type:
              type: string
              description: Fehlertyp
              example: invalid_request_error
    InputItem:
      title: Eingabeelement
      description: >-
        Eingabeelement: Nachricht, Reasoning-Verlauf, Funktionsaufruf oder
        Funktionsergebnis.
      oneOf:
        - $ref: '#/components/schemas/MessageItem'
        - $ref: '#/components/schemas/ReasoningItem'
        - $ref: '#/components/schemas/FunctionCallItem'
        - $ref: '#/components/schemas/FunctionCallOutputItem'
    Tool:
      type: object
      title: Werkzeugdefinition
      required:
        - type
        - name
      properties:
        type:
          type: string
          description: Werkzeugtyp, derzeit wird nur `function` unterstützt
          enum:
            - function
          example: function
        name:
          type: string
          description: Funktionsname
          example: get_product_stock
        description:
          type: string
          description: >-
            Beschreibung des Funktionszwecks. Eine klare Beschreibung hilft dem
            Modell zu entscheiden, wann die Funktion aufgerufen werden soll.
          example: Get the current stock level for a product.
        parameters:
          type: object
          description: Parameterdefinition im JSON-Schema-Format.
          example:
            type: object
            properties:
              product_id:
                type: string
                description: Product identifier.
            required:
              - product_id
    Usage:
      type: object
      description: >-
        Token-Nutzungsstatistik einschließlich Cache- und
        Reasoning-Aufschlüsselung
      properties:
        input_tokens:
          type: integer
          description: Gesamtzahl der Eingabetokens einschließlich Cache-Treffern
          example: 207
        input_tokens_details:
          type: object
          description: Detaillierte Aufschlüsselung der Eingabe-Tokens
          properties:
            cached_tokens:
              type: integer
              description: >-
                Anzahl der aus dem Cache gelesenen Eingabetokens


                Cache-Treffer werden zum Cache-Tarif abgerechnet. Nicht gecachte
                Tokens = `input_tokens - cached_tokens`; diese werden zum
                regulären Eingabetarif abgerechnet
              example: 174
        output_tokens:
          type: integer
          description: Anzahl der Ausgabetokens (einschließlich des Denkanteils)
          example: 32
        output_tokens_details:
          type: object
          description: Detaillierte Aufschlüsselung der Ausgabe-Tokens
          properties:
            reasoning_tokens:
              type: integer
              description: >-
                Anzahl der Reasoning-Tokens (bereits in `output_tokens`
                enthalten)
              example: 9
        total_tokens:
          type: integer
          description: Gesamtzahl der Tokens = input_tokens + output_tokens
          example: 239
    MessageItem:
      type: object
      title: Nachrichtenelement
      description: >-
        Eine Nachricht der Unterhaltung. Bei der Rückgabe früherer
        Assistentennachrichten alle zurückgegebenen Felder beibehalten.
      required:
        - role
        - content
      properties:
        type:
          type: string
          enum:
            - message
          default: message
        id:
          type: string
          description: >-
            Kennung des Ausgabeelements. Im Unterhaltungsverlauf unverändert
            beibehalten.
        status:
          type: string
          description: >-
            Status des Ausgabeelements. Im Unterhaltungsverlauf unverändert
            beibehalten.
        role:
          type: string
          description: >-
            Rolle der Nachricht, nur bei `type: message` verwendet. `developer`
            wird wie `system` behandelt.
          enum:
            - user
            - assistant
            - system
            - developer
          example: user
        content:
          type:
            - string
            - array
          description: >-
            Nachrichteninhalt, nur bei `type: message` verwendet. Kann reiner
            Text oder ein Array von Inhaltsblöcken sein.


            **Inhaltsblocktypen**:

            - `input_text`: Text im Feld `text`

            - `input_image`: Bild im Feld `image_url`

            - `input_video`: Video im Feld `video_url`

            - `output_text`: Text einer vorherigen assistant-Antwort


            Maximale Größe des Anfragekörpers: 64 MB.
          items:
            $ref: '#/components/schemas/ContentPart'
          example: Explain recursion in one sentence.
    ReasoningItem:
      type: object
      title: Reasoning-Element
      description: >-
        Reasoning aus der vorherigen Runde. Beim Fortsetzen das vollständige
        Element einschließlich `id`, `status`, `summary`, `content` und
        `encrypted_content` unverändert übergeben.
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - reasoning
        id:
          type: string
          description: >-
            Kennung des Ausgabeelements. Im Unterhaltungsverlauf unverändert
            beibehalten.
        status:
          type: string
          description: >-
            Status des Ausgabeelements. Im Unterhaltungsverlauf unverändert
            beibehalten.
        summary:
          type: array
          description: >-
            Reasoning-Zusammenfassung. Bei der Übergabe des Gesprächsverlaufs
            unverändert beibehalten.
          items:
            type: object
        content:
          type: array
          description: >-
            Reasoning-Inhaltsblöcke. Im Unterhaltungsverlauf unverändert
            beibehalten.
          items:
            $ref: '#/components/schemas/ReasoningContentPart'
        encrypted_content:
          type: string
          description: >-
            Undurchsichtige Reasoning-Daten. Im Unterhaltungsverlauf unverändert
            beibehalten.
    FunctionCallItem:
      type: object
      title: Funktionsaufruf
      description: >-
        Vom Modell zurückgegebener Funktionsaufruf, der über `call_id` einem
        `function_call_output`-Element zugeordnet wird.
      required:
        - type
        - call_id
        - name
        - arguments
      properties:
        type:
          type: string
          enum:
            - function_call
        id:
          type: string
          description: >-
            Kennung des Ausgabeelements. Im Unterhaltungsverlauf unverändert
            beibehalten.
        status:
          type: string
          description: >-
            Status des Ausgabeelements. Im Unterhaltungsverlauf unverändert
            beibehalten.
        call_id:
          type: string
          description: >-
            Kennung des Funktionsaufrufs; `function_call` und
            `function_call_output` werden darüber einander zugeordnet.
        name:
          type: string
          description: >-
            Name der aufgerufenen Funktion, nur bei `type: function_call`
            verwendet.
        arguments:
          type: string
          description: >-
            Argumente des Funktionsaufrufs als JSON-String, nur bei `type:
            function_call` verwendet.
    FunctionCallOutputItem:
      type: object
      title: Funktionsergebnis
      description: >-
        Ergebnis einer vom Client ausgeführten Funktion, das über `call_id` dem
        zugehörigen Funktionsaufruf zugeordnet wird.
      required:
        - type
        - call_id
        - output
      properties:
        type:
          type: string
          enum:
            - function_call_output
        call_id:
          type: string
          description: >-
            Kennung des Funktionsaufrufs; `function_call` und
            `function_call_output` werden darüber einander zugeordnet.
        output:
          type: string
          description: >-
            Ergebnis der Funktionsausführung, nur bei `type:
            function_call_output` verwendet.
    ContentPart:
      type: object
      title: Inhaltsblock
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - input_text
            - input_image
            - input_video
            - output_text
          description: Typ des Inhaltsblocks
        text:
          type: string
          description: Textinhalt (`input_text` / `output_text`)
        image_url:
          description: >-
            Bildeingabe, verwendet bei `type: input_image`. Übergeben Sie direkt
            eine URL / Base64-Daten-URL als Zeichenkette oder ein Objekt
            `{"url": "...", "detail": "low | default | high"}`, um die
            Analysegenauigkeit zu steuern (höhere Genauigkeit erfasst mehr
            Details und verbraucht mehr Tokens). Unterstützt JPEG / PNG / GIF /
            WEBP, maximal 10 MB pro Bild
          oneOf:
            - type: string
            - type: object
              required:
                - url
              properties:
                url:
                  type: string
                  description: Bild-URL oder Base64-Daten-URL
                detail:
                  type: string
                  enum:
                    - low
                    - default
                    - high
                  default: default
                  description: Analysegenauigkeit
        video_url:
          description: >-
            Videoeingabe, verwendet bei `type: input_video`. Übergeben Sie
            direkt eine URL / Base64-Daten-URL als Zeichenkette oder ein Objekt
            `{"url": "...", "fps": 1, "detail": "default",
            "max_long_side_pixel": ...}`. `fps` ist die Abtastrate für
            Videoframes, Standardwert: 1, Bereich: [0.2, 5]. Niedrigere Werte
            verbrauchen weniger Tokens. Unterstützt MP4 / AVI / MOV / MKV,
            maximal 50 MB für URL- / Base64-Eingaben. Größere Videos werden als
            Dateireferenz `mm_file://{file_id}` übergeben
          oneOf:
            - type: string
            - type: object
              required:
                - url
              properties:
                url:
                  type: string
                  description: Video-URL, Base64-Daten-URL oder `mm_file://{file_id}`
                fps:
                  type: number
                  minimum: 0.2
                  maximum: 5
                  default: 1
                  description: Abtastrate für Videoframes
                detail:
                  type: string
                  enum:
                    - low
                    - default
                    - high
                  default: default
                  description: Analysegenauigkeit
                max_long_side_pixel:
                  type: integer
                  minimum: 1
                  description: Maximale Pixelzahl der längsten Seite eines Videoframes
    ReasoningContentPart:
      type: object
      title: Reasoning-Inhaltsblock
      required:
        - type
        - text
      properties:
        type:
          type: string
          enum:
            - reasoning_text
        text:
          type: string
          description: Reasoning-Text.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Alle APIs erfordern eine Bearer-Token-Authentifizierung


        **API-Schlüssel abrufen**:


        Besuchen Sie die
        [API-Schlüsselverwaltung](https://evolink.ai/dashboard/keys), um Ihren
        API-Schlüssel abzurufen


        **Zum Anfrage-Header hinzufügen**:

        ```

        Authorization: Bearer YOUR_API_KEY

        ```

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.