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) ydeepseek-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 dedeepseek-v4-prose devuelve enreasoning_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
Autorización
##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_KEYCuerpo de solicitud
application/jsonNombre 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"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
]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"
}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
1Pará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`
1Limita 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
4096Penalizació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)
0Penalizació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)
0Especifica 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"
}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
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)
falseOpciones de respuesta en streaming Solo son efectivas cuando `stream=true`
{
"include_usage": true
}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
}
}
]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`
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
falseDevuelve las probabilidades logarítmicas de los N tokens con mayor probabilidad **Descripción**: - Requiere que `logprobs` sea `true` - Rango admitido: `[0, 20]`
0Mapa 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
{}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)
1Semilla 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%)
0Identificador ú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/jsonCuerpo de respuesta
Identificador único de la completación de conversación
"53c548dc-ec02-4a2f-bbb6-eca4184630b8"Nombre del modelo realmente utilizado
"deepseek-v4-flash"Tipo de respuesta
"chat.completion"Marca de tiempo de creación (Unix en segundos)
1777021417Lista 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"
}
]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
}
}Identificador de huella del sistema
"fp_evolink_v4_20260402"
