> ## 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 - OpenAI 호환 API

> - OpenAI Chat Completions 프로토콜을 사용하여 MiniMax-M3 모델을 호출합니다
- **멀티턴 대화**: 단일 턴 또는 멀티턴 컨텍스트 대화 지원
- **시스템 프롬프트**: `role=system` 메시지로 AI의 역할과 동작을 사용자 정의
- **멀티모달 입력**: `content`는 텍스트 + 이미지 / 비디오 혼합을 지원
- **사고 모드**: `thinking.type`으로 제어하며, 사고 내용은 `reasoning_content`를 통해 반환
- **스트리밍 출력**: SSE 스트리밍 응답 지원
- **도구 호출**: Function Calling 지원

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


## OpenAPI

````yaml ko/api-manual/language-series/minimax-m3/minimax-m3-chat.json POST /v1/chat/completions
openapi: 3.1.0
info:
  title: MiniMax-M3 전체 파라미터 문서 (OpenAI 호환)
  description: |-
    MiniMax-M3 대화 인터페이스의 전체 API 레퍼런스입니다.

    **모델 능력**:
    - 최대 출력: **524,288 tokens**(512K), 권장 **131,072 tokens**(128K)
    - 사고 모드: `thinking` 필드로 제어하며, 기본값은 `adaptive`(모델이 심층 사고 여부를 자율적으로 결정)
    - 멀티모달 입력: 텍스트, 이미지, 비디오 지원
    - 도구 호출: Function Calling 지원
    - 스트리밍 출력: SSE 스트리밍 응답 지원
  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/chat/completions:
    post:
      tags:
        - 대화 생성
      summary: MiniMax-M3 대화 인터페이스(OpenAI 호환)
      description: |-
        - OpenAI Chat Completions 프로토콜을 사용하여 MiniMax-M3 모델을 호출합니다
        - **멀티턴 대화**: 단일 턴 또는 멀티턴 컨텍스트 대화 지원
        - **시스템 프롬프트**: `role=system` 메시지로 AI의 역할과 동작을 사용자 정의
        - **멀티모달 입력**: `content`는 텍스트 + 이미지 / 비디오 혼합을 지원
        - **사고 모드**: `thinking.type`으로 제어하며, 사고 내용은 `reasoning_content`를 통해 반환
        - **스트리밍 출력**: SSE 스트리밍 응답 지원
        - **도구 호출**: Function Calling 지원
      operationId: createChatCompletionMiniMaxM3
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChatCompletionRequest'
            examples:
              simple_text:
                summary: 단일 턴 텍스트 대화
                value:
                  model: MiniMax-M3
                  messages:
                    - role: user
                      content: 자기소개를 해 주세요
              multi_turn:
                summary: 멀티턴 대화(컨텍스트 이해)
                value:
                  model: MiniMax-M3
                  messages:
                    - role: user
                      content: Python이란 무엇인가요?
                    - role: assistant
                      content: Python은 고급 프로그래밍 언어입니다...
                    - role: user
                      content: 그 장점은 무엇인가요?
              system_prompt:
                summary: 시스템 프롬프트 사용
                value:
                  model: MiniMax-M3
                  messages:
                    - role: system
                      content: 당신은 전문적인 Python 프로그래밍 어시스턴트입니다. 간결한 언어로 질문에 답하세요.
                    - role: user
                      content: 파일을 어떻게 읽나요?
              image_understanding:
                summary: 이미지 이해(멀티모달 입력)
                value:
                  model: MiniMax-M3
                  thinking:
                    type: adaptive
                  messages:
                    - role: user
                      content:
                        - type: text
                          text: 이 이미지에는 무엇이 있나요?
                        - type: image_url
                          image_url:
                            url: https://example.com/image.jpeg
                  max_completion_tokens: 500
              disable_thinking:
                summary: 사고 모드 비활성화(직접 답변)
                value:
                  model: MiniMax-M3
                  thinking:
                    type: disabled
                  messages:
                    - role: user
                      content: 프랑스의 수도는 어디인가요?
              tool_calling:
                summary: Function Calling 도구 호출
                value:
                  model: MiniMax-M3
                  messages:
                    - role: user
                      content: 베이징의 오늘 날씨를 조회해 주세요
                  tools:
                    - type: function
                      function:
                        name: get_weather
                        description: 지정한 도시의 날씨 상황을 조회합니다
                        parameters:
                          type: object
                          properties:
                            location:
                              type: string
                              description: '도시 이름, 예: 베이징'
                          required:
                            - location
              streaming:
                summary: 스트리밍 출력
                value:
                  model: MiniMax-M3
                  stream: true
                  stream_options:
                    include_usage: true
                  messages:
                    - role: user
                      content: 봄에 관한 짧은 시를 써 주세요
      responses:
        '200':
          description: 대화 생성 성공
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChatCompletionResponse'
              examples:
                default_thinking:
                  summary: 기본값(사고 내용이 content의 <think> 안에 인라인됨)
                  value:
                    id: 066b36619b147e326d17053cccdef70f
                    choices:
                      - finish_reason: stop
                        index: 0
                        message:
                          content: >-
                            <think>

                            사용자가 묻는 것은 프랑스의 수도로, 이는 상식적인 질문이므로 바로 답인 파리를 제시하면
                            됩니다.

                            </think>

                            프랑스의 수도는 **파리**입니다.
                          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: 도구 호출 트리거(finish_reason=tool_calls)
                  value:
                    id: 066b13db03518f86c2e3c9b073c04272
                    choices:
                      - finish_reason: tool_calls
                        index: 0
                        message:
                          content: |-
                            <think>
                            사용자가 베이징 날씨를 조회하려고 하므로 get_weather 도구를 호출합니다.
                            </think>
                            베이징의 현재 날씨를 조회해 드리겠습니다.
                          role: assistant
                          name: MiniMax AI
                          tool_calls:
                            - id: call_function_p4iiqtpnh5bj_1
                              type: function
                              function:
                                name: get_weather
                                arguments: '{"location": "베이징"}'
                              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: 잘못된 요청 파라미터
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 400
                  message: Invalid request parameters
                  type: invalid_request_error
        '401':
          description: 인증되지 않음, 토큰이 유효하지 않거나 만료됨
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 401
                  message: Invalid or expired token
                  type: authentication_error
        '402':
          description: 할당량 부족, 충전 필요
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 402
                  message: Insufficient quota
                  type: insufficient_quota_error
        '403':
          description: 해당 모델에 접근 권한 없음
          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: 리소스를 찾을 수 없음
          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: 요청 본문이 너무 큼
          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: 요청 빈도 초과
          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: internal_server_error
        '502':
          description: 게이트웨이 오류
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 502
                  message: Bad gateway
                  type: bad_gateway_error
        '503':
          description: 서비스를 일시적으로 사용할 수 없음
          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: 대화 모델 이름
          enum:
            - MiniMax-M3
          example: MiniMax-M3
        messages:
          type: array
          description: |-
            대화 메시지 목록, 멀티턴 대화 지원

            역할마다 메시지의 필드 구조가 다르므로 해당 역할을 선택하여 확인하세요
          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: >-
            심층 사고 제어


            **설명**:

            - **기본값 `adaptive`**: 모델이 문제 난이도에 따라 심층 사고 여부를 자율적으로 결정합니다

            - 기본적으로 사고 내용은 응답 `content`에 인라인됩니다(`<think>...</think>`로 감쌈); 독립된
            필드로 분리하려면 `reasoning_split`을 함께 사용하세요
          properties:
            type:
              type: string
              description: |-
                심층 사고 모드

                - `adaptive`: 모델이 사고가 필요한지 자율적으로 판단(권장 기본값)
                - `disabled`: 사고를 비활성화하고 직접 답변
              enum:
                - disabled
                - adaptive
              default: adaptive
        reasoning_split:
          type: boolean
          description: >-
            사고 내용을 독립된 필드로 분리할지 여부


            - `false`(기본값): 사고 내용이 `content`에 인라인되며 `<think>...</think>`로 감쌉니다

            - `true`: 사고 내용이 `choices[].message.reasoning_content`와
            `reasoning_details`로 분리됩니다
        temperature:
          type: number
          description: |-
            샘플링 온도, 출력의 무작위성을 제어

            **설명**:
            - 낮은 값(예: 0.2): 더 확정적이고 집중된 출력
            - 높은 값(예: 1.5): 더 무작위하고 창의적인 출력
            - 범위 `[0, 2]`, 기본값 1
          minimum: 0
          maximum: 2
          default: 1
          example: 1
        top_p:
          type: number
          description: |-
            핵 샘플링(Nucleus Sampling) 파라미터

            **설명**:
            - 누적 확률 상위 토큰에서 샘플링하는 범위를 제어
            - 예를 들어 0.95는 누적 확률이 95%에 도달하는 토큰에서 선택함을 의미
            - 범위 `[0, 1]`, MiniMax-M3 기본값 0.95

            **권장 사항**: temperature와 top_p를 동시에 조정하지 마세요
          minimum: 0
          maximum: 1
          default: 0.95
          example: 0.95
        max_completion_tokens:
          type: integer
          description: |-
            생성 내용 길이의 상한 지정(Token 수)

            **설명**:
            - MiniMax-M3 권장 **131,072**(128K), 상한 **524,288**(512K)
            - 사고로 생성된 token도 이 상한에 포함됩니다
            - 생성이 `length` 사유로 중단되면 이 값을 높여 보세요
          minimum: 1
          maximum: 524288
          example: 131072
        stream:
          type: boolean
          description: |-
            응답을 스트리밍 방식으로 반환할지 여부

            - `true`: 스트리밍 반환, SSE(Server-Sent Events)를 통해 내용을 청크 단위로 실시간 반환
            - `false`: 완전한 응답을 기다린 후 한 번에 반환(기본값)
          default: false
          example: false
        stream_options:
          type: object
          description: |-
            스트리밍 응답 옵션

            `stream=true`일 때만 유효합니다
          properties:
            include_usage:
              type: boolean
              description: 스트리밍 종료 시 `usage` 통계만 포함하는 chunk를 추가로 반환
        tools:
          type: array
          description: |-
            Function Calling을 위한 도구 정의 목록

            각 도구는 이름, 설명, 파라미터 schema를 정의해야 합니다
          items:
            $ref: '#/components/schemas/Tool'
        max_tokens:
          type: integer
          description: |-
            구버전 생성 길이 제한 파라미터

            **설명**: 더 이상 사용되지 않으므로 `max_completion_tokens`를 사용하세요
          deprecated: true
          minimum: 1
    ChatCompletionResponse:
      type: object
      properties:
        id:
          type: string
          description: 대화 완료의 고유 식별자
          example: 0668a381bdc3c0ded310e27c9a46d16e7
        model:
          type: string
          description: 실제 사용된 모델 이름
          example: MiniMax-M3
        object:
          type: string
          enum:
            - chat.completion
          description: 응답 유형
          example: chat.completion
        created:
          type: integer
          description: 생성 타임스탬프(Unix 초)
          example: 1777026807
        choices:
          type: array
          description: 대화 생성 선택 목록
          items:
            $ref: '#/components/schemas/Choice'
        usage:
          $ref: '#/components/schemas/Usage'
        input_sensitive:
          type: boolean
          description: >-
            입력 내용이 민감어 필터에 걸렸는지 여부. 입력이 심각하게 위반될 경우 인터페이스는 콘텐츠 위반 오류를 반환하며 응답
            내용은 비어 있습니다
        input_sensitive_type:
          type: integer
          description: >-
            입력이 걸린 민감어 유형(`input_sensitive`가 true일 때 반환): 1 심각한 위반; 2 음란; 3 광고;
            4 금지; 5 욕설; 6 폭력·테러; 7 기타
        output_sensitive:
          type: boolean
          description: 출력 내용이 민감어 필터에 걸렸는지 여부
        output_sensitive_type:
          type: integer
          description: 출력이 걸린 민감어 유형
        base_resp:
          type: object
          description: 상태 코드 및 오류 상세
          properties:
            status_code:
              type: integer
              description: >-
                상태 코드, `0`은 성공을 의미; 그 외 `1002` 제한 트리거, `1008` 잔액 부족, `1039`
                Token 초과, `2013` 파라미터 오류 등
            status_msg:
              type: string
              description: 오류 상세
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: integer
              description: HTTP 상태 오류 코드
            message:
              type: string
              description: 오류 설명 정보
            type:
              type: string
              description: 오류 유형
            param:
              type: string
              description: 관련 파라미터 이름
    SystemMessage:
      title: System Message
      type: object
      required:
        - role
        - content
      properties:
        role:
          type: string
          enum:
            - system
          description: 역할 식별자, `system`으로 고정
        content:
          type: string
          description: 시스템 프롬프트 내용, AI의 역할과 동작을 설정하는 데 사용
        name:
          type: string
          description: 참여자 이름, 서로 다른 시스템 프롬프트 출처를 구분하는 데 사용
    UserMessage:
      title: User Message
      type: object
      required:
        - role
        - content
      properties:
        role:
          type: string
          enum:
            - user
          description: 역할 식별자, `user`로 고정
        content:
          description: |-
            사용자 메시지 내용

            **설명**:
            - 순수 텍스트일 경우 문자열을 직접 전달
            - 멀티모달일 경우 content part 배열을 전달하며 `text` / `image_url`(이미지, 비디오)을 지원
          oneOf:
            - type: string
            - type: array
              items:
                $ref: '#/components/schemas/ContentPart'
        name:
          type: string
          description: 참여자 이름, 서로 다른 사용자를 구분하는 데 사용
    AssistantRequestMessage:
      title: Assistant Message
      type: object
      required:
        - role
      properties:
        role:
          type: string
          enum:
            - assistant
          description: 역할 식별자, `assistant`로 고정
        content:
          type:
            - string
            - 'null'
          description: |-
            어시스턴트 메시지 내용

            **설명**:
            - 멀티턴 대화에서 과거 어시스턴트 응답을 전달하는 데 사용
            - `tool_calls`가 존재할 때 `null`일 수 있음
        name:
          type: string
          description: 참여자 이름
        tool_calls:
          type: array
          description: |-
            도구 호출 목록

            멀티턴 대화에서 과거 도구 호출 정보를 전달하는 데 사용
          items:
            type: object
            properties:
              id:
                type: string
                description: 도구 호출의 고유 식별자
              type:
                type: string
                enum:
                  - function
              function:
                type: object
                properties:
                  name:
                    type: string
                    description: 호출된 함수 이름
                  arguments:
                    type: string
                    description: 함수 인자(JSON 문자열)
    ToolMessage:
      title: Tool Message
      type: object
      required:
        - role
        - content
        - tool_call_id
      properties:
        role:
          type: string
          enum:
            - tool
          description: 역할 식별자, `tool`로 고정
        content:
          type: string
          description: 도구 호출 반환 결과 내용
        tool_call_id:
          type: string
          description: |-
            도구 호출 ID

            assistant 메시지의 `tool_calls`에서 반환된 `id` 필드에 대응
    Tool:
      type: object
      required:
        - type
        - function
      properties:
        type:
          type: string
          enum:
            - function
          description: 도구 유형, 현재 `function`만 지원
        function:
          type: object
          required:
            - name
            - parameters
          properties:
            name:
              type: string
              description: |-
                호출할 함수 이름

                **설명**:
                - a-z, A-Z, 0-9 문자로 구성하거나 밑줄과 하이픈을 포함해야 합니다
                - 최대 길이는 64자입니다
            description:
              type: string
              description: 함수 기능 설명, 모델이 언제 어떻게 이 함수를 호출할지 이해하도록 도움
            parameters:
              type: object
              description: 함수의 입력 파라미터, JSON Schema 객체로 기술
    Choice:
      type: object
      properties:
        index:
          type: integer
          description: 선택의 인덱스
          example: 0
        message:
          $ref: '#/components/schemas/AssistantMessage'
        finish_reason:
          type: string
          description: |-
            완료 사유

            - `stop`: 자연스러운 종료 또는 중지 시퀀스 트리거
            - `length`: 최대 token 한도 도달
            - `content_filter`: 콘텐츠가 안전 정책에 의해 필터링됨
            - `tool_calls`: 모델이 도구를 호출함
          enum:
            - stop
            - length
            - content_filter
            - tool_calls
          example: stop
    Usage:
      type: object
      description: Token 사용 통계 정보
      properties:
        total_tokens:
          type: integer
          description: 소비된 총 token 수
          example: 1604
        total_characters:
          type: integer
          description: 소비된 총 문자 수
          example: 0
        prompt_tokens:
          type: integer
          description: 입력 내용의 token 수
          example: 1365
        completion_tokens:
          type: integer
          description: 출력 내용의 token 수
          example: 239
        prompt_tokens_details:
          type: object
          description: 입력 token 상세 내역
          properties:
            cached_tokens:
              type: integer
              description: 캐시에 적중한 입력 token 수
              example: 114
    ContentPart:
      type: object
      description: 멀티모달 콘텐츠 조각, `type`으로 유형을 선언하고 해당 유형에 일치하는 필드만 채웁니다
      properties:
        type:
          type: string
          enum:
            - text
            - image_url
            - video_url
          description: |-
            콘텐츠 유형

            - `text`: 텍스트 블록
            - `image_url`: 이미지 입력
            - `video_url`: 비디오 입력
        text:
          type: string
          description: '`type=text`일 때의 텍스트 내용'
        image_url:
          type: object
          description: >-
            이미지 입력(`type=image_url`일 때), 이미지 한 장당 최대 10 MB, JPEG / PNG / GIF /
            WEBP 지원
          required:
            - url
          properties:
            url:
              type: string
              description: 이미지 URL, 또는 `data:`로 시작하는 base64 data URL
            detail:
              type: string
              description: |-
                이미지 파싱 해상도 제어

                - `low`: 저정밀도, token을 더 적게 소비
                - `default`: 기본 정밀도
                - `high`: 고정밀도, 더 세밀하게 인식하지만 token을 더 많이 소비
              enum:
                - low
                - default
                - high
              default: default
            max_long_side_pixel:
              type: integer
              description: 이미지 최장변 픽셀 제한
              minimum: 1
        video_url:
          type: object
          description: >-
            비디오 입력(`type=video_url`일 때), URL / Base64 비디오 최대 50 MB, MP4 / AVI /
            MOV / MKV 지원
          required:
            - url
          properties:
            url:
              type: string
              description: >-
                비디오 URL, `data:`로 시작하는 base64 data URL, 또는 `mm_file://{file_id}`
                형식의 파일 참조
            detail:
              type: string
              description: 비디오 프레임 추출 해상도 제어
              enum:
                - low
                - default
                - high
              default: default
            fps:
              type: number
              description: |-
                비디오 프레임 추출 빈도, 기본값 1, 범위 [0.2, 5]

                - 값이 높을수록: 화면 변화에 더 민감하지만 token 비용이 높고 속도가 느림
                - 값이 낮을수록: token 비용이 적고 속도가 빠르지만 화면 변화에 둔감
              minimum: 0.2
              maximum: 5
              default: 1
            max_long_side_pixel:
              type: integer
              description: 비디오 프레임 최장변 픽셀 제한
              minimum: 1
    AssistantMessage:
      type: object
      properties:
        role:
          type: string
          description: 메시지 발신자의 역할
          enum:
            - assistant
          example: assistant
        content:
          type:
            - string
            - 'null'
          description: AI 응답 메시지 내용(도구 호출이 트리거되면 `null`일 수 있음)
          example: 안녕하세요! 저는 MiniMax-M3로, 대화, 작문, 추론, 코딩 등 다양한 작업을 도와드릴 수 있습니다.
        reasoning_content:
          type: string
          description: >-
            사고 내용. 요청에서 `reasoning_split=true`를 설정한 경우에만 반환됩니다; 기본적으로 사고 내용은
            `content`의 `<think>...</think>` 안에 인라인됩니다
          example: 이 문제를 분석해 보겠습니다...
        reasoning_details:
          type: array
          description: 구조화된 사고 내용. 요청에서 `reasoning_split=true`를 설정한 경우에만 반환됩니다
          items:
            type: object
            properties:
              type:
                type: string
                description: '사고 내용 유형, 예: `reasoning.text`'
              id:
                type: string
                description: 사고 조각의 식별자
              format:
                type: string
                description: '사고 내용의 형식 식별자, 예: `MiniMax-response-v1`'
              index:
                type: integer
                description: 사고 조각의 순서 인덱스
              text:
                type: string
                description: 해당 조각의 사고 텍스트
        name:
          type: string
          description: 발신자 이름
        audio_content:
          type: string
          description: 오디오 내용(순수 텍스트 대화 시나리오에서는 빈 문자열)
        tool_calls:
          type: array
          description: 도구 호출 목록(모델이 도구를 호출하기로 결정했을 때 반환)
          items:
            type: object
            properties:
              id:
                type: string
                description: 도구 호출의 고유 식별자
              type:
                type: string
                enum:
                  - function
              function:
                type: object
                properties:
                  name:
                    type: string
                    description: 호출된 함수 이름
                  arguments:
                    type: string
                    description: 함수 인자(JSON 문자열)
              index:
                type: integer
                description: 도구 호출 인덱스
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        ##모든 인터페이스는 Bearer Token 인증이 필요합니다##


        **API Key 발급**:


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


        **요청 헤더에 추가**:

        ```

        Authorization: Bearer YOUR_API_KEY

        ```

````