Python으로 MiMo 2.6 연결하기: 도구 호출 기록을 유지하는 방법
MiMo 2.6의 키·엔드포인트·모델 ID를 설정하고 추론 필드와 Chat Completions·Responses의 차이를 확인합니다.
일반 Xiaomi MiMo API를 연동하려면 계정에서 제공하는 키와 엔드포인트에 정확한 모델 ID를 함께 사용해야 합니다. 무료 게이트웨이 식별자, Token Plan 키, 다른 API의 대화 형식을 Xiaomi 직접 요청에 섞는 것은 흔한 연동 실수입니다.
이 글은 2026년 9월 22일 확인한 공식 문서를 따릅니다. 예시는 요청 구성과 대화 필드 보존 방법을 보여 주며, 유료 종단 간 테스트 결과가 아닙니다.
키와 서비스를 맞추기
첫 호출 안내는 일반 OpenAI 호환 기본 URL을 https://api.xiaomimimo.com/v1로 안내합니다. Token Plan 키는 지정된 서비스 경로를 사용합니다. 문서의 지역별 예시를 보편적인 주소로 간주하지 말고 자신의 콘솔에서 경로를 확인하세요.
일반 직접 API 호출에 사용하는 이름은 mimo-v2.6-flash, mimo-v2.6-pro, 별도로 이용 권한이 제공되는 mimo-v2.6-pro-ultraspeed입니다. OpenCode의 opencode/mimo-v2.6-flash-free는 다른 공급자 경로이므로 Xiaomi 직접 요청에 넣으면 안 됩니다.
작은 Python 요청 보내기
격리된 환경에 OpenAI Python SDK를 설치하고 버전을 기록하세요. 키를 MIMO_API_KEY에 설정합니다. 아래 환경 변수 이름은 로컬 코드의 약속이며 API가 요구하는 고정 이름은 아닙니다.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["MIMO_API_KEY"],
base_url="https://api.xiaomimimo.com/v1",
)
response = client.chat.completions.create(
model="mimo-v2.6-flash",
messages=[{
"role": "user",
"content": "Explain the difference between Python sorted() and list.sort().",
}],
extra_body={"thinking": {"type": "disabled"}},
)
print(response.choices[0].message.content)
print(response.usage)
짧은 텍스트 요청부터 시작하면 계정, 엔드포인트, 응답 형식의 문제를 분리하기 쉽습니다. HTTP 결과와 반환된 사용량을 확인한 뒤 답변 자체를 검토하세요. 요청 하나가 성공했다고 더 큰 코딩 작업도 테스트를 통과한다는 뜻은 아닙니다.
추론 모드에서는 보존할 기록이 달라집니다
심층 추론 문서는 thinking.type을 enabled 또는 disabled로 설정하도록 설명합니다. 추론 모드에서 도구를 사용하는 대화라면 다음 요청의 기록에 assistant의 완전한 reasoning_content를 도구 호출과 함께 보존해야 합니다. 공급자는 이 필드를 빼면 400 응답이 발생할 수 있다고 경고합니다.
프레임워크가 최종 답변을 표시하면서 이 필드를 숨길 수도 있습니다. UI에 보이는 내용뿐 아니라 다음 요청에 무엇을 전송하는지 확인하세요. 원래 assistant 도구 호출 항목을 보존한 뒤 각 도구 결과를 해당 호출 ID와 함께 추가해야 합니다.
추론은 평가 설정에도 영향을 줍니다. 문서는 이 모드에서 샘플링 파라미터가 고정된다고 설명합니다. 따라서 명목상 temperature를 0으로 지정하는 것만으로 출력이 항상 같거나 다른 공급자와 비교 조건이 동일하다고 주장할 수 없습니다. 실제 지원되는 제어 항목을 기록하고 작업을 반복 실행해 변동을 확인하세요.
다른 공급자의 Responses API와 동일하지 않습니다
MiMo도 Responses 엔드포인트를 제공합니다. 현재 호환성 제한을 확인해야 합니다.
| 기능 | 문서에 명시된 동작 |
|---|---|
previous_response_id | 지원하지 않음 |
background | 지원하지 않음 |
context_management | 지원하지 않음 |
reasoning.effort = none | 추론 비활성화 |
| 그 밖의 effort 수준 | 현재 강도 구분 없이 추론 활성화 |
다른 공급자에서 성공한 요청을 base_url만 바꿔 보낼 수 있다고 가정하지 마세요. 지원 필드를 확인하고 MiMo 스키마에 따라 대화를 관리해야 합니다. 특히 두 공급자가 같은 effort 이름을 사용한다고 같은 연산량이나 비교 가능한 평가 조건이 보장되는 것은 아닙니다.
코딩 클라이언트로 연결하기
설정을 추가하기 전에 클라이언트 자체 모델 서비스, Xiaomi 일반 API, Token Plan 연결 중 하나를 선택하세요. 그런 다음 공급자 이름, 기본 URL, 키 유형, 정확한 모델 ID를 함께 확인하세요. OpenCode 무료 경로와 현재 데이터 이용 조건은 MiMo 이용 경로 안내를 참고하세요.
첫 요청이 성공하면 짧은 대화를 여러 턴에 걸쳐 테스트하세요. 실제 작업에 도구를 쓸 예정이라면 안전한 로컬 도구 하나를 추가하고 결과가 올바른 호출 ID로 반환되는지 확인하세요. 민감 정보를 가린 요청 구조와 오류 메시지를 보관하고, 지원 요청 로그에 키나 비공개 작업 데이터를 게시하지 마세요.
긴 작업 전에 사용량 확인하기
과금 출력에는 최종 답변뿐 아니라 추론도 포함될 수 있습니다. completion 토큰 예산에는 둘 다 들어갈 여유가 있어야 합니다. 눈에 보이는 답변이 짧다고 청구액도 적은 것은 아닙니다. 전체 사용량 기록을 MiMo 요금표와 계산 예시에 대조하세요.
배포 점검을 위해 SDK 버전, 선택한 모델, 엔드포인트, 키 유형, 지원되는 추론 모드, 응답 상태, 사용량을 기록하세요. 나중에 문제가 발생했을 때 클라이언트 업데이트로 생긴 회귀 오류와 계정 또는 모델 문제를 구분하는 데 필요한 근거가 됩니다.
자주 묻는 질문
- Xiaomi API에 OpenCode 무료 모델 ID를 사용할 수 있나요?
- 아니요. 선택한 공급자의 식별자를 사용해야 합니다. OpenCode 무료 경로와 Xiaomi 직접 API는 서로 다른 서비스입니다.
- MiMo Responses는 previous_response_id를 지원하나요?
- 2026년 9월 문서에 따르면 지원하지 않습니다. 다른 공급자의 연동을 옮기기 전에 지원 스키마를 확인하세요.


