DeepSeek API en español: guía completa de V4 Flash y V4 Pro

Última verificación documental y técnica: 5 de agosto de 2026. Se revisaron Flash-0731, Responses API, precios y modelos disponibles. Además, se reutilizaron los registros de 16 solicitudes reales a Chat Completions ejecutadas el 5 de agosto; Responses API y los aliases retirados no se probaron mediante una solicitud autenticada.

La DeepSeek API permite integrar deepseek-v4-flash y deepseek-v4-pro desde un servidor mediante Chat Completions o el formato Anthropic. También ofrece Responses API, actualmente documentada solo para Flash. En esta guía aprenderá a crear una solicitud segura con cURL, Node.js y Python, elegir el modelo, controlar thinking, transmitir respuestas, obtener JSON, usar herramientas, interpretar el cache y gestionar precios y límites.

Aviso de independencia: DeepSeek Español es un sitio independiente operado por Ahmed Aly. No es la documentación oficial, no pertenece a DeepSeek y no está afiliado ni respaldado por la empresa. Esta página no vende API keys. Los enlaces para crear una cuenta o una clave conducen a la plataforma oficial de DeepSeek.

Respuesta rápida: use https://api.deepseek.com como base URL, mantenga la clave exclusivamente en su backend y seleccione deepseek-v4-flash o deepseek-v4-pro. El primero sirve actualmente DeepSeek-V4-Flash-0731; ese nombre de versión no debe enviarse como valor de model. Ambos IDs admiten thinking y non-thinking en Chat Completions. Para proyectos nuevos, no utilice deepseek-chat ni deepseek-reasoner: la fecha anunciada para su retirada ya pasó y la lista actual no los enumera. No verificamos mediante una llamada autenticada qué respuesta devuelven.

Contenido de la guía

Referencia rápida de DeepSeek API

ElementoValor verificado
Base URL, formato OpenAIhttps://api.deepseek.com
Endpoint de chathttps://api.deepseek.com/chat/completions
Base URL, formato Anthropichttps://api.deepseek.com/anthropic
Modelos actualesdeepseek-v4-flash y deepseek-v4-pro
Versión actual de FlashDeepSeek-V4-Flash-0731 mediante deepseek-v4-flash
Responses APISolo deepseek-v4-flash, según la documentación verificada el 5 de agosto de 2026
Contexto publicado1 millón de tokens en ambos modelos
Salida máxima de Chat Completions384.000 tokens en ambos modelos
Modo predeterminadoThinking activado
AutenticaciónAuthorization: Bearer API_KEY
Formato principalChat Completions compatible con OpenAI

La compatibilidad de formato permite utilizar SDK y software diseñados para OpenAI o Anthropic cambiando la configuración. No significa paridad total de endpoints, parámetros o comportamiento. Consulte siempre la referencia de DeepSeek para los campos admitidos.

Prueba real de Chat Completions en español

El 5 de agosto de 2026, una consulta autenticada a GET /models devolvió únicamente deepseek-v4-flash y deepseek-v4-pro. Después se ejecutaron 16 solicitudes a POST /chat/completions: cuatro tareas en español, dos modelos y dos ejecuciones independientes por combinación, con thinking desactivado y max_tokens=450.

  • 16 de 16 solicitudes devolvieron HTTP 200 y finish_reason=stop.
  • 12 resultados cumplieron completamente la rúbrica y cuatro fueron parciales.
  • Flash consumió 1.365 tokens y Pro 1.339 tokens en el conjunto completo.
  • No se probaron thinking, Responses API, aliases retirados, búsqueda web, archivos ni datos personales.
Resultados de una prueba real de DeepSeek API en español con Flash y Pro
Prueba ejecutada el 5 de agosto de 2026. Los resultados describen esta sesión y no garantizan el comportamiento futuro.

La metodología completa, los prompts exactos y las limitaciones están publicados en la página principal. Nunca incluya una API key en una captura o en el contenido público.

¿V4 Flash o V4 Pro?

ModeloCuándo evaluarlo primeroDatos operativos
deepseek-v4-flashPrimera evaluación para coste, volumen, razonamiento y agentes. Flash-0731 mejoró específicamente en tareas de agente según resultados del proveedor.Menor precio, Responses API y límite estándar de 2.500 solicitudes concurrentes por cuenta.
deepseek-v4-proComparación adicional cuando una prueba propia pueda demostrar una mejora útil en la tarea concreta.Mayor precio, sin Responses API a 05/08/2026 y límite estándar de 500 solicitudes concurrentes por cuenta.

No elija solo por el nombre. Prepare un conjunto de casos reales en español, compare precisión, latencia, tokens y coste, y decida con resultados medidos. Para características de arquitectura y capacidades, consulte la guía de DeepSeek V4.

Cómo crear y proteger una API key

  1. Abra la plataforma oficial de DeepSeek y cree o inicie sesión en su cuenta.
  2. Genere una API key desde el panel oficial.
  3. Guárdela en un gestor de secretos o variable de entorno; no la incluya en el código fuente.
  4. Confirme que la cuenta dispone de saldo utilizable.
  5. Haga las llamadas desde su backend. No exponga la clave en JavaScript del navegador, WordPress público, una aplicación móvil distribuida ni una captura de pantalla.

Ejemplo para una sesión local de terminal:

export DEEPSEEK_API_KEY="sustituir-por-la-clave-real"

En producción, limite quién puede leer el secreto, rote la clave si se filtra y evite registrar cabeceras de autorización. El archivo .env tampoco debe subirse al repositorio.

Primera solicitud con cURL

Este ejemplo usa V4 Flash en modo non-thinking. Declarar el modo de forma explícita evita depender del valor predeterminado.

curl https://api.deepseek.com/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${DEEPSEEK_API_KEY}" \
  -d '{
    "model": "deepseek-v4-flash",
    "messages": [
      {
        "role": "system",
        "content": "Responde en español de forma breve, precisa y verificable."
      },
      {
        "role": "user",
        "content": "Explica en dos frases qué devuelve una API REST."
      }
    ],
    "thinking": {
      "type": "disabled"
    },
    "max_tokens": 400,
    "stream": false
  }'

En una respuesta normal, el texto final se encuentra en choices[0].message.content. Revise también finish_reason: un valor length indica que la salida o el contexto alcanzaron un límite y el contenido puede estar incompleto.

Integración con Node.js

Instale el SDK de OpenAI, cuyo formato puede utilizarse con la base URL de DeepSeek:

npm install openai
npm pkg set type=module

Guarde el ejemplo como deepseek-example.js. El comando anterior declara el proyecto como ESM para que import funcione en Node.js:

import OpenAI from "openai";

const apiKey = process.env.DEEPSEEK_API_KEY;

if (!apiKey) {
  throw new Error("Falta la variable DEEPSEEK_API_KEY");
}

const client = new OpenAI({
  apiKey,
  baseURL: "https://api.deepseek.com",
  timeout: 60_000,
  maxRetries: 2,
});

async function main() {
  const response = await client.chat.completions.create({
    model: "deepseek-v4-flash",
    messages: [
      {
        role: "system",
        content: "Eres un asistente técnico. Responde en español.",
      },
      {
        role: "user",
        content: "Resume tres ventajas de guardar secretos fuera del código.",
      },
    ],
    thinking: {
      type: "disabled",
    },
    max_tokens: 600,
    stream: false,
  });

  const choice = response.choices[0];
  const content = choice?.message?.content;

  if (!content) {
    throw new Error(`Respuesta sin contenido. finish_reason=${choice?.finish_reason}`);
  }

  console.log(content);
}

main().catch((error) => {
  console.error(error instanceof Error ? error.message : "Error desconocido");
  process.exitCode = 1;
});

En un servicio real, añada una cola, un límite de gasto por usuario y registros que excluyan prompts sensibles, la API key y el razonamiento. Los reintentos deben ser limitados y reservarse para fallos transitorios; no reenvíe indefinidamente una solicitud inválida.

Integración con Python

pip install openai

En el SDK de OpenAI para Python, la documentación de DeepSeek indica que thinking y user_id deben enviarse dentro de extra_body.

import os
from openai import OpenAI

api_key = os.environ.get("DEEPSEEK_API_KEY")

if not api_key:
    raise RuntimeError("Falta la variable DEEPSEEK_API_KEY")

client = OpenAI(
    api_key=api_key,
    base_url="https://api.deepseek.com",
    timeout=60.0,
    max_retries=2,
)

response = client.chat.completions.create(
    model="deepseek-v4-pro",
    messages=[
        {
            "role": "system",
            "content": "Eres un asistente técnico. Responde en español.",
        },
        {
            "role": "user",
            "content": "Propón una estrategia breve para probar una API antes de producción.",
        },
    ],
    reasoning_effort="high",
    extra_body={
        "thinking": {"type": "enabled"},
        "user_id": "tenant_42_user_781",
    },
    max_tokens=1200,
    stream=False,
)

choice = response.choices[0]
content = choice.message.content

if not content:
    raise RuntimeError(
        f"Respuesta sin contenido. finish_reason={choice.finish_reason}"
    )

print(content)

user_id debe ser un identificador interno pseudónimo. No use nombre, correo, teléfono, IP ni otro dato personal como identificador.

Parámetros principales y su efecto real

Corrección importante: frequency_penalty y presence_penalty están obsoletos y no producen efecto en ningún modo. No es una limitación exclusiva de thinking. En cambio, temperature y top_p siguen apareciendo como parámetros de muestreo para non-thinking, pero son aceptados sin efecto cuando thinking está activado.

Referencia oficial de DeepSeek API que marca frequency_penalty y presence_penalty como obsoletos y sin efecto
La referencia oficial de Chat Completions marca frequency_penalty y presence_penalty como obsoletos y afirma que no tienen efecto al enviarlos a la API. Captura realizada el 22 de julio de 2026.
ParámetroUso actualComportamiento
modelObligatorioUse deepseek-v4-flash o deepseek-v4-pro.
messagesObligatorioHistorial que la aplicación envía en la solicitud actual.
thinkingAdmitidoenabled o disabled; el valor predeterminado es enabled.
reasoning_effortThinkingValores documentados: high y max.
max_tokensAdmitidoLimita la generación; entrada y salida deben caber dentro del contexto.
temperatureMuestreoRango documentado de 0 a 2; no tiene efecto en thinking.
top_pMuestreoAlternativa a temperature; no tiene efecto en thinking.
frequency_penaltyObsoletoNo tiene efecto en thinking ni en non-thinking.
presence_penaltyObsoletoNo tiene efecto en thinking ni en non-thinking.
response_formatAdmitido{"type":"json_object"} activa JSON Output.
streamAdmitidoEnvía deltas mediante Server-Sent Events.
toolsAdmitidoFunciones que el modelo puede proponer; la aplicación las valida y ejecuta.
tool_choiceAdmitidonone, auto, required o una función concreta.
user_idOpcionalAislamiento de seguridad de contenido, KVCache y programación; no es autenticación.

DeepSeek indica que, por compatibilidad, low y medium se asignan a high, mientras que xhigh se asigna a max. Para que el comportamiento sea legible, use directamente high o max.

Thinking, esfuerzo y conversaciones

Los dos modelos V4 admiten thinking y non-thinking. Thinking está activado por defecto, pero conviene declararlo en cada flujo para evitar cambios accidentales.

Guía oficial de Thinking Mode de DeepSeek sobre parámetros sin efecto y reasoning_content
La guía oficial de Thinking Mode indica que temperature y top_p tampoco tienen efecto cuando thinking está activo. La referencia general anterior aclara que los dos penalties están obsoletos en todos los modos. Captura realizada el 22 de julio de 2026.

Activar thinking

{
  "thinking": {
    "type": "enabled"
  },
  "reasoning_effort": "high"
}

Desactivar thinking

{
  "thinking": {
    "type": "disabled"
  }
}

Cuando thinking está activo, el razonamiento se devuelve en reasoning_content y la respuesta final en content. No trate reasoning_content como una explicación verificable del funcionamiento interno ni lo registre o muestre automáticamente al usuario.

Conversación de varios turnos

La solicitud incluye los mensajes que el modelo debe considerar. La aplicación debe conservar y reenviar el historial útil; el endpoint no añade por sí solo los turnos anteriores. Esto describe la construcción del contexto y no demuestra ausencia de logs, cache o retención del proveedor.

  • Si no hubo Tool Call, el reasoning_content anterior no es necesario para el siguiente turno y, si se envía, la API lo ignora.
  • Si hubo Tool Call en thinking, reenvíe el mensaje completo del asistente, incluido reasoning_content, en las solicitudes posteriores. Omitirlo puede producir HTTP 400.
  • Recorte el historial con una estrategia comprobada para no superar la ventana de contexto ni conservar datos innecesarios.

Streaming con Node.js

Con stream: true, la API envía deltas mediante SSE y finaliza con data: [DONE]. Este ejemplo acumula por separado el razonamiento y la respuesta, pero solo muestra la respuesta final:

const stream = await client.chat.completions.create({
  model: "deepseek-v4-pro",
  messages: [
    {
      role: "user",
      content: "Propón un plan breve para migrar una API sin interrumpir el servicio.",
    },
  ],
  thinking: {
    type: "enabled",
  },
  reasoning_effort: "high",
  stream: true,
  stream_options: {
    include_usage: true,
  },
});

let reasoningContent = "";
let finalContent = "";

for await (const chunk of stream) {
  const delta = chunk.choices[0]?.delta;

  if (delta?.reasoning_content) {
    reasoningContent += delta.reasoning_content;
  }

  if (delta?.content) {
    finalContent += delta.content;
  }
}

// No registre reasoningContent ni lo envíe al cliente por defecto.
process.stdout.write(finalContent);

Mientras una solicitud espera, el servidor puede enviar líneas vacías en non-streaming o comentarios : keep-alive en streaming. Si implementa su propio parser, debe ignorarlos correctamente. DeepSeek también indica que el servidor puede cerrar la conexión si la inferencia no ha comenzado después de diez minutos; configure timeouts coherentes en cliente, proxy y balanceador.

Responses API de DeepSeek: soporte y ejemplo

DeepSeek incorporó Responses API con la misma base https://api.deepseek.com. A fecha de esta revisión solo admite deepseek-v4-flash; deepseek-v4-pro todavía no está documentado para este formato. Esta limitación no afecta a Chat Completions ni al formato Anthropic, donde ambos IDs siguen disponibles.

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["DEEPSEEK_API_KEY"],
    base_url="https://api.deepseek.com",
)

response = client.responses.create(
    model="deepseek-v4-flash",
    instructions="Responde en español de forma breve y verificable.",
    input="Explica dos diferencias entre autenticación y autorización.",
)

print(response.output_text)

Límite de verificación: el ejemplo se revisó contra la sintaxis oficial, pero no se ejecutó con una clave real. No presentamos latencia, coste ni respuesta como resultados observados.

Campo o funciónEstado documentadoImplicación
deepseek-v4-flashAdmitidoÚnico modelo documentado actualmente para Responses API
deepseek-v4-proNo admitido a 05/08/2026Utilice Chat Completions o Anthropic para Pro
previous_response_id y conversationNo admitidosLa API es sin estado; la aplicación conserva el historial necesario
store y backgroundNo admitidosNo diseñe el flujo alrededor de almacenamiento o ejecución diferida del proveedor
Imágenes y archivosNo admitidosLas entradas visuales no se procesan como contenido multimodal
HerramientasCompatibilidad parcialFunction y web_search están documentadas; otros tipos pueden ignorarse o fallar
Resumen independiente de la matriz oficial consultada el 5 de agosto de 2026. Compruebe la fuente antes de migrar una aplicación.

El streaming de Responses API utiliza eventos semánticos y termina con response.completed, response.incomplete o response.failed; no finaliza con data: [DONE] como Chat Completions. Los parámetros no admitidos pueden ignorarse sin producir un error, por lo que una respuesta HTTP 200 no prueba que cada campo haya tenido efecto.

JSON Output: configuración y validación

Para pedir JSON válido, establezca response_format, incluya la palabra “json” en el prompt, muestre una estructura esperada y reserve suficientes tokens. No confunda JSON válido con datos correctos o autorizados.

const response = await client.chat.completions.create({
  model: "deepseek-v4-flash",
  messages: [
    {
      role: "system",
      content:
        'Devuelve solo un objeto json. Ejemplo: {"tema":"API","nivel":"básico"}.',
    },
    {
      role: "user",
      content: "Clasifica este tema: autenticación mediante tokens.",
    },
  ],
  response_format: {
    type: "json_object",
  },
  thinking: {
    type: "disabled",
  },
  max_tokens: 300,
});

const raw = response.choices[0]?.message?.content;

if (!raw) {
  throw new Error("JSON vacío: revisar el prompt antes de reintentar");
}

const data = JSON.parse(raw);

if (
  typeof data.tema !== "string" ||
  typeof data.nivel !== "string"
) {
  throw new Error("El JSON no cumple la estructura esperada");
}

console.log(data);

La documentación avisa de que JSON Output puede devolver contenido vacío ocasionalmente. Compruebe además finish_reason; si es length, el objeto puede estar truncado. Valide tipos, enumeraciones, tamaños, permisos y reglas de negocio antes de usar los datos. Nunca convierta una cadena generada directamente en SQL, comandos del sistema o acciones externas.

Tool Calls: el modelo propone, la aplicación decide

Tool Calls permite que el modelo proponga una función y sus argumentos. El modelo no ejecuta la función por sí mismo. Su backend debe validar la llamada, comprobar permisos, ejecutar la herramienta y devolver el resultado como mensaje con rol tool.

const tools = [
  {
    type: "function",
    function: {
      name: "buscar_pedido",
      description: "Busca un pedido autorizado por su identificador.",
      parameters: {
        type: "object",
        properties: {
          id_pedido: {
            type: "string",
            description: "Identificador interno del pedido.",
          },
        },
        required: ["id_pedido"],
        additionalProperties: false,
      },
    },
  },
];
  1. Envíe las definiciones permitidas junto con los mensajes.
  2. Compruebe si la respuesta contiene tool_calls.
  3. Valide nombre, argumentos, esquema y permisos del usuario.
  4. Ejecute la función con timeout, allowlist y límites propios.
  5. Añada el resultado como mensaje tool asociado a tool_call_id.
  6. Solicite al modelo la respuesta final.

El modo strict sigue marcado como Beta. Requiere https://api.deepseek.com/beta, strict: true en todas las funciones y un subconjunto compatible de JSON Schema. Aunque el esquema sea estricto, la aplicación debe continuar verificando autorización y reglas de negocio.

FIM y Chat Prefix Completion (Beta)

Fill-in-the-Middle (FIM) completa texto a partir de un prefijo y, opcionalmente, un sufijo mediante POST /beta/completions. Chat Prefix Completion fuerza el comienzo de una respuesta de chat marcando el último mensaje del asistente con prefix: true. Ambas funciones están en Beta y utilizan https://api.deepseek.com/beta. El endpoint FIM Beta admite como máximo 4K tokens de salida; el límite de 384K publicado para V4 corresponde a Chat Completions, no a FIM. Pruebe de nuevo estas funciones antes de utilizarlas como dependencia de producción.

Discrepancia oficial: la tabla Models & Pricing marca FIM para V4 Flash y V4 Pro en non-thinking, pero la referencia actual de POST /completions solo enumera deepseek-v4-pro. Por prudencia, el ejemplo usa Pro y esta guía no confirma Flash hasta que DeepSeek unifique ambas páginas.

curl https://api.deepseek.com/beta/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${DEEPSEEK_API_KEY}" \
  -d '{
    "model": "deepseek-v4-pro",
    "prompt": "def fibonacci(n):\n    ",
    "suffix": "\n\nprint(fibonacci(10))",
    "max_tokens": 160
  }'
  • FIM está documentado para non-thinking; no añada parámetros de Thinking a esta solicitud.
  • Trate la salida como texto no confiable: revise sintaxis, permisos, dependencias y pruebas antes de ejecutarla.
  • Las funciones Beta pueden cambiar; registre el modelo y valide el comportamiento en cada actualización.

Context Caching y aislamiento con user_id

El Context Caching en disco está activado por defecto para los usuarios de la API. DeepSeek persiste unidades de prefijo en límites de solicitudes, al detectar prefijos comunes y en intervalos de tokens para textos largos. Una solicitud posterior consigue un hit cuando coincide por completo con una unidad ya persistida.

  • usage.prompt_cache_hit_tokens: tokens de entrada recuperados del cache.
  • usage.prompt_cache_miss_tokens: tokens de entrada que no produjeron un hit.
  • El cache funciona con criterio best effort y no garantiza un porcentaje de hits.
  • Su construcción puede tardar segundos.
  • Cuando deja de utilizarse, la documentación indica que normalmente se elimina en unas horas o unos días.
  • El cache reutiliza el prefijo de entrada; la salida vuelve a generarse.

Límite de esta afirmación: el plazo de horas o días se refiere al Context Caching en disco descrito en esa guía. No debe presentarse como una política general de retención para todos los logs, datos de cuenta u otros tratamientos de la API.

Cómo usar user_id

user_id admite los caracteres [a-zA-Z0-9\-_]+ y un máximo de 512 caracteres. DeepSeek lo documenta para aislamiento de seguridad de contenido, KVCache y programación.

  • No incluya datos personales.
  • No lo utilice como sustituto de autenticación, autorización o aislamiento de base de datos.
  • Para cuentas API normales, todos los valores de user_id se combinan al calcular la concurrencia.
  • En cuentas con concurrencia ampliada, pueden aplicarse además límites por user_id, sin eliminar el límite total de la cuenta.

Límites de concurrencia y códigos de error

ModeloLímite de concurrencia por cuenta
deepseek-v4-flash2.500
deepseek-v4-pro500

Una solicitud cuenta como conexión concurrente desde que se envía hasta que termina la respuesta. El cálculo se realiza a nivel de cuenta, independientemente de cuántas API keys existan. Superar el límite devuelve HTTP 429; crear más claves no multiplica la capacidad.

CódigoCausa documentadaAcción inicial
400Formato inválidoLeer el mensaje y corregir el cuerpo.
401Autenticación fallidaComprobar API key y cabecera.
402Saldo insuficienteRevisar balance y facturación.
422Parámetros inválidosCorregirlos; no repetir la misma solicitud.
429Límite alcanzado o solicitudes demasiado rápidasReducir concurrencia, poner en cola y esperar.
500Error del servidorReintento limitado tras una espera breve.
503Servidor sobrecargadoEsperar, reintentar de forma limitada o degradar el servicio.

Para 429, 500, 503 y fallos de red transitorios, aplique backoff exponencial con jitter, un máximo de intentos y un presupuesto total de tiempo. Evite duplicar operaciones con efectos secundarios; implemente idempotencia en su propia aplicación. Para diagnóstico detallado, consulte los códigos de error de DeepSeek API.

Precios de DeepSeek API

Las tarifas base verificadas en la documentación operativa el 5 de agosto de 2026 están expresadas en dólares estadounidenses por un millón de tokens:

ModeloInput: cache hitInput: cache missOutput
V4 FlashUS$0,0028US$0,14US$0,28
V4 ProUS$0,003625US$0,435US$0,87

Próxima tarifa en horas punta: DeepSeek anunció que aplicará un multiplicador de 2× a todos los conceptos facturables entre 09:00–12:00 y 14:00–18:00, hora de Pekín (UTC+8). La fecha de entrada en vigor todavía no está publicada; las tarifas y fórmulas de esta guía permanecen sin multiplicador hasta un anuncio oficial.

Fórmula por solicitud:

coste =
  (prompt_cache_hit_tokens / 1.000.000 × tarifa_hit)
  + (prompt_cache_miss_tokens / 1.000.000 × tarifa_miss)
  + (completion_tokens / 1.000.000 × tarifa_output)

Los nombres de la fórmula corresponden a usage.prompt_cache_hit_tokens, usage.prompt_cache_miss_tokens y usage.completion_tokens. usage.completion_tokens_details.reasoning_tokens desglosa los tokens de razonamiento dentro del total de completion; no es un cuarto concepto que deba cobrarse otra vez. Los precios pueden cambiar: verifique la fuente oficial antes de presupuestar y utilice la calculadora y guía de precios de DeepSeek para ejemplos.

Compatibilidad con el formato Anthropic

DeepSeek ofrece https://api.deepseek.com/anthropic para SDK y herramientas basados en el formato Anthropic. Es compatibilidad de protocolo: las respuestas siguen procediendo de modelos DeepSeek, no de Claude.

export ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
export ANTHROPIC_API_KEY="${DEEPSEEK_API_KEY}"
  • Declare deepseek-v4-flash o deepseek-v4-pro de forma explícita.
  • Los nombres que comienzan por claude-opus se mapean a V4 Pro; claude-haiku y claude-sonnet se mapean a V4 Flash.
  • Un nombre no admitido puede mapearse automáticamente a V4 Flash. No dependa de ese fallback en producción.
  • Texto, system, streaming y tools tienen compatibilidad documentada.
  • Los bloques image y document no están admitidos.
  • mcp_servers, container, service_tier y varios campos específicos se ignoran.
  • En thinking, el formato Anthropic utiliza output_config.effort para high o max; budget_tokens se ignora.

Consulte el mapeo de DeepSeek con Anthropic SDK antes de migrar una aplicación completa.

Migración de deepseek-chat y deepseek-reasoner

Estado documental a 5 de agosto de 2026: DeepSeek anunció la retirada de deepseek-chat y deepseek-reasoner para el 24 de julio de 2026 a las 15:59 UTC. Las páginas operativas actuales solo enumeran deepseek-v4-flash y deepseek-v4-pro. No se probó una llamada autenticada a los aliases antiguos; por ello esta guía no atribuye un código de error ni afirma que sigan enrutando a Flash.

Alias heredadoRuta temporal documentada antes del retiroSustitución explícita
deepseek-chatV4 Flash non-thinkingdeepseek-v4-flash + thinking disabled
deepseek-reasonerV4 Flash thinkingdeepseek-v4-flash + thinking enabled
  1. Busque los aliases en código, variables, paneles, tests, colas y documentación.
  2. Seleccione Flash o Pro expresamente.
  3. Configure thinking y, si procede, reasoning_effort.
  4. Pruebe de nuevo JSON, tools, streaming, cache, calidad y costes.
  5. Despliegue y supervise antes de eliminar el fallback.

Si consulta esta guía después del plazo, trate los aliases como retirados salvo que la documentación oficial anuncie un cambio posterior.

Lista de seguridad antes de producción

  • API key almacenada solo en backend o gestor de secretos.
  • Modelo V4 y modo thinking declarados explícitamente.
  • Límites de entrada, salida, concurrencia, tiempo y gasto por usuario.
  • Validación de JSON y argumentos de Tool Calls con esquemas propios.
  • Allowlists y autorización independiente para herramientas y recursos.
  • Logs sin API keys, prompts sensibles, datos personales innecesarios ni razonamiento.
  • user_id pseudónimo y separado del control de acceso.
  • Cola, backoff, circuit breaker e idempotencia para fallos transitorios.
  • Aviso claro de que los mensajes se envían al proveedor de la API.
  • Revisión humana en decisiones médicas, jurídicas, financieras, laborales o educativas de alto impacto.
  • Identificación clara como contenido generado por IA cuando se publique o distribuya una respuesta.

La documentación pública revisada no especifica para los usuarios finales de aplicaciones de terceros la ubicación exacta de todo el tratamiento, el plazo general de conservación ni si los datos de la API se utilizan para entrenamiento. Verifique estas condiciones en el contrato y la configuración de su cuenta, minimice los datos y explique el flujo en su propia política. Consulte también nuestra guía de seguridad y la Política de privacidad.

Preguntas frecuentes sobre DeepSeek API

¿DeepSeek API es gratis?

La API se factura por tokens de entrada y salida y necesita saldo utilizable. Cualquier crédito promocional o concedido puede cambiar; compruebe su panel y la tabla oficial de precios.

¿DeepSeek API es compatible con OpenAI?

Admite un formato compatible con OpenAI Chat Completions usando https://api.deepseek.com. No implica que todos los endpoints, parámetros o comportamientos sean idénticos.

¿Qué modelo debo elegir?

Empiece evaluando V4 Flash para coste y volumen. Compare V4 Pro en tareas complejas de razonamiento, programación o agentes. Use un conjunto de pruebas propio; no existe una elección universal.

¿Thinking está activado por defecto?

Sí. V4 Flash y V4 Pro admiten ambos modos y el valor predeterminado documentado es enabled. Para evitar ambigüedad, declare el modo explícitamente.

¿presence_penalty y frequency_penalty funcionan en non-thinking?

No. La referencia actual marca los dos parámetros como obsoletos y afirma que no producen efecto al enviarlos. La limitación se aplica a thinking y non-thinking. temperature y top_p son un caso diferente: pueden utilizarse como parámetros de muestreo en non-thinking, pero no tienen efecto en thinking.

¿JSON Output garantiza mi esquema exacto?

Garantiza el objetivo de producir una cadena JSON válida, pero no garantiza que los campos cumplan su esquema o reglas de negocio. DeepSeek también advierte de respuestas vacías ocasionales. Valide siempre el resultado.

¿Puedo llamar a DeepSeek directamente desde el navegador?

No es una arquitectura segura porque expone la API key. Use un backend propio que autentique al usuario, limite el gasto, valide la entrada y reenvíe la solicitud.

¿La API garantiza almacenamiento o retención cero?

No debe afirmarse basándose en la documentación pública revisada. El Context Caching en disco está activado por defecto y su guía describe la eliminación del cache no utilizado normalmente en horas o días, pero esa afirmación no define la retención de todos los datos o logs.

¿Debo seguir usando deepseek-chat o deepseek-reasoner?

No. El plazo de retirada anunciado ya pasó y la documentación operativa solo enumera los IDs V4 explícitos. Migre a deepseek-v4-flash o deepseek-v4-pro y configure thinking de forma explícita. El comportamiento exacto de los aliases antiguos requiere una prueba autenticada todavía no realizada.

Fuentes oficiales verificadas

La disponibilidad de modelos, precios, límites y parámetros puede cambiar. Esta guía refleja la documentación oficial accesible el 29 de julio de 2026 y debe revisarse antes de cada despliegue importante.