> ## 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

> - OpenAI Responses 프로토콜로 MiniMax-M3.1-Flash 모델을 호출합니다
- **입력 형식**: `input`에는 일반 텍스트 또는 메시지, 함수 호출, 함수 결과로 구성된 입력 항목 배열을 전달할 수 있습니다
- **멀티모달 입력**: 메시지의 `content`에서 `input_text`, `input_image`, `input_video` 콘텐츠 블록을 함께 사용합니다
- **시스템 지시**: `instructions`로 전달하며 맨 앞의 system 메시지와 동일합니다
- **추론 모드**: 항상 활성화되며 `reasoning.effort`로 추론 깊이를 조절합니다. 추론 내용은 `reasoning` 출력 항목으로 반환됩니다
- **스트리밍**: 의미별 SSE 이벤트를 사용하며 `response.completed`로 종료됩니다. **`[DONE]`은 전송하지 않습니다**
- **도구 호출**: Function Calling을 지원합니다
- **컨텍스트 캐시**: 동일한 접두사를 자동으로 재사용하며, 캐시 적중 토큰 수는 `usage.input_tokens_details.cached_tokens`에 표시됩니다

**무상태**: 응답을 저장하지 않으며 `previous_response_id`를 지원하지 않습니다. 다음 턴에서는 이전 `output`의 모든 항목을 원래 순서와 구조 그대로 `input`에 추가하세요. 추론 항목의 `content`, `summary`, `encrypted_content` 등 모든 필드를 유지해야 합니다. 도구 실행 후에는 함수 호출과 동일한 `call_id`를 가진 `function_call_output` 항목을 추가하세요.

**스트리밍 이벤트**: `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`이 있으며, 종료 이벤트는 `response.completed`입니다. 각 이벤트에는 순서를 나타내는 `sequence_number`가 포함됩니다.

<Note>
  **BaseURL**: 기본 BaseURL은 `https://direct.evolink.ai`이며, 텍스트 모델과 장시간 연결을 더 잘 지원합니다. `https://api.evolink.ai`는 멀티모달 서비스의 기본 엔드포인트이자 텍스트 모델의 대체 주소 역할을 합니다.
</Note>


## OpenAPI

````yaml ko/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 전체 파라미터 참조 (Responses API)
  description: >-
    MiniMax-M3.1-Flash Responses API의 전체 참조 문서입니다.


    **모델 기능**:

    - 컨텍스트 길이: **1,000,000 tokens** (1M)

    - 최대 출력: **524,288 tokens** (512K), 권장 출력: **131,072 tokens** (128K). 추론 토큰이
    포함됩니다

    - 추론 모드: 항상 활성화되며 `reasoning.effort`로 추론 깊이를 조절합니다. 기본값은 `max`입니다

    - 멀티모달 입력: 텍스트, 이미지, 비디오 지원

    - 도구 호출: Function Calling 지원

    - 컨텍스트 캐시: 동일한 접두사를 자동으로 재사용하며 캐시 적중 부분에는 캐시 적중 요금이 적용됩니다


    **상태 비저장**: 응답을 저장하지 않습니다. 멀티턴 대화에서는 클라이언트가 매번 전체 기록을 전달해야 합니다.
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://direct.evolink.ai
    description: 프로덕션 (권장)
  - url: https://api.evolink.ai
    description: 대체 URL
security:
  - bearerAuth: []
tags:
  - name: 대화 생성
    description: AI 대화 생성 관련 인터페이스
paths:
  /v1/responses:
    post:
      tags:
        - 대화 생성
      summary: MiniMax-M3.1-Flash Responses API (OpenAI 호환)
      description: >-
        - OpenAI Responses 프로토콜로 MiniMax-M3.1-Flash 모델을 호출합니다

        - **입력 형식**: `input`에는 일반 텍스트 또는 메시지, 함수 호출, 함수 결과로 구성된 입력 항목 배열을 전달할 수
        있습니다

        - **멀티모달 입력**: 메시지의 `content`에서 `input_text`, `input_image`,
        `input_video` 콘텐츠 블록을 함께 사용합니다

        - **시스템 지시**: `instructions`로 전달하며 맨 앞의 system 메시지와 동일합니다

        - **추론 모드**: 항상 활성화되며 `reasoning.effort`로 추론 깊이를 조절합니다. 추론 내용은
        `reasoning` 출력 항목으로 반환됩니다

        - **스트리밍**: 의미별 SSE 이벤트를 사용하며 `response.completed`로 종료됩니다. **`[DONE]`은
        전송하지 않습니다**

        - **도구 호출**: Function Calling을 지원합니다

        - **컨텍스트 캐시**: 동일한 접두사를 자동으로 재사용하며, 캐시 적중 토큰 수는
        `usage.input_tokens_details.cached_tokens`에 표시됩니다


        **무상태**: 응답을 저장하지 않으며 `previous_response_id`를 지원하지 않습니다. 다음 턴에서는 이전
        `output`의 모든 항목을 원래 순서와 구조 그대로 `input`에 추가하세요. 추론 항목의 `content`,
        `summary`, `encrypted_content` 등 모든 필드를 유지해야 합니다. 도구 실행 후에는 함수 호출과 동일한
        `call_id`를 가진 `function_call_output` 항목을 추가하세요.


        **스트리밍 이벤트**: `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`이 있으며, 종료 이벤트는
        `response.completed`입니다. 각 이벤트에는 순서를 나타내는 `sequence_number`가 포함됩니다.
      operationId: createResponseMiniMaxM31Flash
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResponsesRequest'
            examples:
              simple_text:
                summary: 단일 턴 텍스트 대화
                value:
                  model: MiniMax-M3.1-Flash
                  input: Explain recursion in one sentence.
                  max_output_tokens: 131072
              with_instructions:
                summary: 시스템 지시 사용
                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: 멀티턴 대화 (입력 항목 배열)
                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: 추론 깊이 조절
                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: 이미지 이해
                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: 비디오 이해
                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 도구 호출
                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: 도구 실행 결과 전달 및 답변 이어가기
                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: 스트리밍 출력
                value:
                  model: MiniMax-M3.1-Flash
                  input: Write a short poem about autumn.
                  stream: true
                  max_output_tokens: 131072
              reasoning_history:
                summary: 전체 추론 기록을 포함하여 대화 이어가기
                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: 생성 성공
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponsesResponse'
              examples:
                with_reasoning:
                  summary: 추론 내용이 포함된 응답
                  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: 도구 호출
                  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: 출력 한도 도달 (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: 요청 매개변수 오류
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: invalid_prompt
                  message: Invalid request parameters
                  type: invalid_request_error
        '401':
          description: 인증되지 않았거나 토큰이 유효하지 않거나 만료됨
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 401
                  message: Invalid authentication credentials
                  type: authentication_error
        '402':
          description: 할당량 부족, 충전 필요
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 402
                  message: Insufficient quota
                  type: insufficient_quota
        '403':
          description: 해당 모델에 접근 권한 없음
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 403
                  message: Model access denied
                  type: permission_error
        '404':
          description: 리소스를 찾을 수 없음
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 404
                  message: Model not found
                  type: not_found_error
        '413':
          description: 요청 본문이 너무 큼
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 413
                  message: Request entity too large
                  type: invalid_request_error
        '429':
          description: 요청 빈도 초과
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 429
                  message: Rate limit exceeded
                  type: rate_limit_error
        '500':
          description: 서버 내부 오류
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 500
                  message: Internal server error
                  type: server_error
        '502':
          description: 게이트웨이 오류
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 502
                  message: Bad gateway
                  type: server_error
        '503':
          description: 서비스를 일시적으로 사용할 수 없음
          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: 모델 ID
          enum:
            - MiniMax-M3.1-Flash
          example: MiniMax-M3.1-Flash
        input:
          type:
            - string
            - array
          description: >-
            모델 입력입니다


            - **문자열**: 전체 텍스트를 하나의 `user` 메시지로 처리합니다

            - **배열**: 입력 항목 목록이며 `message`, `function_call`,
            `function_call_output`, `reasoning`을 지원합니다


            **멀티모달**: `message` 항목의 `content` 배열에서 `input_text`, `input_image`,
            `input_video` 블록을 함께 사용합니다.


            **멀티턴 대화**: API는 상태를 저장하지 않으므로 대화를 이어가려면 배열에 전체 기록을 포함해야 합니다.
          items:
            $ref: '#/components/schemas/InputItem'
          example: Explain recursion in one sentence.
        instructions:
          type: string
          description: 시스템 수준 지시로, 맨 앞에 삽입되는 system 메시지와 동일하며 역할, 어조, 출력 제약을 설정하는 데 사용합니다.
          example: >-
            You are a technical documentation assistant. Keep your answers
            concise.
        stream:
          type: boolean
          description: >-
            스트리밍으로 반환할지 여부입니다


            - `false` (기본값): 전체 응답 객체를 한 번에 반환합니다

            - `true`: 의미별 SSE 이벤트로 전송하며 `response.completed`로 종료됩니다. **`[DONE]`은
            전송하지 않습니다**
          default: false
          example: false
        max_output_tokens:
          type: integer
          description: >-
            이번 생성의 최대 출력 토큰 수로, **추론과 답변을 모두 포함합니다**


            - 권장: **131,072** (128K), 최대: **524,288** (512K)

            - 값이 너무 작으면 추론 단계에서 한도에 도달하여 `message` 출력 항목 없이 `status:
            "incomplete"`가 반환될 수 있습니다
          minimum: 1
          maximum: 524288
          example: 131072
        reasoning:
          type: object
          description: >-
            추론 설정입니다. MiniMax-M3.1-Flash는 항상 추론을 수행하며 추론 내용은 `reasoning` 출력 항목으로
            반환됩니다. 해당 토큰은 출력에 포함되며 출력 요금이 적용됩니다.
          properties:
            effort:
              type: string
              description: 추론 깊이입니다. 기본값은 `max`이며, 높은 단계일수록 일반적으로 추론 토큰 사용량과 응답 시간이 증가합니다.
              enum:
                - low
                - medium
                - high
                - xhigh
                - max
              default: max
              example: high
        temperature:
          type: number
          description: 샘플링 온도이며 `1`로 고정됩니다.
          enum:
            - 1
          default: 1
          example: 1
        top_p:
          type: number
          description: 누적 확률 샘플링 임계값입니다. 기본값은 0.95입니다.
          minimum: 0
          maximum: 1
          default: 0.95
          example: 0.95
        tools:
          type: array
          description: >-
            모델이 호출할 수 있는 도구 목록입니다. 현재 `function` 유형만 지원합니다. 클라이언트가 함수를 실행한 뒤 결과를
            `function_call_output` 입력 항목으로 전달합니다.
          items:
            $ref: '#/components/schemas/Tool'
        tool_choice:
          type: string
          description: 도구 선택 전략입니다. 모델이 도구 호출 여부를 결정하는 `auto`만 지원합니다.
          enum:
            - auto
          default: auto
          example: auto
        text:
          type: object
          description: 텍스트 출력 형식 설정입니다. `format.type`은 `text`만 지원합니다.
          properties:
            format:
              type: object
              properties:
                type:
                  type: string
                  enum:
                    - text
                  default: text
                  description: 출력 형식 유형
        metadata:
          type: object
          description: 요청 메타데이터입니다. 키와 값은 모두 문자열입니다.
          additionalProperties:
            type: string
    ResponsesResponse:
      type: object
      description: >-
        Responses API의 응답 객체입니다. 아래 필드 외에도 이번 요청의 설정인 `tools`, `tool_choice`,
        `temperature`, `top_p`, `text`, `reasoning`, `max_output_tokens` 등을
        포함합니다.
      properties:
        id:
          type: string
          description: 이번 응답의 고유 식별자
          example: 072514d63605b7a0c83f1672230c398c
        object:
          type: string
          description: 객체 유형이며 항상 `response`
          example: response
        created_at:
          type: integer
          description: 생성 시각(Unix 타임스탬프, 초)
          example: 1792401878
        status:
          type: string
          description: |-
            응답 상태입니다

            - `completed`: 정상 완료
            - `incomplete`: 출력이 잘렸으며, 원인은 `incomplete_details`에 표시됩니다
            - `failed`: 생성 실패이며, 원인은 `error`에 표시됩니다
          enum:
            - completed
            - incomplete
            - failed
          example: completed
        model:
          type: string
          description: 실제로 이번 응답을 생성한 모델 ID
          example: MiniMax-M3.1-Flash
        output:
          type: array
          description: >-
            생성 순서대로 정렬된 출력 항목 목록입니다:


            - `reasoning`: 추론 과정으로 ID 형식은 `<id>_rs`입니다. `content`
            (`reasoning_text` 블록 목록), `summary` (빈 배열), `encrypted_content`를
            포함합니다

            - `message`: 최종 답변으로 ID 형식은 `<id>_msg`입니다. `content` (`output_text`
            블록 목록)를 포함합니다

            - `function_call`: 모델이 시작한 함수 호출로 ID 형식은 `<id>_fc_<index>`입니다.
            `call_id`, `name`, `arguments`를 포함하며 클라이언트가 실행한 뒤
            `function_call_output`으로 결과를 전달해야 합니다
          items:
            type: object
        output_text:
          type:
            - string
            - 'null'
          description: 모든 `output_text` 텍스트를 연결한 편의 필드입니다. 텍스트 출력이 없으면 `null`입니다.
        error:
          type:
            - object
            - 'null'
          description: 실패 원인이며 성공 시에는 `null`
        incomplete_details:
          type:
            - object
            - 'null'
          description: >-
            출력이 잘린 원인으로, 잘리지 않았으면 `null`입니다. `reason`은 `max_output_tokens` (출력
            한도 도달) 또는 `content_filter` (콘텐츠 안전)입니다.
        usage:
          $ref: '#/components/schemas/Usage'
    ErrorResponse:
      type: object
      description: 오류 응답
      properties:
        error:
          type: object
          properties:
            code:
              type:
                - integer
                - string
                - 'null'
              description: 오류 코드
              example: invalid_prompt
            message:
              type: string
              description: 오류 설명
              example: Invalid request parameters
            type:
              type: string
              description: 오류 유형
              example: invalid_request_error
    InputItem:
      title: 입력 항목
      description: '입력 항목: 메시지, 추론 기록, 함수 호출 또는 함수 실행 결과입니다.'
      oneOf:
        - $ref: '#/components/schemas/MessageItem'
        - $ref: '#/components/schemas/ReasoningItem'
        - $ref: '#/components/schemas/FunctionCallItem'
        - $ref: '#/components/schemas/FunctionCallOutputItem'
    Tool:
      type: object
      title: 도구 정의
      required:
        - type
        - name
      properties:
        type:
          type: string
          description: 도구 유형입니다. 현재 `function`만 지원합니다.
          enum:
            - function
          example: function
        name:
          type: string
          description: 함수 이름
          example: get_product_stock
        description:
          type: string
          description: 함수의 용도 설명입니다. 명확한 설명은 모델이 호출 시점을 판단하는 데 도움이 됩니다.
          example: Get the current stock level for a product.
        parameters:
          type: object
          description: 파라미터 정의(JSON Schema 형식)입니다.
          example:
            type: object
            properties:
              product_id:
                type: string
                description: Product identifier.
            required:
              - product_id
    Usage:
      type: object
      description: 캐시 및 추론 세부 내역을 포함한 토큰 사용 통계입니다.
      properties:
        input_tokens:
          type: integer
          description: 캐시 적중 부분을 포함한 전체 입력 토큰 수입니다.
          example: 207
        input_tokens_details:
          type: object
          description: 입력 token 상세 내역
          properties:
            cached_tokens:
              type: integer
              description: >-
                캐시에 적중한 입력 토큰 수입니다


                캐시 적중 부분에는 캐시 적중 요금이 적용됩니다. 캐시 미적중 부분 = `input_tokens -
                cached_tokens`에는 표준 입력 요금이 적용됩니다.
              example: 174
        output_tokens:
          type: integer
          description: 출력 토큰 수(사고 부분 포함)
          example: 32
        output_tokens_details:
          type: object
          description: 출력 token 상세 내역
          properties:
            reasoning_tokens:
              type: integer
              description: 추론 과정에서 생성된 토큰 수로, `output_tokens`에 이미 포함되어 있습니다.
              example: 9
        total_tokens:
          type: integer
          description: 총 토큰 수 = input_tokens + output_tokens
          example: 239
    MessageItem:
      type: object
      title: 메시지 항목
      description: 대화 메시지입니다. 이전 어시스턴트 메시지를 전달할 때 반환된 모든 필드를 유지하세요.
      required:
        - role
        - content
      properties:
        type:
          type: string
          enum:
            - message
          default: message
        id:
          type: string
          description: 출력 항목 식별자입니다. 대화 기록에 포함할 때 원래 값을 유지하세요.
        status:
          type: string
          description: 출력 항목 상태입니다. 대화 기록에 포함할 때 원래 값을 유지하세요.
        role:
          type: string
          description: '메시지 역할이며 `type: message`에서만 사용합니다. `developer`는 `system`으로 처리됩니다.'
          enum:
            - user
            - assistant
            - system
            - developer
          example: user
        content:
          type:
            - string
            - array
          description: |-
            메시지 내용으로, `type: message`에서만 사용합니다. 일반 텍스트 또는 콘텐츠 블록 배열을 전달할 수 있습니다.

            **콘텐츠 블록 유형**:
            - `input_text`: 텍스트, `text` 필드 사용
            - `input_image`: 이미지, `image_url` 필드 사용
            - `input_video`: 비디오, `video_url` 필드 사용
            - `output_text`: 이전 assistant 응답의 텍스트

            요청 본문의 최대 크기는 64 MB입니다.
          items:
            $ref: '#/components/schemas/ContentPart'
          example: Explain recursion in one sentence.
    ReasoningItem:
      type: object
      title: 추론 항목
      description: >-
        이전 턴에서 반환된 추론 항목입니다. 대화를 이어갈 때 `id`, `status`, `summary`, `content`,
        `encrypted_content`를 포함한 전체 항목을 그대로 전달하세요.
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - reasoning
        id:
          type: string
          description: 출력 항목 식별자입니다. 대화 기록에 포함할 때 원래 값을 유지하세요.
        status:
          type: string
          description: 출력 항목 상태입니다. 대화 기록에 포함할 때 원래 값을 유지하세요.
        summary:
          type: array
          description: 추론 요약입니다. 대화 기록을 전송할 때 원본 그대로 유지하세요.
          items:
            type: object
        content:
          type: array
          description: 추론 콘텐츠 블록입니다. 대화 기록에 그대로 포함하세요.
          items:
            $ref: '#/components/schemas/ReasoningContentPart'
        encrypted_content:
          type: string
          description: 내부 형식의 추론 데이터입니다. 대화 기록에 그대로 포함하세요.
    FunctionCallItem:
      type: object
      title: 함수 호출 항목
      description: 모델이 반환한 함수 호출입니다. `call_id`로 `function_call_output` 항목과 연결합니다.
      required:
        - type
        - call_id
        - name
        - arguments
      properties:
        type:
          type: string
          enum:
            - function_call
        id:
          type: string
          description: 출력 항목 식별자입니다. 대화 기록에 포함할 때 원래 값을 유지하세요.
        status:
          type: string
          description: 출력 항목 상태입니다. 대화 기록에 포함할 때 원래 값을 유지하세요.
        call_id:
          type: string
          description: 함수 호출 식별자이며 `function_call`과 `function_call_output`이 이를 통해 짝을 이룹니다.
        name:
          type: string
          description: '호출된 함수 이름이며 `type: function_call`에서만 사용합니다.'
        arguments:
          type: string
          description: '함수 호출 인자(JSON 문자열)이며 `type: function_call`에서만 사용합니다.'
    FunctionCallOutputItem:
      type: object
      title: 함수 실행 결과 항목
      description: 클라이언트에서 실행한 함수의 결과입니다. `call_id`로 해당 함수 호출과 연결합니다.
      required:
        - type
        - call_id
        - output
      properties:
        type:
          type: string
          enum:
            - function_call_output
        call_id:
          type: string
          description: 함수 호출 식별자이며 `function_call`과 `function_call_output`이 이를 통해 짝을 이룹니다.
        output:
          type: string
          description: '함수 실행 결과이며 `type: function_call_output`에서만 사용합니다.'
    ContentPart:
      type: object
      title: 콘텐츠 블록
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - input_text
            - input_image
            - input_video
            - output_text
          description: 콘텐츠 블록 유형
        text:
          type: string
          description: 텍스트 내용 (`input_text` / `output_text`)입니다.
        image_url:
          description: >-
            이미지 입력이며 `type: input_image`에서 사용합니다. URL / Base64 data URL 문자열을 직접
            전달하거나 `{"url": "...", "detail": "low | default | high"}` 객체로 분석 정밀도를
            지정할 수 있습니다. 정밀도가 높을수록 더 많은 세부 정보를 인식하며 토큰 사용량도 증가합니다. JPEG / PNG /
            GIF / WEBP를 지원하며 이미지당 최대 10 MB입니다.
          oneOf:
            - type: string
            - type: object
              required:
                - url
              properties:
                url:
                  type: string
                  description: 이미지 URL 또는 Base64 data URL입니다.
                detail:
                  type: string
                  enum:
                    - low
                    - default
                    - high
                  default: default
                  description: 분석 정밀도
        video_url:
          description: >-
            비디오 입력이며 `type: input_video`에서 사용합니다. URL / Base64 data URL 문자열을 직접
            전달하거나 `{"url": "...", "fps": 1, "detail": "default",
            "max_long_side_pixel": ...}` 객체를 전달할 수 있습니다. `fps`는 프레임 추출 빈도로 기본값은
            1이며 범위는 [0.2, 5]입니다. 값이 낮을수록 토큰 사용량이 줄어듭니다. MP4 / AVI / MOV / MKV를
            지원하며 URL / Base64 입력은 최대 50 MB입니다. 더 큰 비디오는 `mm_file://{file_id}` 파일
            참조로 전달합니다.
          oneOf:
            - type: string
            - type: object
              required:
                - url
              properties:
                url:
                  type: string
                  description: 비디오 URL, Base64 data URL 또는 `mm_file://{file_id}`입니다.
                fps:
                  type: number
                  minimum: 0.2
                  maximum: 5
                  default: 1
                  description: 프레임 추출 빈도
                detail:
                  type: string
                  enum:
                    - low
                    - default
                    - high
                  default: default
                  description: 분석 정밀도
                max_long_side_pixel:
                  type: integer
                  minimum: 1
                  description: 비디오 프레임의 최장변 픽셀 제한입니다.
    ReasoningContentPart:
      type: object
      title: 추론 콘텐츠 블록
      required:
        - type
        - text
      properties:
        type:
          type: string
          enum:
            - reasoning_text
        text:
          type: string
          description: 추론 텍스트입니다.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: |-
        모든 API에는 Bearer Token 인증이 필요합니다

        **API Key 발급:**

        [API Key 관리 페이지](https://evolink.ai/dashboard/keys)에서 API Key를 발급받으세요

        **요청 헤더에 추가:**
        ```
        Authorization: Bearer YOUR_API_KEY
        ```

````

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