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 OpenAI

  • Utiliza el protocolo OpenAI Chat Completions para llamar al modelo MiniMax-M3
  • Conversación de múltiples turnos: admite diálogo contextual de un solo turno o de múltiples turnos
  • Indicaciones de sistema: personaliza el rol y el comportamiento de la IA mediante mensajes con role=system
  • Entrada multimodal: content admite texto + imagen / video combinados
  • Modo de pensamiento: se controla mediante thinking.type; el contenido de pensamiento se devuelve a través de reasoning_content
  • Salida en streaming: admite respuestas en streaming SSE
  • Llamada a herramientas: admite Function Calling
<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 ```

Authorization: Bearer YOUR_API_KEY

Cuerpo de solicitud

application/json
modelenum<MiniMax-M3>Obligatorio

Nombre del modelo de chat

"MiniMax-M3"
messagesobject[]Obligatorio

Lista de mensajes de la conversación, admite diálogo de múltiples turnos Los mensajes con diferentes roles tienen distintas estructuras de campos; selecciona el rol correspondiente para verlas

[
  null
]
thinkingobject

Controla el pensamiento profundo **Notas**: - **Valor predeterminado `adaptive`**: el modelo decide de forma adaptativa si realiza un pensamiento profundo según la dificultad del problema - De forma predeterminada, el contenido de pensamiento se integra en el `content` de la respuesta (envuelto en etiquetas `<think>...</think>`); para separarlo en un campo dedicado, usa `reasoning_split`

{
  "type": "adaptive"
}
reasoning_splitboolean

Si se debe separar el contenido de pensamiento en un campo independiente - `false` (predeterminado): el contenido de pensamiento se integra en `content`, envuelto en etiquetas `<think>...</think>` - `true`: el contenido de pensamiento se separa en `choices[].message.reasoning_content` y `reasoning_details`

true
temperaturenumber

Temperatura de muestreo, controla la aleatoriedad de la salida **Notas**: - Valores más bajos (p. ej. 0.2): salida más determinista y enfocada - Valores más altos (p. ej. 1.5): salida más aleatoria y creativa - Rango: `[0, 2]`, predeterminado 1

1
top_pnumber

Parámetro de muestreo por núcleo (Nucleus Sampling) **Notas**: - Controla el muestreo a partir de los tokens con probabilidad acumulada - Por ejemplo, 0.95 significa seleccionar entre los tokens que alcanzan el 95 % de probabilidad acumulada - Rango: `[0, 1]`, MiniMax-M3 predeterminado 0.95 **Recomendación**: no ajustes temperature y top_p simultáneamente

0.95
max_completion_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 - Si la generación se interrumpe por `length`, intenta aumentar este valor

131072
streamboolean

Si se debe devolver la respuesta en modo streaming - `true`: respuesta en streaming, devuelve el contenido en fragmentos en tiempo real mediante SSE (Server-Sent Events) - `false`: espera la respuesta completa antes de devolverla (predeterminado)

false
stream_optionsobject

Opciones de la respuesta en streaming Solo tiene efecto cuando `stream=true`

{
  "include_usage": true
}
toolsobject[]

Lista de definiciones de herramientas para Function Calling Cada herramienta requiere un nombre, una descripción y un esquema de parámetros

[
  {
    "type": "function",
    "function": {
      "name": "string",
      "description": "string",
      "parameters": {}
    }
  }
]
max_tokensinteger

Parámetro heredado de límite de longitud de generación **Nota**: obsoleto, usa `max_completion_tokens` en su lugar

0

Respuesta

application/json
成功

Cuerpo de respuesta

idstring

Identificador único de la generación de chat

"0668a381bdc3c0ded310e27c9a46d16e7"
modelstring

Nombre del modelo realmente utilizado

"MiniMax-M3"
objectenum<chat.completion>

Tipo de respuesta

"chat.completion"
createdinteger

Marca de tiempo de creación (segundos Unix)

1777026807
choicesobject[]

Lista de opciones de generación de chat

[
  {
    "index": 0,
    "message": {
      "role": "assistant",
      "content": "¡Hola! Soy MiniMax-M3 y puedo ayudarte con conversación, redacción, razonamiento, programación y muchas otras tareas.",
      "reasoning_content": "Déjame analizar este problema...",
      "reasoning_details": [
        {
          "type": null,
          "id": null,
          "format": null,
          "index": null,
          "text": null
        }
      ],
      "name": "string",
      "audio_content": "string",
      "tool_calls": [
        {
          "id": null,
          "type": null,
          "function": null,
          "index": null
        }
      ]
    },
    "finish_reason": "stop"
  }
]
usageobject

Estadísticas de uso de tokens

{
  "total_tokens": 1604,
  "total_characters": 0,
  "prompt_tokens": 1365,
  "completion_tokens": 239,
  "prompt_tokens_details": {
    "cached_tokens": 114
  }
}
input_sensitiveboolean

Si el contenido de entrada activó un filtro de palabras sensibles. Si la entrada infringe gravemente las políticas, la API devolverá un error de violación de contenido con el contenido de respuesta vacío

true
input_sensitive_typeinteger

Tipo de palabra sensible activada por la entrada (se devuelve cuando `input_sensitive` es true): 1 infracción grave; 2 pornografía; 3 publicidad; 4 contenido prohibido; 5 lenguaje abusivo; 6 violencia/terrorismo; 7 otros

0
output_sensitiveboolean

Si el contenido de salida activó un filtro de palabras sensibles

true
output_sensitive_typeinteger

Tipo de palabra sensible activada por la salida

0
base_respobject

Código de estado y detalles del error

{
  "status_code": 0,
  "status_msg": "string"
}
POST/v1/chat/completions
curl --request POST \
  --url https://api.starmagic.ai/v1/chat/completions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "model": "MiniMax-M3",
  "messages": [
    {
      "role": "user",
      "content": "Preséntate, por favor"
    }
  ]
}'
Respuesta: 成功
{
  "id": "066b36619b147e326d17053cccdef70f",
  "choices": [
    {
      "finish_reason": "stop",
      "index": 0,
      "message": {
        "content": "<think>\nEl usuario pregunta por la capital de Francia, que es una pregunta de conocimiento general. La respuesta es París.\n</think>\nLa capital de Francia es **París**.",
        "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": ""
  }
}