Anthropic SDK로 MiniMax 모델 호출하기

Anthropic SDK로 MiniMax 모델 호출하기

이미 Anthropic API 생태계에 익숙한 개발자라면, MiniMax도 같은 형식으로 바로 연결할 수 있어요. 별도의 새 SDK를 배우지 않아도 base_url과 API 키만 바꾸면 기존 Anthropic 코드를 그대로 MiniMax 모델에 쓸 수 있죠. 이 문서에서는 설치부터 실제 호출, 그리고 파라미터별 지원 여부까지 정리해 드릴게요.

출처: MiniMax 공식 문서 - Anthropic SDK

빠른 시작

1. Anthropic SDK 설치

Python은 pip install anthropic, Node.js는 npm install @anthropic-ai/sdk로 설치하면 돼요.

2. 환경 변수 설정

export ANTHROPIC_BASE_URL=https://api.minimax.cn/anthropic
export ANTHROPIC_API_KEY=${YOUR_API_KEY}

3. API 호출

import anthropic

client = anthropic.Anthropic()

message = client.messages.create(
    model="MiniMax-M3",
    max_tokens=1000,
    system="You are a helpful assistant.",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Hi, how are you?"
                }
            ]
        }
    ]
)

for block in message.content:
    if block.type == "thinking":
        print(f"Thinking:\n{block.thinking}\n")
    elif block.type == "text":
        print(f"Text:\n{block.text}\n")

4. 주의할 점

다중 턴 Function Call 대화에서는 사고의 연속성을 지키려고 모델이 반환한 전체 응답(assistant 메시지)을 반드시 대화 이력에 그대로 추가해야 해요. response.content는 thinking/text/tool_use 같은 여러 타입의 콘텐츠 블록을 담은 리스트인데, 이걸 통째로 다시 보내는 게 핵심이에요.

지원 모델

Anthropic SDK를 쓸 때는 MiniMax-M3 MiniMax-M2.7 MiniMax-M2.7-highspeed MiniMax-M2.5 MiniMax-M2.5-highspeed MiniMax-M2.1 MiniMax-M2.1-highspeed MiniMax-M2 모델이 지원돼요. 컨텍스트 윈도우와 설명은 모델 호출 가이드와 동일하게, M3는 1,000,000, 나머지는 204,800입니다. 다른 모델을 쓰려면 표준 MiniMax API를 이용해야 해요.

호환성 설명

지원 파라미터

파라미터 지원 설명
model 완전 지원 M3·M2.x 시리즈 모델 지정
messages 부분 지원 M3는 텍스트·이미지·영상·도구 호출·도구 결과·thinking 블록 지원. M2.7·M2.5·M2.1·M2는 텍스트와 도구 호출 블록만 지원
max_tokens 완전 지원 최대 생성 token 수
stream 완전 지원 스트리밍 응답
system 완전 지원 시스템 프롬프트
temperature 완전 지원 범위 [0, 2], 출력 무작위성 제어, 권장값 1
tool_choice 완전 지원 도구 선택 전략
tools 완전 지원 도구 정의
top_p 완전 지원 범위 [0, 1], M3 기본값 0.95, M2.x 기본값 0.9
thinking 완전 지원 M3는 기본 꺼짐, adaptive로 켬. M2.x는 끌 수 없음
metadata 완전 지원 메타 정보
service_tier 완전 지원 standardpriority, 기본 standard. priority는 가격 1.5배, 우선 처리 보장
top_k stop_sequences mcp_servers context_management container 무시 해당 파라미터는 무시됨

Thinking 제어

MiniMax-M3thinking 파라미터는 모델이 thinking 콘텐츠 블록을 출력할지 제어해요.

  • thinking을 생략하면 기본 꺼짐, 응답에 thinking 블록이 없어요.
  • thinking: {"type": "adaptive"}으로 명시적으로 켤 수 있어요. M3에서 adaptive는 thinking 켬과 같아요.
  • thinking: {"type": "disabled"}으로 M3의 thinking 출력을 명시적으로 끌 수 있어요.
  • M2.x 모델은 thinking을 끌 수 없어서 disabled를 보내도 계속 켜져 있어요.

응답에 thinking 블록이 포함되면, 특히 도구 호출 대화에서는 다음 턴에 이 블록을 그대로 보존해서 보내야 해요.

Messages 필드 지원

필드 타입 지원 설명
type="text" 완전 지원 텍스트 메시지
type="image" M3만 URL 또는 base64로 이미지 입력, JPEG·PNG·GIF·WEBP
type="video" M3만 URL·base64·mm_file://{file_id}로 영상 입력, MP4·AVI·MOV·MKV
type="tool_use" 완전 지원 도구 호출
type="tool_result" 완전 지원 도구 호출 결과
type="thinking" 완전 지원 추론 내용. 다중 턴 thinking 대화는 원본 그대로 회신

M3 기준 URL·base64 영상은 최대 50MB, 이미지는 최대 10MB, 요청 본문은 최대 64MB예요. 더 큰 영상은 Files API로 올린 뒤 mm_file://{file_id}로 참조하고, Files API 영상 최대 512MB예요.

단일 이미지 token 사용량은 detail에 따라 달라져요. 정확한 값은 POST /anthropic/v1/messages/count_tokens 또는 응답의 usage로 확인하세요.

detail 단일 이미지 대략 token 사용량
low 보통 수백 token, 최대 약 600
default 보통 1k-3k token, 최대 약 5k
high 보통 수천 token, 최대 15k+

Anthropic 호환 인터페이스는 POST /anthropic/v1/messages/count_tokens도 지원해서, M3 호출 전에 입력 token을 예측할 수 있어요. 이 호출은 모델 출력을 생성하지 않아요.

예시 코드: 스트리밍 응답

스크림 시작 후 thinking 과정과 텍스트 내용을 실시간으로 출력하는 예시예요.

import anthropic

client = anthropic.Anthropic()

stream = client.messages.create(
    model="MiniMax-M3",
    max_tokens=1000,
    system="You are a helpful assistant.",
    messages=[
        {"role": "user", "content": [{"type": "text", "text": "Hi, how are you?"}]}
    ],
    stream=True,
)

for chunk in stream:
    if chunk.type == "content_block_delta":
        if chunk.delta.type == "thinking_delta":
            print(chunk.delta.thinking, end="", flush=True)
        elif chunk.delta.type == "text_delta":
            print(chunk.delta.text, end="", flush=True)

주의사항

  1. temperature 파라미터 범위는 [0, 2]이고 1.0을 권장해요. 범위를 벗어나면 오류가 나요.
  2. top_k stop_sequences mcp_servers context_management container 같은 일부 Anthropic 파라미터는 무시돼요.
  3. M3는 이미지·영상을 Anthropic 호환 콘텐츠 블록으로 지원하지만, M2.7·M2.5·M2.1·M2는 텍스트와 도구 호출 블록만 지원해요.

더 알아보기 (Learn more)