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 Anthropic

  • Llama al modelo DeepSeek V4 usando el protocolo Anthropic Messages
  • Soporta deepseek-v4-flash / deepseek-v4-pro
  • Estructura de solicitud / respuesta alineada con la API de Anthropic
  • Conversación de texto puro (actualmente no se admiten tipos de contenido imagen / documento)
  • Prompt de sistema: se pasa mediante el campo system de nivel superior
  • Modo de pensamiento: interruptor mediante el objeto thinking; el contenido de pensamiento se devuelve como block 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 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 ``` **Nota**: aunque la API nativa de Anthropic usa la cabecera `x-api-key`, EvoLink emplea de forma uniforme autenticación Bearer Token para `/v1/messages`.

Authorization: Bearer YOUR_API_KEY

Cuerpo de solicitud

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

Modelo a invocar - `deepseek-v4-flash`: rápido y general - `deepseek-v4-pro`: razonamiento profundo **Nota**: ambos modelos **tienen `thinking` habilitado por defecto**; la respuesta siempre incluye un content block con `type="thinking"`. Para desactivarlo establece explícitamente `thinking.type="disabled"`. Los modelos no especificados o no soportados serán mapeados automáticamente a `deepseek-v4-flash`.

"deepseek-v4-flash"
max_tokensintegerObligatorio

Número máximo de tokens a generar (**obligatorio**) **Descripción**: - La serie V4 admite hasta **384,000** - Los tokens producidos por `thinking` también cuentan para el límite de `max_tokens`

1024
messagesobject[]Obligatorio

Lista de mensajes de la conversación, alternando por turnos user / assistant **Descripción**: - Debe contener al menos 1 mensaje - El último mensaje normalmente es `role=user` - No se admiten tipos de contenido `image` / `document`

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

Prompt de sistema, se usa para definir el rol y el comportamiento de la IA **Descripción**: - Admite cadena o array de cadenas - A diferencia del mensaje `system` del endpoint de OpenAI, el endpoint de Anthropic usa el campo `system` de nivel superior

temperaturenumber

Temperatura de muestreo **Descripción**: - Rango `[0.0, 2.0]` - Por defecto 1; cuanto mayor el valor, más divergente; cuanto menor, más determinista

1
top_pnumber

Umbral de muestreo por núcleo **Descripción**: - Rango `[0, 1]` - Se recomienda no ajustar simultáneamente `temperature` y `top_p`

1
stop_sequencesstring[]

Secuencias de parada personalizadas **Descripción**: - El modelo detiene la generación al encontrar cualquiera de estas cadenas - Máximo 4 elementos (según la especificación de Anthropic)

[
  "string"
]
streamboolean

Si se devuelve en streaming SSE - `true`: devolución en streaming mediante Server-Sent Events - `false`: devuelve la respuesta completa de una vez (por defecto)

false
thinkingobject

Control del modo de pensamiento (V4) **Descripción**: - **Habilitado por defecto en ambos modelos** (`type=enabled`) - Al estar habilitado, el array `content` de la respuesta incluirá blocks `type="thinking"` con el proceso de razonamiento (facturados como tokens de salida) - **Nota**: esta API **ignora** el campo nativo de Anthropic `budget_tokens`; utiliza `output_config.effort` para controlar la profundidad - En multi-turno basta con devolver el thinking block de la respuesta anterior tal cual dentro del array `content` del mensaje `assistant` (el protocolo de Anthropic es más permisivo y no dará error si falta el thinking, pero mantener la `signature` ayuda a la coherencia contextual)

{
  "type": "enabled",
  "budget_tokens": 0
}
output_configobject

Configuración de salida (extensión V4) **Descripción**: Deepseek solo admite el campo `effort`

{
  "effort": "medium"
}
toolsobject[]

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

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

Controla el comportamiento de llamada a herramientas **Valores posibles de `type`**: - `auto`: el modelo decide automáticamente (por defecto cuando se proporcionan `tools`) - `any`: debe llamar a alguna herramienta (sin especificar cuál) - `tool`: debe llamar a la herramienta con el `name` especificado - `none`: prohíbe llamar a herramientas

{
  "type": "auto",
  "name": "string",
  "disable_parallel_tool_use": true
}

Respuesta

application/json
成功

Cuerpo de respuesta

idstring

ID único del mensaje

"string"
typeenum<message>

Tipo del objeto de respuesta

"message"
roleenum<assistant>
"assistant"
modelstring

Modelo realmente utilizado

"deepseek-v4-pro"
contentobject[]

Lista de bloques de contenido de la respuesta **Tipos de block posibles**: - `thinking`: proceso de razonamiento (solo cuando thinking está habilitado) - `text`: texto de 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 | stop_sequence | tool_use>

Motivo de parada - `end_turn`: final natural - `max_tokens`: alcanzado el límite de max_tokens - `stop_sequence`: se alcanzó una secuencia de stop_sequences - `tool_use`: el modelo activó una llamada a herramienta

"end_turn"
stop_sequencestringnull

Secuencia concreta que se alcanzó cuando stop_reason=`stop_sequence`; de lo contrario null

usageobject

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

{
  "input_tokens": 10,
  "output_tokens": 30,
  "cache_creation_input_tokens": 0,
  "cache_read_input_tokens": 0,
  "service_tier": "standard"
}
POST/v1/messages
curl --request POST \
  --url https://api.starmagic.ai/v1/messages \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "model": "deepseek-v4-flash",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": "Hello, world"
    }
  ]
}'
Respuesta: 成功
{
  "id": "53ee6690-e14a-4e6b-890b-a135100d51c7",
  "type": "message",
  "role": "assistant",
  "model": "deepseek-v4-flash",
  "content": [
    {
      "type": "thinking",
      "thinking": "El usuario pregunta por la capital de Japón — una pregunta básica de geografía. La respuesta es Tokio, basta con darla directamente.",
      "signature": "53ee6690-e14a-4e6b-890b-a135100d51c7"
    },
    {
      "type": "text",
      "text": "La capital de Japón es **Tokio**."
    }
  ],
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 7,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0,
    "output_tokens": 77,
    "service_tier": "standard"
  }
}