StarMagicStarMagic
Español
简体中文简繁體中文繁EnglishEN日本語日EspañolES한국어KO
Guía de integración
MiniMax-M3 - OpenAI-Compatible APIMiniMax-M3 - Anthropic-Compatible API
StarMagicStarMagic
Español
简体中文简繁體中文繁EnglishEN日本語日EspañolES한국어KO
TextoMiniMaxMinimax.M3

MiniMax-M3 - API compatible con Anthropic

  • Utiliza el protocolo Anthropic Messages para llamar al modelo MiniMax-M3
  • La estructura de solicitud / respuesta se alinea con la API de Anthropic
  • Conversación multimodal: content admite bloques de contenido de texto e imagen
  • Indicaciones de sistema: se pasan mediante el campo de nivel superior system
  • Modo de pensamiento: se controla mediante el objeto thinking; el contenido de pensamiento se devuelve a través del bloque content[type=thinking]
  • Salida en streaming: flujo de eventos SSE
  • Llamada a herramientas: compatible con el flujo tool_use / tool_result de Anthropic
<Note> **BaseURL**: La BaseURL predeterminada es `https://api.starmagic.ai`, que ofrece mejor compatibilidad con los modelos de texto y las conexiones de larga duración. `https://api.starmagic.ai` es el endpoint principal para los servicios multimodales y sirve como dirección de respaldo para los modelos de texto. </Note>

Autorización

AuthorizationstringheaderObligatorio

##Todas las API requieren autenticación con Bearer Token## **Obtener la API Key:** Visita la [Página de gestión de API Keys](https://starmagic.ai/app/api-keys) para obtener tu API Key **Añadir al encabezado de la solicitud:** ``` Authorization: Bearer YOUR_API_KEY ``` **Nota**: EvoLink utiliza de forma uniforme la autenticación con Bearer Token para `/v1/messages`.

Authorization: Bearer YOUR_API_KEY

Cuerpo de solicitud

application/json
modelenum<MiniMax-M3>Obligatorio

Modelo a llamar

"MiniMax-M3"
max_tokensinteger

Límite superior de la longitud del contenido generado (en tokens) **Notas**: - MiniMax-M3 recomendado **131,072** (128K), máximo **524,288** (512K) - Los tokens generados por el pensamiento también cuentan para este límite - El contenido que supere el límite se truncará; si la generación se interrumpe por `length`, intenta aumentar este valor

1024
messagesobject[]Obligatorio

Lista de mensajes de la conversación, alternando turnos de user / assistant **Notas**: - Debe contener al menos 1 mensaje - El último mensaje normalmente es `role=user`

[
  {
    "role": "user",
    "content": null
  }
]
systemobject

Indicación de sistema, usada para definir el rol y el comportamiento de la IA **Notas**: - Admite una cadena o un arreglo de cadenas - Se pasa mediante el campo `system` de nivel superior

temperaturenumber

Temperatura de muestreo **Notas**: - Rango: `[0, 2]` - Predeterminado 1; los valores más altos producen una salida más divergente, los más bajos producen una salida más determinista

1
top_pnumber

Umbral de muestreo por núcleo **Notas**: - Rango: `[0, 1]`, MiniMax-M3 predeterminado 0.95 - Se recomienda no ajustar temperature y top_p simultáneamente

0.95
streamboolean

Si se debe devolver mediante streaming SSE - `true`: respuesta en streaming Server-Sent Events - `false`: espera la respuesta completa antes de devolverla (predeterminado)

false
thinkingobject

Controla el pensamiento profundo. Cuando el pensamiento está habilitado, los bloques de pensamiento deben devolverse sin modificaciones en las conversaciones de múltiples turnos **Notas**: - **Valor predeterminado `adaptive`**: el modelo decide de forma adaptativa si realiza un pensamiento profundo según la dificultad del problema - Cuando está habilitado, el arreglo `content` de la respuesta incluirá un bloque de razonamiento `type="thinking"` (facturado como tokens de salida)

{
  "type": "adaptive"
}
toolsobject[]

Lista de definiciones de herramientas **Notas**: - Sigue la especificación de definición de herramientas de Anthropic - `input_schema` usa un objeto JSON Schema

[
  {
    "name": "string",
    "description": "string",
    "input_schema": {},
    "cache_control": {
      "type": "ephemeral"
    }
  }
]
tool_choiceobject

Estrategia de selección de herramientas. Solo se admiten auto y none

{
  "type": "auto"
}
metadataobject

Metadatos de la solicitud

{
  "user_id": "string"
}

Respuesta

application/json
成功

Cuerpo de respuesta

idstring

ID único del mensaje

"string"
typeenum<message>

Tipo de objeto de respuesta

"message"
roleenum<assistant>
"assistant"
modelstring

Modelo realmente utilizado

"MiniMax-M3"
contentobject[]

Lista de bloques de contenido de la respuesta **Tipos de bloque posibles**: - `thinking`: proceso de razonamiento (solo cuando el pensamiento está activo) - `text`: texto de la respuesta final - `tool_use`: llamada a herramienta iniciada por el modelo

[
  {
    "type": "text",
    "text": "string",
    "thinking": "string",
    "signature": "string",
    "id": "string",
    "name": "string",
    "input": {}
  }
]
stop_reasonenum<end_turn | max_tokens | tool_use>

Razón de parada - `end_turn`: finalización natural - `max_tokens`: se alcanzó el límite de max_tokens - `tool_use`: el modelo activó una llamada a herramienta

"end_turn"
usageobject

Estadísticas de uso de tokens (especificación de Anthropic)

{
  "input_tokens": 7,
  "output_tokens": 77,
  "cache_creation_input_tokens": 0,
  "cache_read_input_tokens": 0
}
POST/v1/messages
curl --request POST \
  --url https://api.starmagic.ai/v1/messages \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "model": "MiniMax-M3",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": "Hola, mundo"
    }
  ]
}'
Respuesta: 成功
{
  "id": "066a381bdc3c0ded310e27c9a46d16e7",
  "type": "message",
  "role": "assistant",
  "model": "MiniMax-M3",
  "content": [
    {
      "type": "thinking",
      "thinking": "El usuario pregunta por la capital de Japón, que es una pregunta básica de geografía. La respuesta es Tokio, la puedo dar directamente.",
      "signature": "066a381bdc3c0ded310e27c9a46d16e7"
    },
    {
      "type": "text",
      "text": "La capital de Japón es **Tokio**."
    }
  ],
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 7,
    "output_tokens": 77,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0
  }
}