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

DeepSeek V4 - API compatible con OpenAI

  • Llama al modelo DeepSeek V4 usando el protocolo OpenAI Chat Completions
  • Soporta dos modelos: deepseek-v4-flash (rápido y general) y deepseek-v4-pro (razonamiento profundo)
  • Conversación de texto puro: diálogo de uno o varios turnos con soporte para contexto ultra largo de 1M
  • Prompt de sistema: personaliza el rol y el comportamiento de la IA
  • Modo de pensamiento: controla el razonamiento profundo mediante thinking.type; el contenido de pensamiento de deepseek-v4-pro se devuelve en reasoning_content
  • Salida en streaming: soporta respuestas SSE en streaming
  • Llamada a herramientas: soporta Function Calling (hasta 128 herramientas)
  • Modo JSON: se habilita mediante response_format
  • Caché de contexto: las solicitudes con el mismo prefijo alcanzan automáticamente la caché, reduciendo notablemente el coste de entrada
<Note> **BaseURL**: La BaseURL predeterminada es `https://api.starmagic.ai`, que ofrece mejor compatibilidad con modelos de texto y admite conexiones persistentes. `https://api.starmagic.ai` es el endpoint principal para servicios multimodales y actúa como dirección de respaldo para los modelos de texto. </Note>

Autorización

AuthorizationstringheaderObligatorio

##Todas las interfaces requieren autenticación mediante Bearer Token## **Obtención de la API Key**: Visita la [página de gestión de API Key](https://starmagic.ai/app/api-keys) para obtener tu API Key **Al usarla, añádela en la cabecera de la solicitud**: ``` Authorization: Bearer YOUR_API_KEY ```

Authorization: Bearer YOUR_API_KEY

Cuerpo de solicitud

application/json
modelenum<deepseek-v4-flash | deepseek-v4-pro>Obligatorio

Nombre del modelo de conversación - `deepseek-v4-flash`: modelo rápido y general, contexto de 1M - `deepseek-v4-pro`: modelo de razonamiento profundo, destaca en matemáticas, programación y lógica compleja **Nota**: ambos modelos **tienen `thinking` habilitado por defecto**, y la respuesta incluirá `reasoning_content`. Puede desactivarlo con `thinking.type="disabled"` para reducir el coste de tokens de salida. Los parámetros son idénticos para ambos modelos.

"deepseek-v4-flash"
messagesobject[]Obligatorio

Lista de mensajes de la conversación, con soporte para diálogo multi-turno Los mensajes de distintos roles tienen estructuras de campos diferentes; selecciona el rol correspondiente para ver su detalle

[
  null
]
thinkingobject

Control del modo de pensamiento (novedad en V4) **Descripción**: - Controla la funcionalidad de pensamiento profundo (Chain of Thought) - **Habilitado por defecto en ambos modelos** (`type=enabled`) - Al estar habilitado, el proceso de razonamiento se devuelve en `choices[].message.reasoning_content` y se factura como tokens de salida ⚠️ **Aviso para multi-turno / llamadas a herramientas**: si la respuesta de este turno incluye `reasoning_content`, **el mensaje `assistant` correspondiente en el historial de `messages` de la siguiente solicitud debe devolver este campo tal cual**; de lo contrario, la API devolverá 400 `The reasoning_content in the thinking mode must be passed back to the API`. Si no deseas gestionarlo, puedes establecer explícitamente `thinking.type="disabled"` para toda la sesión.

{
  "type": "enabled",
  "reasoning_effort": "medium"
}
temperaturenumber

Temperatura de muestreo, controla la aleatoriedad de la salida **Descripción**: - Valores bajos (p. ej. 0.2): salida más determinista y enfocada - Valores altos (p. ej. 1.5): salida más aleatoria y creativa - Valor por defecto: 1

1
top_pnumber

Parámetro de muestreo por núcleo (Nucleus Sampling) **Descripción**: - Controla el muestreo desde los tokens cuya probabilidad acumulada alcanza cierto umbral - Por ejemplo, 0.9 significa seleccionar entre los tokens que alcancen el 90% de probabilidad acumulada - Valor por defecto: 1.0 (considera todos los tokens) **Recomendación**: no ajustes simultáneamente `temperature` y `top_p`

1
max_tokensinteger

Limita el número máximo de tokens a generar **Descripción**: - La serie V4 admite hasta **384,000 tokens** - Cuando `thinking` está activado, los reasoning_tokens también cuentan para el límite de `max_tokens` - Si no se define, el modelo decide la longitud por sí mismo

4096
frequency_penaltynumber

Penalización por frecuencia, se utiliza para reducir contenido repetitivo **Descripción**: - Valores positivos penalizan según la frecuencia con la que un token aparece en el texto ya generado - Cuanto mayor sea el valor, menos se repetirá contenido ya visto - Valor por defecto: 0 (sin penalización)

0
presence_penaltynumber

Penalización por presencia, fomenta la introducción de temas nuevos **Descripción**: - Valores positivos penalizan según si un token ya ha aparecido en el texto - Cuanto mayor sea el valor, más tiende el modelo a explorar temas nuevos - Valor por defecto: 0 (sin penalización)

0
response_formatobject

Especifica el formato de la respuesta **Descripción**: - Establecer `{"type": "json_object"}` habilita el modo JSON - En modo JSON el modelo generará contenido con formato JSON válido - Se recomienda indicar explícitamente en el mensaje `system` o `user` que se desea salida JSON para obtener los mejores resultados

{
  "type": "text"
}
stopobject

Secuencias de parada; el modelo detiene la generación al encontrar estas cadenas **Descripción**: - Puede ser una cadena única o un array de cadenas - Admite hasta 16 secuencias de parada

streamboolean

Si la respuesta debe devolverse en streaming - `true`: devolución en streaming, se envía el contenido por partes mediante SSE (Server-Sent Events) - `false`: espera a la respuesta completa y la devuelve de una vez (por defecto)

false
stream_optionsobject

Opciones de respuesta en streaming Solo son efectivas cuando `stream=true`

{
  "include_usage": true
}
toolsobject[]

Lista de definiciones de herramientas, usada para Function Calling **Descripción**: - Admite hasta 128 definiciones de herramientas - Cada herramienta debe definir nombre, descripción y esquema de parámetros

[
  {
    "type": "function",
    "function": {
      "name": "string",
      "description": "string",
      "parameters": {},
      "strict": false
    }
  }
]
tool_choiceobject

Controla el comportamiento de llamada a herramientas **Valores posibles**: - `none`: no llamar a ninguna herramienta - `auto`: el modelo decide automáticamente si llamar a una herramienta (por defecto cuando se proporcionan `tools`) - `required`: obliga al modelo a llamar a una o más herramientas - Forma de objeto `{"type":"function","function":{"name":"xxx"}}`: especifica la herramienta concreta a llamar **Valor por defecto**: `none` si no hay `tools`, `auto` si hay `tools`

logprobsboolean

Si se devuelven las probabilidades logarítmicas de los tokens **Descripción**: - Al establecerlo en `true`, la respuesta incluirá la probabilidad logarítmica de cada token

false
top_logprobsinteger

Devuelve las probabilidades logarítmicas de los N tokens con mayor probabilidad **Descripción**: - Requiere que `logprobs` sea `true` - Rango admitido: `[0, 20]`

0
logit_biasobject

Mapa de sesgo de tokens **Descripción**: - La clave es el ID del token en el tokenizer, el valor es un sesgo entre -100 y 100 - -100 prohíbe totalmente ese token, 100 fuerza su generación - Los valores típicos entre -1 y 1 ya producen un efecto perceptible

{}
ninteger

Número de completaciones de chat a generar por cada mensaje de entrada **Descripción**: - Por defecto 1; con N se devolverán N candidatos (facturados como N × output_tokens)

1
seedinteger

Semilla aleatoria (Beta) **Descripción**: - Al especificarla, el modelo intentará realizar un muestreo determinista - Mismo `seed` + mismos demás parámetros → misma salida (no garantizado al 100%)

0
userstring

Identificador único que representa al usuario final **Descripción**: - Ayuda a la plataforma a monitorear y detectar abusos - Se recomienda usar un ID de usuario hasheado

"string"

Respuesta

application/json
成功

Cuerpo de respuesta

idstring

Identificador único de la completación de conversación

"53c548dc-ec02-4a2f-bbb6-eca4184630b8"
modelstring

Nombre del modelo realmente utilizado

"deepseek-v4-flash"
objectenum<chat.completion>

Tipo de respuesta

"chat.completion"
createdinteger

Marca de tiempo de creación (Unix en segundos)

1777021417
choicesobject[]

Lista de opciones generadas por la conversación

[
  {
    "index": 0,
    "message": {
      "role": "assistant",
      "content": "¡Hola! Soy DeepSeek V4. Soy bueno en conversaciones generales, generación de código, razonamiento matemático y muchas otras tareas.",
      "reasoning_content": "Permíteme analizar esta pregunta...",
      "tool_calls": [
        {
          "id": null,
          "type": null,
          "function": null
        }
      ]
    },
    "logprobs": null,
    "finish_reason": "stop"
  }
]
usageobject

Estadísticas de uso de tokens (incluye desglose de caché y razonamiento)

{
  "prompt_tokens": 694,
  "completion_tokens": 20,
  "total_tokens": 714,
  "prompt_cache_hit_tokens": 640,
  "prompt_cache_miss_tokens": 54,
  "prompt_tokens_details": {
    "cached_tokens": 640
  },
  "completion_tokens_details": {
    "reasoning_tokens": 10
  }
}
system_fingerprintstring

Identificador de huella del sistema

"fp_evolink_v4_20260402"
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": "deepseek-v4-flash",
  "messages": [
    {
      "role": "user",
      "content": "Por favor, preséntate"
    }
  ]
}'
Respuesta: 成功
{
  "id": "837f529d-00f9-4731-b2e1-4a54fc31790a",
  "object": "chat.completion",
  "created": 1777026806,
  "model": "deepseek-v4-flash",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "¡Hola! Soy el asistente DeepSeek, siempre listo para responder tus preguntas y ayudarte."
      },
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 7,
    "completion_tokens": 31,
    "total_tokens": 38,
    "prompt_tokens_details": {
      "cached_tokens": 0
    },
    "prompt_cache_hit_tokens": 0,
    "prompt_cache_miss_tokens": 7
  },
  "system_fingerprint": "fp_evolink_v4_20260402"
}