Cómo usar la API de DeepSeek V4 Flash (con código real)

Rama Adi Nugraha
Escrito por

Rama Adi Nugraha

Katelin Teen
Revisado por

Katelin Teen

Última edición August 4, 2026

Verificado por expertos
Ilustración de un editor de código y una terminal junto al logo de la ballena de DeepSeek, que representa la llamada a la API de DeepSeek V4 Flash

Qué estás llamando en realidad

deepseek-v4-flash es el más pequeño de los dos modelos en la tabla de precios de DeepSeek: un LLM Mixture-of-Experts de 284B en total / 13B activos, con pesos abiertos con licencia MIT, y el sucesor de la generación que cubrí en DeepSeek V3.2.

El alias es un objetivo móvil y no una instantánea fija. La nota del registro de cambios de DeepSeek dice que el modelo "se ha actualizado a DeepSeek-V4-Flash-0731. El método de llamada no cambia", así que siempre obtienes la build más reciente y no hay una forma publicada de fijar una versión anterior.

Todo lo que necesitas configurar vive en una sola página, y merece la pena echarle un vistazo antes de escribir una sola línea de código, porque ambas base URL y ambos precios están en la misma tabla.

Página de Models & Pricing de DeepSeek mostrando ambas base URL, la ventana de contexto de 1M, la salida máxima de 384K y las tarifas exactas por millón para deepseek-v4-flash y deepseek-v4-pro, según DeepSeek
Página de Models & Pricing de DeepSeek mostrando ambas base URL, la ventana de contexto de 1M, la salida máxima de 384K y las tarifas exactas por millón para deepseek-v4-flash y deepseek-v4-pro, según DeepSeek

Dos cosas en esa captura deciden la mayor parte de tu arquitectura. La tabla de precios indica 1M de contexto y 384K de salida máxima para ambos modelos, así que la diferencia de precio entre Flash y Pro no es una cuestión de ventana de contexto. Y el modo thinking aparece ahí como compatible con ambos modos, con thinking como valor por defecto, lo cual, en términos de coste, es el valor por defecto más caro de toda la API.

Aquí está esa misma tabla en números, ya que vas a hacer cálculos con ellos en breve:

Elemento facturable (por 1M de tokens)deepseek-v4-flashdeepseek-v4-pro
Entrada, acierto de caché$0.0028$0.003625
Entrada, fallo de caché$0.14$0.435
Salida$0.28$0.87
Límite de concurrencia2.500500
Responses API✗ (principios de agosto de 2026)

Flash se sitúa en aproximadamente un tercio de las tarifas de entrada sin caché y de salida de Pro, ambas cotizadas por millón de tokens. Si quieres la parte incómoda de esta historia, el nivel barato actualmente supera al caro en las propias filas agentic de DeepSeek, algo que analicé por separado en Flash vs V4 Pro.

Para ver cómo queda frente al resto del campo, están Flash vs Kimi K3 y Flash vs GPT-5.6. La coincidencia de nombre con Qwen 3.7 Flash es desafortunada y no es culpa mía.

Antes de empezar

Cuatro requisitos previos, y solo uno de ellos es poco habitual.

  1. Una cuenta y una clave. Las claves se crean en platform.deepseek.com/api_keys. Léela desde una variable de entorno y no en línea, que es también como lo hacen las propias muestras de DeepSeek.
  2. El SDK estándar de OpenAI. pip3 install openai o npm install openai. No hay ningún paquete de DeepSeek que instalar en ningún sitio, que es todo el sentido de la capa de compatibilidad.
  3. Dinero en la cuenta, por adelantado. DeepSeek es de prepago, y este es el requisito que muerde. Un 402 - Insufficient Balance no llega en el momento de la configuración, cuando realmente lo notarías. La autenticación funciona, las primeras llamadas funcionan, y luego el fallo aparece en cuanto el saldo llega a cero, lo que en un bucle por lotes significa una finalización parcial con un error de pago sentado en un índice de fila arbitrario.
  4. Saber qué cadena de modelo quieres. Todos los ejemplos de código de la documentación de DeepSeek tienen deepseek-v4-pro fijado a fuego. Copia uno esperando el precio de Flash, y te cobrarán 3,11 veces más en entrada y salida.

Hay tres hosts, no uno, y la documentación los reparte en páginas distintas:

Base URLPara qué sirve
https://api.deepseek.comChat Completions compatible con OpenAI, más la Responses API
https://api.deepseek.com/anthropicFormato de mensajes de Anthropic, autenticación x-api-key
https://api.deepseek.com/betaFunciones beta: finalización prefix y modo strict de llamadas a herramientas

No existe una variante /v1 en la documentación actual. Si has visto ese sufijo en algún tutorial antiguo, simplemente no está en la tabla de configuración tal como está hoy.

Paso 1: tu primera llamada

Aquí está el código en Python, con la cadena del modelo cambiada a Flash y el thinking dejado en el valor por defecto de DeepSeek, para que veas qué te hace realmente ese valor por defecto:

Python
# pip3 install openai
import os
from openai import OpenAI

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

response = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[
        {"role": "system", "content": "You are a helpful assistant"},
        {"role": "user", "content": "Hello"},
    ],
    stream=False,
)

print(response.choices[0].message.content)
print(response.usage)

Lo mismo en curl, por si prefieres ver el formato de la conexión:

Bash
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": "You are a helpful assistant."},
          {"role": "user", "content": "Hello!"}
        ],
        "stream": false
      }'

Imprime response.usage en esa primera llamada, no solo el contenido. Es la única forma de ver lo que estoy a punto de describir.

Paso 2: desactiva el thinking, o entiende que lo estás pagando

thinking.type acepta enabled o disabled, y la referencia de la API da enabled como valor por defecto. reasoning_effort acepta low, high y max, y la misma página dice que "el esfuerzo por defecto es high". Nadie configura eso en una primera llamada, lo que significa que tu hello-world se ejecutó con un esfuerzo de razonamiento alto y te cobraron la cadena de pensamiento a la tarifa de salida.

Desactivarlo es un solo argumento, y va dentro de extra_body, porque el SDK de OpenAI no tiene un campo thinking nativo propio:

Python
response = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[{"role": "user", "content": "Summarise this ticket in one line: ..."}],
    extra_body={"thinking": {"type": "disabled"}},
)

Bajarlo en lugar de desactivarlo es donde Flash tiene una ventaja real sobre su hermano. El mapeo de esfuerzo publicado reasigna lo que pides según el modelo:

Esfuerzo solicitadodeepseek-v4-flash sirvedeepseek-v4-pro sirve
lowlowhigh
highhighhigh
xhighhighmax
maxmaxmax

Lee la primera fila dos veces. low es un low real en Flash y se sube en silencio a high en Pro, así que ahora mismo no existe ninguna ejecución barata de Pro. Flash tiene su propia rareza en la tercera fila, donde xhigh colapsa a high, así que pedir más que high y menos que max simplemente te da high de todos modos. DeepSeek apunta en una nota que "actualizará el esfuerzo mapeado real de deepseek-v4-pro a principios de agosto de 2026", que es ahora, así que vuelve a comprobar la columna de Pro si te importa.

Hay dos efectos secundarios de dejar el thinking activado que pillan a la gente. Primero, según la guía del modo thinking, el modo thinking no admite temperature, top_p, presence_penalty ni frequency_penalty, y DeepSeek es explícito al decir que "establecer estos parámetros no provocará un error, pero tampoco tendrá ningún efecto". Segundo, la cadena de pensamiento vuelve en un campo separado, reasoning_content, así que un script que solo imprime .message.content te muestra la respuesta y ninguno de los tokens que pagaste.

Hay suficientes piezas en movimiento como para que adivinar la factura sea mala idea. Introduce tus propios números:

Paso 3: haz streaming, y conserva el recuento de tokens

El streaming es un solo argumento. Sacar los datos de uso de un stream es un segundo argumento que la gente olvida, y luego se pregunta por qué cada fragmento reporta usage: null:

Python
stream = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[{"role": "user", "content": "Draft a refund reply."}],
    stream=True,
    stream_options={"include_usage": True},
    extra_body={"thinking": {"type": "disabled"}},
)

for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")
    if chunk.usage:
        print("\n", chunk.usage)

Con include_usage activado, llega un fragmento extra antes de data: [DONE], que trae los recuentos de tokens de toda la solicitud con un array choices vacío. La referencia de la API dice que solo lo configures cuando stream sea true.

Si estás escribiendo tu propio parser de SSE en lugar de usar el SDK, hay una cosa más que vale la pena señalar. Mientras una solicitud espera capacidad, la conexión se rellena. Según la página de límites de tasa, las solicitudes sin streaming "devuelven continuamente líneas vacías" y las solicitudes con streaming devuelven comentarios SSE : keep-alive. Un lector hecho a mano que trate una línea en blanco como el final del cuerpo, o que no salte las líneas que empiezan por :, se rompe justo aquí. Además, si la inferencia no ha empezado tras diez minutos, el servidor simplemente cierra la conexión.

Paso 4: multi-turno, porque la API no recuerda nada

DeepSeek es bastante directo en esto. La guía multi-round llama a /chat/completions una API "stateless", "lo que significa que el servidor no registra el contexto de las solicitudes del usuario. Por lo tanto, el usuario debe concatenar todo el historial de conversación anterior y pasarlo a la API de chat en cada solicitud."

Así que el historial es tuyo, y solo tuyo, para gestionar:

Python
messages = [{"role": "user", "content": "What's the highest mountain in the world?"}]
response = client.chat.completions.create(model="deepseek-v4-flash", messages=messages)

messages.append(response.choices[0].message)          # round 1 answer
messages.append({"role": "user", "content": "What is the second?"})
response = client.chat.completions.create(model="deepseek-v4-flash", messages=messages)

Reenviar todo el historial en cada turno suena ruinoso, y lo sería, salvo que es exactamente aquí donde el precio se pone interesante. El caché de contexto en disco está activado por defecto para todos los usuarios, sin necesidad de cambiar código, y la tarifa de entrada con acierto de caché es de $0.0028 frente a $0.14 en un fallo. Con los mismos tokens, eso es una diferencia de 50 veces.

Gráfico de barras dibujado a mano que contrasta la tarifa de $0.14 por fallo de caché con la tarifa de $0.0028 por acierto de caché por millón de tokens de entrada, junto a las tres condiciones que provocan un acierto
Gráfico de barras dibujado a mano que contrasta la tarifa de $0.14 por fallo de caché con la tarifa de $0.0028 por acierto de caché por millón de tokens de entrada, junto a las tres condiciones que provocan un acierto

El caché es automático, lo que significa que no hay ningún mando que girar, y la estructura de tu prompt es el mando. Unos pocos mecanismos deciden qué tarifa acabas pagando:

  • Una solicitud solo se factura a la tarifa de acierto si coincide por completo con una unidad de prefijo de caché persistida. La coincidencia parcial de una unidad no cuenta, algo que DeepSeek atribuye a su mecanismo de Sliding Window Attention.
  • Las unidades se persisten, según la guía de caché, en los límites de las solicitudes, al detectar prefijos comunes entre solicitudes, y a intervalos fijos de tokens para entradas largas.
  • Puedes auditar el reparto por llamada: usage incluye prompt_cache_hit_tokens y prompt_cache_miss_tokens.
  • El caché es best-effort, sin tasa de acierto garantizada, y las entradas sin usar se borran "normalmente en unas pocas horas o unos pocos días".

En la práctica: mantén el system prompt idéntico byte a byte, añade al historial en lugar de reescribirlo, y todo lo que varíe según la solicitud va al final. Inyectar una marca de tiempo o un fragmento de base de conocimiento mezclado al principio del prompt es como los equipos acaban pagando 50 veces más por accidente, lo que convierte el comportamiento del caché en un asunto real de ingeniería de prompts y no en una nota al pie de la factura.

Esto muerde más fuerte en RAG, donde los fragmentos recuperados cambian en cada llamada por diseño. Si eso es lo que estás construyendo, entonces nuestro recorrido por el pipeline de RAG para soporte y la comparación RAG vs LLM sin más son los dos que leería a continuación.

Paso 5: llamadas a herramientas, y el 400 que te va a confundir

La forma de tools es la estándar de OpenAI, con un límite de 128 funciones y nombres de función limitados a 64 caracteres:

Python
tools = [
    {
        "type": "function",
        "function": {
            "name": "get_order_status",
            "description": "Look up an order's shipping status by order ID.",
            "parameters": {
                "type": "object",
                "properties": {
                    "order_id": {"type": "string", "description": "The order ID, e.g. A-10293"}
                },
                "required": ["order_id"]
            },
        }
    },
]

tool_calls vuelve como un array en el mensaje del assistant, arguments llega como una cadena JSON y no como un dict, y la señal de fin de bucle en la muestra de bucle de agente de DeepSeek es que tool_calls es None cuando el modelo ha terminado. La guía de llamadas a herramientas también se toma la molestia de dejar claro algo obvio con lo que la gente sigue equivocándose: "El propio modelo no ejecuta funciones específicas."

Ahora la parte que merece la pena tatuarse en algún sitio. La regla normal del modo thinking es que el reasoning_content intermedio "no necesita participar en la concatenación de contexto", y se ignora si lo pasas de todos modos. Añade tools, y eso se invierte:

Please note that for requests carrying the tools parameter, the reasoning_content must be fully passed back to the API in all subsequent requests. If your code does not correctly pass back reasoning_content, the API will return a 400 error.

Comparación de dos cadenas de mensajes: sin tools el bloque reasoning_content se ignora, con tools presente hay que devolverlo o la API responde con un 400
Comparación de dos cadenas de mensajes: sin tools el bloque reasoning_content se ignora, con tools presente hay que devolverlo o la API responde con un 400

Esta es la trampa porque está documentada en una página distinta de la guía de llamadas a herramientas a la que llega la mayoría de la gente, y porque lo natural es escribir un serializador que conserve role, content y tool_calls, y descarte el campo que no reconoce. En su lugar, añade de vuelta el objeto de mensaje completo:

Python
messages.append(response.choices[0].message)   # keeps reasoning_content intact
for tool in response.choices[0].message.tool_calls:
    result = TOOL_MAP[tool.function.name](**json.loads(tool.function.arguments))
    messages.append({"role": "tool", "tool_call_id": tool.id, "content": result})

Una cosa más aquí: DeepSeek nunca usa la frase "parallel tool calls" y no hay ningún parámetro parallel_tool_calls en la superficie de Chat Completions, aunque el bucle oficial sí itera el array en lugar de tomar [0]. Así que escribe el bucle, no des por hecha la garantía. Este es el mecanismo detrás de cualquier cosa que llamarías un agente de IA, así que vale la pena hacerlo bien antes de añadir comportamiento agentic encima.

Si necesitas aplicación forzosa de esquema, el modo strict sí existe, pero vive en el host beta. Tres requisitos: base_url="https://api.deepseek.com/beta", "strict": true dentro de cada function, y additionalProperties: false en cada objeto, con todas las propiedades marcadas como required. minLength, maxLength, minItems y maxItems no son compatibles. Vale la pena saber que el propio ejemplo de DeepSeek usa "$def" (en singular) como contenedor de definiciones en lugar del $defs de JSON Schema, así que copia su ortografía.

Paso 6: salida en JSON

response_format={'type': 'json_object'}, y aquí no hay ninguna variante json_schema. El aviso de cuatro puntos de DeepSeek es corto y cada punto es importante: configura el parámetro, incluye la palabra "json" en un prompt de system o de user y proporciona un ejemplo de la forma que quieres, configura max_tokens con sensatez "para evitar que la cadena JSON se trunque a mitad de camino", y ten en cuenta que "la API puede devolver ocasionalmente contenido vacío".

Ese último punto es un bug abierto y reconocido, en negrita en la propia página de DeepSeek, y los cambios de prompt son la única mitigación que ofrecen. Así que parsea a la defensiva:

Python
response = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[
        {"role": "system", "content": 'Extract intent and urgency as json. Example: {"intent": "refund", "urgency": "high"}'},
        {"role": "user", "content": ticket_body},
    ],
    response_format={'type': 'json_object'},
    max_tokens=400,
    extra_body={"thinking": {"type": "disabled"}},
)

raw = response.choices[0].message.content
parsed = json.loads(raw) if raw and raw.strip() else None

Fíjate en que el propio ejemplo JSON de DeepSeek no configura max_tokens en absoluto, a pesar de que su propio requisito n.º 3 dice que hay que hacerlo. Configúralo.

La Responses API, y lo que no hace

Flash es el único modelo que admite la Responses API por ahora. La propia nota de DeepSeek dice que "actualmente solo admite el modelo deepseek-v4-flash", con soporte para Pro previsto para principios de agosto de 2026. Existe sobre todo por una razón, que DeepSeek dice sin rodeos: "Para satisfacer la demanda de Codex."

Python
response = client.responses.create(
    model="deepseek-v4-flash",
    instructions="You are a helpful assistant.",
    input="Hi, how are you?",
)
print(response.output_text)

Aquí es donde las expectativas se rompen. Si conoces la Responses API de algún otro sitio, la conoces por su carácter stateful. La implementación de DeepSeek es stateless. previous_response_id y conversation son "No compatible (API stateless)", store es "No compatible. La respuesta siempre lleva store: false", y background, metadata, include, prompt y stream_options tampoco son compatibles.

Y no dan error. La propia línea de DeepSeek en la tabla de compatibilidad, textualmente: "Los parámetros no compatibles se ignoran en silencio y no provocan errores, de modo que los clientes existentes de la Responses API pueden conectarse sin modificación". Pasas store: true, obtienes un 200, y no se almacena nada.

Lo que sí añade sobre Chat Completions vale la pena conocerlo: eventos SSE semánticos tipados, incluido un canal dedicado response.reasoning_text.delta para la cadena de pensamiento, una herramienta integrada web_search del lado del servidor, y top_logprobs. Sin embargo, el estante de herramientas integradas tiene exactamente dos elementos, web_search y apply_patch; file_search, code_interpreter, computer_use y MCP figuran todos como ignorados.

Dos trampas de migración: no hay ningún centinela data: [DONE], así que termina con response.completed / response.incomplete / response.failed; y las partes input_image no dan error, se "reemplazan por un texto de marcador de posición", lo cual es coherente con que Flash sea solo de texto y no multimodal.

Cómo manejar los errores que realmente vas a encontrar

Hay siete códigos documentados, y ninguno más. No hay cabecera Retry-After, ni tampoco un calendario de backoff publicado en ningún sitio, así que quien decide es tu propio wrapper.

CódigoQué significaQué hacer
400 - Invalid FormatCuerpo de la solicitud mal formadoArregla el código. También es el código que obtienes si falta reasoning_content con tools
401 - Authentication FailsClave de API incorrectaArregla la clave
402 - Insufficient BalanceEl saldo prepago está vacíoAvisa a una persona y para. No reintentes
422 - Invalid ParametersCuerpo bien formado, valores inválidosArregla el código
429 - Rate Limit ReachedSe alcanzó el límite de concurrenciaHaz backoff y reintenta
500 - Server ErrorProblema del lado de DeepSeekReintenta tras una breve espera
503 - Server OverloadedTráfico altoReintenta tras una breve espera

La distinción entre 400 y 422 es real y útil. 400 es un cuerpo mal formado; 422 es un cuerpo bien formado con valores de parámetro incorrectos. Dos rutas de depuración distintas, y el mensaje de error es lo que te dice cuál es cuál.

El 429 merece una nota, porque la solución que documenta el propio DeepSeek es inusualmente sincera: "Por favor, regula el ritmo de tus solicitudes de forma razonable. También aconsejamos a los usuarios que cambien temporalmente a las APIs de otros proveedores de servicios LLM, como OpenAI". Que un proveedor recomiende a un competidor dentro de su propia documentación de errores es una señal real sobre la capacidad en horas punta, y vale la pena diseñar una ruta de respaldo en lugar de tratarlo como una broma.

Sobre los límites en sí: DeepSeek no publica ninguna cifra de RPM ni de TPM. El único límite es la concurrencia, y la página de límites de tasa la cuenta por cuenta y no por clave, así que acuñar claves adicionales no consigue nada. "Una solicitud cuenta como una conexión concurrente desde el momento en que se envía hasta que la respuesta del modelo se completa", lo que significa que una llamada de razonamiento larga ocupa una plaza durante toda su duración. Flash tiene 2.500 plazas frente a las 500 de Pro, y la ampliación es gratuita pero pasa por un formulario manual de Feishu.

Si manejas tráfico multi-tenant, configura user_id (nota: no el user de OpenAI), pasado como extra_body={"user_id": "..."}. Impulsa la revisión de seguridad de contenido, el aislamiento de programación por usuario, y el aislamiento del caché KV por privacidad. El formato es [a-zA-Z0-9\-_], con un máximo de 512 caracteres, y DeepSeek advierte de no poner información de privacidad del usuario ahí. También es tu única palanca contra el radio de explosión de la inyección de prompts entre inquilinos, algo que importa más de lo que suena en cuanto usuarios reales empiezan a escribir en esto.

Las cinco cosas que fallan en silencio

Cada trampa de esta API devuelve HTTP 200. Ese es el hilo conductor aquí, y merece la pena tener una sola lista contra la que comparar un diff.

Diagrama que muestra cuatro parámetros que la API de DeepSeek acepta pero ignora, cada uno devolviendo HTTP 200 sin ningún efecto
Diagrama que muestra cuatro parámetros que la API de DeepSeek acepta pero ignora, cada uno devolviendo HTTP 200 sin ningún efecto
  1. frequency_penalty y presence_penalty están obsoletos. Ambos llevan la misma línea en la referencia de la API: "Este parámetro ya no es compatible. No tendrá efecto si lo pasas a la API." Elimínalos al portar una llamada de OpenAI.
  2. temperature y top_p son inertes en el modo thinking, que es el valor por defecto. Si ajustaste un prompt con temperature=0.2 y lo portaste, estás corriendo con lo que sea que haga el modo thinking.
  3. Los campos no compatibles de la Responses API se ignoran en silencio. store, previous_response_id, conversation, background. 200 todas las veces.
  4. Un nombre de modelo no reconocido en el endpoint de Anthropic se convierte en Flash. Según la guía de la API de Anthropic, cualquier nombre de modelo no compatible "se mapeará automáticamente al modelo deepseek-v4-flash". claude-opus* se mapea a Pro, claude-sonnet* y claude-haiku* se mapean a Flash. DeepSeek lo presenta como una función para apuntar clientes de Claude a su API, y lo es, hasta que una errata cambia en silencio contra qué modelo se ejecutaron tus evals.
  5. cache_control se ignora en el endpoint de Anthropic. En todos los sitios donde aparece: en tools, bloques de texto, tool_use, tool_result. El propio caché en disco de DeepSeek se ejecuta en su lugar, así que no hay nada que declarar, pero el código portado desde Anthropic pierde sus puntos de ruptura de caché explícitos sin ningún aviso.

Añadiría un sexto que realmente no es culpa de DeepSeek. finish_reason lleva un valor que no es de OpenAI, insufficient_system_resource, que se devuelve cuando la solicitud se interrumpe por la capacidad del sistema de inferencia. Un manejador que solo conoce stop / length / tool_calls va a tratar una respuesta truncada como si estuviera completa.

¿Debería esto responder a los tickets de los clientes?

Esta es la pregunta que realmente me hacen, y la respuesta honesta es que la API es la parte fácil de todo esto. Conseguir que un modelo responda es cosa de un fin de semana. Conseguir un agente de soporte con IA al que dejarías acercarse a una cola real no lo es.

Aquí está lo que he visto fallar dentro de nuestro propio producto, que es más instructivo que cualquier benchmark. El peor modo de fallo que eesel ha observado en producción no es un modelo negándose, ni agotando el tiempo de espera. Es un agente fabricando el éxito: narrando "ejecutando búsquedas en Zendesk" durante unos diez turnos sin llegar a tocar la API ni una vez, reportando archivos guardados que no existen, inventando métricas. Solo lo detectamos porque lo estábamos buscando. Nada mata a un compañero de equipo más rápido que mentir sobre lo que hizo, y fíjate en la forma de ese fallo, también parecía un 200.

Que es la misma lección que todo este artículo. Que una llamada al modelo en crudo tenga éxito no te dice casi nada sobre si la respuesta era realmente correcta. Pruebas independientes sitúan la tasa de alucinación de Flash en 84%, 12 puntos por debajo de su predecesor pero aún lejísimos de "apúntalo a los clientes y aléjate". Su puntuación también oscila desde 29 sin razonamiento hasta 50 con el esfuerzo máximo, dependiendo de un ajuste que puede que ni hayas configurado a propósito.

Lo que significa que las capas que se sientan encima del modelo son las que hacen el trabajo real: grounding en fuentes verificadas, una puntuación de confianza para que decline en lugar de adivinar, rutas de escalado limpias, y una persona revisando cualquier cosa relevante.

Si quieres las versiones largas de todo esto, hemos escrito por separado sobre prevenir alucinaciones y también sobre pruebas adversarias.

Luego está la cuestión de los datos, y quiero ser preciso aquí en lugar de alarmista. Los Términos de Servicio de la Open Platform de DeepSeek rigen la API de pago y guardan silencio sobre el uso para entrenamiento de tus entradas, que es distinto de ser permisivo y también distinto de ser seguro. Los Términos de Uso para consumidores llevan una cláusula explícita en el §4.3 con un interruptor de exclusión; el documento específico de la API simplemente se detiene antes de esa cláusula. No hay ningún DPA publicado ni ninguna opción de retención cero en ningún sentido, y los propios datos quedan bajo la ley de la RPC.

Si viviste la aclaración de política de Slack, entonces sabes cómo suena esto a un revisor de seguridad. Vale la pena combinarlo con nuestra guía de SOC 2 y GDPR antes de que los datos de los clientes se acerquen, y pensar en qué datos estarías enviando en primer lugar.

Si nada de eso es aceptable, los pesos MIT son una salida real. Puedes autoalojarlo, fine-tuning incluido, y la licencia permite el uso comercial.

Si deberías hacerlo es la pregunta de construir versus comprar, y mi lectura honesta, tras haber lanzado ambas cosas, es que la restricción de un equipo de soporte casi nunca es el acceso al modelo. Es la profundidad de integración y la calidad del escalado lo que decide si algo de esto funciona.

Prueba eesel

Si has llegado hasta aquí porque estás integrando Flash en un helpdesk, entonces la API es alrededor del 5% de ese proyecto. El otro 95% es lo que pasa cuando el modelo se equivoca, y esa es la parte que preferiría que no construyeras dos veces.

eesel es ese 95%, convertido en producto. Fundamenta cada respuesta en tu conocimiento verificado, es decir, artículos del centro de ayuda, tickets pasados, macros y documentos conectados, y luego hace lo que más importa antes de salir a producción: simulaciones contra tus propios tickets históricos, así que ves la precisión real en tu cola real en lugar de una cifra de benchmark. Despliegas cuando supera tu propio listón, no cuando lo dice alguna clasificación. El precio es 40 céntimos por ticket gestionado, sin cuotas por puesto, y nunca se te cobra por los tickets que gestionan tus humanos, así que si enrutas 200 de tus 1.000 tickets mensuales a la IA, pagas por 200. Hay $50 de uso gratuito, sin tarjeta de crédito, y cada integración está disponible en el plan gratuito.

La vista de informes de eesel mostrando el volumen de tareas a lo largo de 30 días, los eventos desencadenantes desglosados por tipo, y el uso de aprobación o rechazo por acción de herramienta
La vista de informes de eesel mostrando el volumen de tareas a lo largo de 30 días, los eventos desencadenantes desglosados por tipo, y el uso de aprobación o rechazo por acción de herramienta

Ese panel de "uso de aprobación / rechazo por herramienta" es la respuesta directa al problema del éxito fabricado de antes. Cada acción de herramienta que realiza el agente es contable y revisable, así que un agente que afirma haber buscado en tu helpdesk se convierte en una fila que puedes comprobar, en lugar de una frase que tienes que creer.

Dicho de otra forma: una API en crudo es infraestructura. Lo que un responsable de soporte realmente necesita es un empleado.

Si quieres comprobar primero las cuentas de tokens frente a las cuentas por resultado, empieza con el coste de la atención al cliente con IA, y luego con el coste por resolución para la unidad que realmente aparece en un presupuesto.

Hay una versión de la automatización de soporte que reduce costes sin destrozar tu CSAT. Empieza por el coste por ticket, y no por el coste por millón de tokens.

Preguntas frecuentes

¿Cómo uso la API de DeepSeek V4 Flash por primera vez?
Instala el SDK estándar de OpenAI, apunta base_url a https://api.deepseek.com, configura tu clave desde DEEPSEEK_API_KEY y pasa model="deepseek-v4-flash". No existe un paquete específico de DeepSeek. Lo único que debes añadir en tu primera llamada es extra_body={"thinking": {"type": "disabled"}}, porque el modo thinking está activado por defecto y su salida de razonamiento se cobra a la tarifa de salida.
¿Cuánto cuesta la API de DeepSeek V4 Flash?
Flash cuesta $0.14 por millón de tokens de entrada sin caché, $0.0028 por millón de tokens de entrada con caché, y $0.28 por millón de tokens de salida. El desglose completo por niveles, incluida la comparación con su hermano más caro, está en nuestra comparación Flash vs V4 Pro. Si estás convirtiendo precios de tokens en un presupuesto de soporte, el coste por resolución es la unidad más útil.
¿La API de DeepSeek V4 Flash admite llamadas a herramientas y salida en JSON?
Ambas cosas, con los formatos estándar de OpenAI: tools para llamadas a funciones y response_format={'type': 'json_object'} para JSON. La trampa es que, con tools presente, debes reenviar reasoning_content en los turnos siguientes o la API devuelve un 400. Si estás integrando esto en un helpdesk, nuestra guía de creación de chatbots de soporte cubre la capa por encima del modelo.
¿Cuál es el límite de tasa de la API de DeepSeek V4 Flash?
DeepSeek no publica una cifra de RPM ni de TPM. El único límite es la concurrencia: 2.500 solicitudes simultáneas en curso para Flash frente a 500 para Pro, contadas por cuenta y no por clave. Superarlo devuelve un 429. Las solicitudes de ampliación son gratuitas, pero pasan por un formulario manual.
¿Es segura la API de DeepSeek para los datos de los clientes?
Los términos de la Open Platform de DeepSeek guardan silencio sobre el uso para entrenamiento de las entradas de la API de pago, en lugar de ser permisivos, y no existe un DPA publicado ni una opción de retención cero en ningún sentido. Para cualquier cosa que toque tickets reales, lee nuestras notas sobre SOC 2 y GDPR, y mira lo que pasó cuando Slack aclaró su política. La postura propia de eesel está en nuestra página de seguridad.
¿Puedo ejecutar DeepSeek V4 Flash yo mismo en lugar de usar la API?
Sí. Los pesos tienen licencia MIT y están publicados en Hugging Face, así que el autoalojamiento es una opción real, y es una de las razones por las que Flash aparece en pilas de agentes de código abierto. Si merece la pena el trabajo operativo es la clásica pregunta de construir versus comprar, y nuestra opinión sobre los modelos de IA personalizados es que la mayoría de los equipos de soporte no deberían hacerlo.
¿Debería DeepSeek V4 Flash responder directamente a los tickets de los clientes?
No en crudo. La puntuación de un modelo en un benchmark no dice nada sobre cómo se comporta con tus propios tickets, y por eso los umbrales de confianza, el grounding y el human in the loop importan más que la elección del modelo. eesel simula con tus tickets históricos antes de que nada salga a producción, así que ves la precisión real antes que el cliente.

Share this article

Rama Adi Nugraha

Article by

Rama Adi Nugraha

Rama is a software engineer at eesel AI with two years of experience writing about B2B SaaS, AI tools, and customer support technology. Based in Bali, Indonesia, he brings a developer's perspective to product comparisons — cutting through marketing copy to what the integrations and APIs actually do.

Related Posts

All posts →
Un desarrollador eligiendo entre tarjetas de modelos, con la tarjeta de la ballena de DeepSeek en el centro rodeada de modelos rivales
Alternatives

Las 8 mejores alternativas a DeepSeek V4 Flash en 2026

Ocho alternativas reales a DeepSeek V4 Flash, comparadas con datos. Nadie cambia de modelo por precio o velocidad, así que las ordeno según las cuatro carencias reales de Flash.

Kurnia Kharisma Agung SamiadjieKurnia Kharisma Agung SamiadjieAug 4, 2026
Banner ilustrado para un análisis de los precios de Cassidy AI
Guides

Precios de Cassidy AI: los 79 $ escondidos en su propia documentación

La página de precios de Cassidy no muestra ninguna cifra en dólares. Pero una captura de pantalla escondida en la propia documentación de Cassidy muestra 79 $/mes, y el sistema de créditos que hay detrás es la verdadera historia del coste.

Kurnia Kharisma Agung SamiadjieKurnia Kharisma Agung SamiadjieJul 27, 2026
Banner ilustrado de portada para una guía sobre la plataforma de agentes y flujos de trabajo Cassidy AI
Guides

Cassidy AI: qué hace, cuánto cuesta y para quién es

Cassidy AI es una plataforma sin código de agentes y flujos de trabajo para equipos con mucha documentación. Así funciona, así factura y aquí es donde se queda corta para soporte.

Alicia Kirana UtomoAlicia Kirana UtomoJul 27, 2026
Ilustración editorial para una guía sobre lo que puede hacer Claude Fable 5, el modelo de IA más potente de Anthropic
Guides

¿Qué puede hacer Claude Fable 5? Una guía capacidad por capacidad

¿Qué puede hacer Claude Fable 5? Trabajar durante días sin supervisión, escribir y desplegar código, leer documentos de 1 millón de tokens y revisar su propio trabajo. Esto es lo que significa en la práctica.

Riellvriany IndriawanRiellvriany IndriawanJun 17, 2026
Texto alternativo de la imagen
Guides

Nuestra reseña completa de GPT 5.3 Codex: Una nueva era para la IA agéntica

Una reseña profunda de GPT 5.3 Codex. Analizamos las nuevas capacidades agénticas, el rendimiento en pruebas de referencia, los precios y las limitaciones como la falta de acceso a la API.

Stevia PutriStevia PutriFeb 6, 2026
Ilustración de paneles de imagen, video y documentos alimentando un modelo de visión y lenguaje, con el logo de Qwen
Trending

Qwen 3.7 Flash: especificaciones, precios y qué hace realmente

Qwen 3.7 Flash se lanzó sin entrada de blog, sin benchmarks y sin pesos. Aquí está la hoja de especificaciones completa, los precios escalonados y lo que Qwen nunca afirmó.

Alicia Kirana UtomoAlicia Kirana UtomoJul 31, 2026
Ilustración que contrasta un chatbot de IA respondiendo una pregunta con un agente de IA conectado a Slack, correo electrónico y herramientas de tickets
Guides

Agentes de IA vs chatbots de IA: la diferencia real y cuándo usar cada uno

Agentes de IA vs chatbots de IA: los chatbots responden preguntas, los agentes toman acciones y cierran tickets. Esta es la diferencia real y cuándo usar cada uno.

Alicia Kirana UtomoAlicia Kirana UtomoJun 17, 2026
Análisis de tickets de soporte: Una guía para mejorar el servicio al cliente en 2025
Guides

Análisis de tickets de soporte: Una guía para mejorar el servicio al cliente en 2025

Desbloquea conocimientos con el análisis de tickets impulsado por IA que identifica tendencias, descubre causas raíz y ayuda a tu equipo a resolver problemas de manera más rápida e inteligente.

Stevia PutriStevia PutriAug 22, 2025
Una inmersión profunda en Firecrawl: La API de datos web para IA
Guides

Firecrawl: La API de web scraping para creadores de AI (2026)

¿Estás pensando en usar Firecrawl para potenciar tus aplicaciones de IA? Este resumen exhaustivo desglosa todo lo que necesitas saber sobre sus características, precios y cómo se compara con las plataformas completas de agentes de IA.

Stevia PutriStevia PutriOct 29, 2025

Listo para contratar tu companero de IA?

Configuracion en minutos. Sin tarjeta de credito requerida.

Comienza gratis