Text
MiniMax M3.1 Flash
Chat Completions, Messages, Responses로 MiniMax M3.1 Flash를 사용합니다. 공식 파라미터, 멀티모달 입력, 추론, 도구 호출 기록, 토큰 집계 방법을 안내합니다.
모델 ID는 정확히 MiniMax-M3.1-Flash로 지정합니다. 모델 페이지에서 Playground와 실시간 요금을 확인할 수 있습니다. OpenAPI 명세는 요청과 응답의 중첩 필드를 정의합니다.
빠른 시작
curl https://api.seedrouter.ai/v1/chat/completions \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model":"MiniMax-M3.1-Flash",
"messages":[{"role":"user","content":"What is 17 multiplied by 23?"}],
"max_completion_tokens":2048,
"reasoning_effort":"low"
}'이 예제에서 지정한 출력 한도는 모델의 기본값이 아닙니다. 키는 서버에 보관합니다. Playground는 로그인한 계정을 사용하므로 API 키를 붙여 넣을 필요가 없습니다.
형식과 인증
| 형식 | 엔드포인트 | 필수 필드 | 최상위 필드 수 |
|---|---|---|---|
| Chat Completions | POST /v1/chat/completions | model, messages | 13 |
| Messages | POST /v1/messages | model, messages | 12 |
| Responses | POST /v1/responses | model, input | 13 |
Content-Type: application/json과 Authorization: Bearer $SEEDROUTER_API_KEY를 전송합니다. Messages는 x-api-key도 허용하며, SDK 클라이언트는 anthropic-version: 2023-06-01을 포함할 수 있습니다. 각 형식은 고유한 요청 본문과 응답 구조를 유지합니다.
파라미터
위에서 필수로 표시한 필드를 제외한 모든 필드는 선택 사항입니다. 필드를 생략하는 것과 null을 명시하는 것은 다릅니다. OpenAPI에서 허용한다고 선언한 필드만 null을 받습니다. 지원하지 않는 최상위 필드는 제거되며, 지원하는 필드의 값이 유효하지 않으면 오류를 반환합니다.
Chat Completions
| 필드 | 유형 | 규칙 |
|---|---|---|
model | 문자열 | 정확히 MiniMax-M3.1-Flash |
messages | 배열 | 고유 형식의 대화 메시지. 추론 및 도구 기록을 보존합니다 |
thinking | 객체 | type은 adaptive만 허용합니다 |
reasoning_effort | 문자열 | low, medium, high, xhigh, max. 기본값은 max입니다 |
reasoning_split | 불리언 | true만 허용합니다 |
stream | 불리언 | 기본값은 false입니다 |
stream_options | 객체 | include_usage로 스트리밍 사용량 표시 여부를 제어합니다 |
max_completion_tokens | 정수 | 1–524288. 추론 및 답변 토큰을 포함합니다 |
max_tokens | 정수 | 기존 출력 한도, 1–524288. max_completion_tokens를 권장합니다 |
temperature | 숫자 | 허용하지만 무시합니다. 모델은 1을 사용합니다 |
top_p | 숫자 | 0보다 크고 1 이하입니다. 무시되며 모델은 0.95를 사용합니다 |
tools | 배열 | 함수 정의: type, function.name, function.parameters, 선택적인 설명 |
n | 정수 | 1만 허용합니다 |
Messages
| 필드 | 유형 | 규칙 |
|---|---|---|
model | 문자열 | 정확히 MiniMax-M3.1-Flash |
messages | 배열 | 고유 형식의 user/assistant 메시지와 콘텐츠 블록 |
system | 문자열 또는 배열 | 시스템 지침 또는 텍스트 블록 |
stream | 불리언 | 기본값은 false입니다 |
max_tokens | 정수 | 1–524288. 추론을 포함하며, 모델의 API 스키마에서 선택 사항입니다 |
temperature | 숫자 | 허용하지만 무시합니다. 모델은 1을 사용합니다 |
top_p | 숫자 | 0보다 크고 1 이하입니다. 모델은 0.95를 사용합니다 |
tools | 배열 | input_schema를 포함하는 고유 형식의 함수 정의 |
tool_choice | 객체 | {"type":"auto"}만 허용합니다 |
thinking | 객체 | {"type":"adaptive"}만 허용합니다 |
output_config | 객체 | effort: low, medium, high, xhigh, max. 기본값은 max입니다 |
metadata | 객체 | 선택적인 고유 형식의 메타데이터 |
Responses
| 필드 | 유형 | 규칙 |
|---|---|---|
model | 문자열 | 정확히 MiniMax-M3.1-Flash |
input | 문자열 또는 배열 | 텍스트 또는 고유 형식의 메시지, 함수 호출, 함수 결과, 추론 항목 |
instructions | 문자열 | 시스템 지침 |
max_output_tokens | 정수 | 1–524288. 추론을 포함합니다 |
temperature | 숫자 | 허용하지만 무시합니다. 모델은 1을 사용합니다 |
top_p | 숫자 | 0보다 크고 1 이하입니다. 모델은 0.95를 사용합니다 |
stream | 불리언 | 기본값은 false입니다 |
tools | 배열 | 고유 형식의 함수 정의 |
tool_choice | 문자열 | auto만 허용합니다 |
metadata | 객체 | 값은 문자열이어야 합니다 |
prompt_cache_key | 문자열 | 선택적인 캐시 그룹화 키 |
text | 객체 | {"format":{"type":"text"}}만 허용합니다 |
reasoning | 객체 | effort: 위의 다섯 단계. 기본값은 max입니다 |
Playground는 model을 고정하고 나머지 모든 필드의 입력 항목을 제공합니다. Chat은 12개, Messages는 11개, Responses는 12개입니다. 중첩 객체와 전체 대화 기록은 JSON 필드에 입력합니다. 지원하는 필드에 유효하지 않은 값이 있으면 브라우저에서 제출을 차단합니다.
추론과 사용 제한
문서에 명시된 컨텍스트 윈도우는 1,000,000토큰입니다. 출력 한도는 추론을 포함하여 524,288토큰입니다. MiniMax는 복잡한 작업에 131,072토큰의 출력 예산을 권장하지만, 이를 기본값으로 지정하지는 않습니다.
생각하기는 항상 활성화됩니다. 이 모델의 생각하기 설정은 disabled, none, minimal을 지원하지 않습니다. 출력 예산이 적으면 답변 텍스트가 나오기 전에 모두 소진될 수 있습니다. 이 명세는 service_tier, 오디오 입력, 구조화된 JSON 출력을 지원하지 않습니다.
전체 요청 본문은 64 MB를 초과할 수 없습니다. 정확한 컨텍스트 사용량과 원격 미디어의 내용은 모델 서비스에서 검증합니다.
이미지와 동영상
| 입력 | 지원 형식 | 한도 |
|---|---|---|
| 이미지 | JPEG, PNG, GIF, WebP | 이미지당 10 MB |
| URL 또는 인라인 동영상 | MP4, AVI, MOV, MKV | 동영상당 50 MB |
| 전체 요청 | JSON 본문 | 64 MB |
Chat은 image_url: {"url":"..."}과 video_url: {"url":"..."} 콘텐츠 블록을 사용합니다. Messages는 source 객체를 포함하는 이미지/동영상 블록을 사용하며, 형식은 {"type":"url","url":"..."} 또는 {"type":"base64","media_type":"...","data":"..."}입니다. Responses는 input_image 또는 input_video를 사용하며, URL 값에는 문자열이나 지원되는 옵션 객체를 지정할 수 있습니다.
detail은 low, default, high를 허용하며 기본값은 default입니다. 동영상 fps의 범위는 0.2~5이고 기본값은 1입니다. 중첩 스키마에서 선택 필드 max_long_side_pixel을 제공하는 경우 양의 정수여야 합니다.
{
"model": "MiniMax-M3.1-Flash",
"messages": [{
"role": "user",
"content": [
{"type": "text", "text": "Describe the main change in this clip."},
{"type": "video_url", "video_url": {
"url": "https://example.com/clip.mp4",
"fps": 1,
"detail": "default"
}}
]
}],
"max_completion_tokens": 2048
}예제 URL을 접근 가능한 본인 파일의 URL로 바꿉니다. 인라인 입력은 적절한 base64 MIME 유형을 사용하며, MOV는 video/mov를 사용합니다. 기존 mm_file:// 동영상 참조는 그대로 전달되지만, 이 서비스는 Files 업로드 API를 제공하지 않습니다. 요청을 처리하는 계정에서 해당 참조에 접근할 수 있어야 합니다.
도구와 대화 기록
함수 도구는 애플리케이션이 수행할 수 있는 동작을 설명합니다. 도구 호출이 있다고 해서 외부 동작이 실행되었다는 뜻은 아닙니다. 이름과 인수를 확인하고 애플리케이션에서 동작을 실행한 다음, 일치하는 호출 ID와 함께 결과를 반환합니다.
Chat 대화를 이어갈 때는 reasoning_content와 tool_calls를 포함한 전체 assistant 메시지를 유지합니다. 도구 메시지에는 tool_call_id가 필요합니다. Messages 대화를 이어갈 때는 생각하기 블록, 서명, tool_use, tool_result 블록을 보존합니다. Responses 대화를 이어갈 때는 반환된 모든 출력 항목을 추가한 뒤 다음 사용자 입력을 추가합니다.
이러한 기록을 답변 텍스트로만 합치지 않습니다. 임의의 함수 파라미터 스키마와 되돌려 전달하는 추론 필드는 보존됩니다. Chat 공식 참조 문서는 이 모델의 tool_choice 파라미터를 정의하지 않습니다.
스트리밍과 응답 필드
stream: true를 설정하면 서버 전송 이벤트를 수신합니다. Chat은 choices[].delta를 전송하고 [DONE]으로 끝납니다. 사용량을 받으려면 stream_options: {"include_usage":true}를 지정합니다. Messages는 message_start, 콘텐츠 블록 업데이트, message_stop 등의 이름 있는 이벤트를 전송합니다. Responses는 response.output_text.delta, response.completed 등의 이벤트를 전송합니다.
비스트리밍 Chat은 choices[].message, finish_reason, usage를 반환합니다. Messages는 콘텐츠 블록, stop_reason, 사용량을 반환합니다. Responses는 output 항목, 상태, 사용량을 반환합니다. 애플리케이션에서 표시되는 답변 이외의 정보도 필요하다면 전체 응답을 보존합니다.
사용량과 현재 요금
실시간 요금표에는 두 입력 구간이 표시됩니다. 총 입력이 512,000토큰 이하면 첫 번째 구간을, 512,000토큰을 초과하면 두 번째 구간을 적용합니다. 선택된 구간의 요금은 출력과 캐시를 포함한 전체 요청에 적용됩니다.
| 형식 | 전체 입력 | 출력 |
|---|---|---|
| Chat | prompt_tokens는 캐시된 입력을 포함합니다 | completion_tokens는 추론을 포함합니다 |
| Messages | input_tokens, cache_read_input_tokens, cache_creation_input_tokens를 합산합니다 | output_tokens는 추론을 포함합니다 |
| Responses | input_tokens는 캐시된 입력을 포함합니다 | output_tokens는 추론을 포함합니다 |
캐시 읽기 및 캐시 쓰기 토큰은 일반 입력으로 다시 과금되지 않습니다. 자동 캐싱은 512토큰 이상이며 조건을 충족하는 반복 접두사를 확인하지만, 캐시 적중을 보장하지는 않습니다. 명시적인 캐시 마커는 필요하지 않습니다.
응답에는 토큰 수가 표시되며 금액은 포함되지 않습니다. 최종 요금은 계정 사용 기록에서 확인합니다. 실패한 요청에는 요금이 부과되지 않습니다.
오류
오류가 발생하면 유효하지 않은 필드와 공개 오류 참조 문서를 확인합니다. 동일한 모델 ID로 위의 세 텍스트 엔드포인트를 사용할 수 있으며, 임베딩 또는 Gemini 엔드포인트에는 사용할 수 없습니다.
