Acceso a la API de DeepSeek mediante un router compatible con OpenAI es un patrón de configuración práctico para indie hackers que quieren modelos de DeepSeek sin convertir cada decisión de proveedor en una nueva integración de SDK.
Tienes dos rutas limpias. La ruta directa de DeepSeek usa una clave API de DeepSeek, la URL base compatible con OpenAI de DeepSeek y un nombre de modelo de DeepSeek. La ruta del router usa la URL base compatible con OpenAI de Flatkey, una clave API de Flatkey y el ID de modelo de DeepSeek que está disponible para tu cuenta. Ambas pueden funcionar. La elección correcta depende de si DeepSeek es tu única familia de modelos o una ruta más dentro de un producto multimodelo.
Esta guía muestra cómo configurar el acceso a la API de DeepSeek mediante un router compatible con OpenAI, cómo mantener depurable la ruta directa del proveedor y qué verificar antes de mover tráfico de producción.
Respuesta rápida: Acceso a la API de DeepSeek mediante un router compatible con OpenAI
Para una aplicación al estilo de OpenAI, el acceso a la API de DeepSeek tiene dos rutas prácticas.
| Decisión | API directa de DeepSeek | DeepSeek a través de Flatkey |
|---|---|---|
| Clave API | Clave API de DeepSeek | Clave API de Flatkey |
| URL base | https://api.deepseek.com |
https://router.flatkey.ai/v1 |
| Opción de formato Anthropic | https://api.deepseek.com/anthropic |
Usa la forma de la API de Flatkey que admita tu ruta |
| Nombres actuales de modelos de DeepSeek que comprobar | deepseek-flash, deepseek-v4-pro |
IDs de modelos de DeepSeek accesibles para la cuenta desde /v1/models de Flatkey y el directorio de modelos |
| Mejor ajuste | Un prototipo solo de DeepSeek o una integración específica del proveedor | Una app multimodelo que quiere un solo cliente, una sola clave, una revisión de uso y un fallback más sencillo |
| Comprobación operativa | Panel de DeepSeek, documentación del proveedor, tabla de precios actual | Lista de modelos de Flatkey, registros de uso, página de precios, página de estado y manifiesto de reversión |
Usa la ruta directa cuando DeepSeek sea el único modelo que necesites y el control a nivel de proveedor sea lo más importante. Usa Flatkey cuando DeepSeek conviva con GPT, Claude, Gemini, Qwen, modelos de medios o rutas de agentes de código detrás del mismo cliente compatible con OpenAI.
Lo que DeepSeek confirma sobre la compatibilidad de la API
La documentación actual de la API de DeepSeek dice que la API de DeepSeek usa un formato de API compatible con OpenAI y Anthropic. La URL base en formato OpenAI es:
https://api.deepseek.com
DeepSeek también documenta una URL base en formato Anthropic:
https://api.deepseek.com/anthropic
La misma documentación enumera deepseek-flash y deepseek-v4-pro como opciones de modelo. También indica que los nombres anteriores deepseek-v4-flash y deepseek-v4-flash-vision-exp todavía se aceptan por compatibilidad, pero esas solicitudes se atienden con DeepSeek-V4.1-Flash y se facturan al precio de Flash. Para código nuevo, trata los nombres antiguos como un riesgo de migración, no como nombres para copiar en un producto nuevo.
La página de precios de DeepSeek actualmente describe deepseek-flash como DeepSeek-V4.1-Flash y deepseek-v4-pro como DeepSeek-V4-Pro-0813. También enumera una longitud de contexto de 1M y un máximo de 384K de salida, con salida JSON, llamadas a herramientas, la API de Responses y compatibilidad con la API de Anthropic mostradas para ambos modelos. La compatibilidad con visión aparece para Flash y no para Pro. Consulta la página de precios en vivo de DeepSeek antes de publicar precios exactos en tu propia documentación, porque la tabla usa tarifas de tokens en hora punta y fuera de hora punta.
Lo que cambia Flatkey
Flatkey no elimina la necesidad de elegir un ID de modelo de DeepSeek válido. Cambia dónde se configura la ruta y dónde verificas el resultado.
La guía rápida de inicio y la documentación de la API de modelos de Flatkey usan esta URL base compatible con OpenAI:
https://router.flatkey.ai/v1
El endpoint /v1/models de Flatkey devuelve los IDs de modelo disponibles para tu cuenta en un formato compatible con OpenAI. La documentación de uso de Flatkey dice que cada solicitud puede revisarse con el modelo usado, los recuentos de tokens de entrada y salida, el coste, la marca de tiempo, la clave API y el estado. Eso hace que el Acceso a la API de DeepSeek mediante un router compatible con OpenAI sea más fácil de operar cuando DeepSeek es una opción entre varios modelos.
El registro de ruta de la versión router debe ser explícito:
deepseek_route:
provider_access_layer: flatkey
base_url: https://router.flatkey.ai/v1
api_key_source: FLATKEY_API_KEY
candidate_models:
- deepseek-flash
- deepseek-v4-pro
verify_before_launch:
- account_accessible_v1_models
- live_model_directory
- pricing_page_units
- usage_log_readback
- fallback_or_rollback_policy
No ocultes el nombre del modelo como una cadena en el código de la aplicación. Ponlo en un archivo de configuración o manifiesto de modelos para que una actualización de modelo de DeepSeek sea un cambio revisable y no un despliegue de emergencia.
Paso 1: Elige DeepSeek directo o un router
Empieza por la decisión operativa, no por el SDK.
| Question | Direct DeepSeek is usually enough when... | A router is usually better when... |
|---|---|---|
| Do you only call DeepSeek? | Yes, the product is DeepSeek-only. | No, DeepSeek is one route beside other providers. |
| Do you need provider-specific controls? | Yes, your team wants DeepSeek-native settings and billing review. | No, your app wants a shared access layer and shared logs. |
| Will users or jobs switch models? | No, one fixed model is enough. | Yes, workloads may move between DeepSeek, Qwen, Gemini, Claude, GPT, or other model families. |
| Who reviews cost and failures? | One developer can check the DeepSeek account. | You need one usage ledger across keys, models, and environments. |
| What happens if the route fails? | You can pause the feature or retry later. | You need fallback, rollback, or staged rollout controls. |
Para la mayoría de los indie hackers, la primera versión puede ser sencilla. Direct DeepSeek está bien para un prototipo de un solo modelo. El Acceso a la API de DeepSeek mediante un router compatible con OpenAI es más limpio cuando el producto compara modelos, ejecuta agentes de código, atiende a clientes con distintas necesidades de latencia o coste, o necesita un único lugar para depurar el uso de tokens.
Paso 2: Configura el cliente OpenAI de Flatkey
Si tu proyecto ya usa el SDK de OpenAI, la configuración del router es básicamente un cambio de base URL y de clave.
Python:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["FLATKEY_API_KEY"],
base_url="https://router.flatkey.ai/v1",
)
Node.js:
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.FLATKEY_API_KEY,
baseURL: "https://router.flatkey.ai/v1",
});
La versión directa de DeepSeek usa la misma forma de cliente estilo OpenAI, pero apunta a DeepSeek:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["DEEPSEEK_API_KEY"],
base_url="https://api.deepseek.com",
)
Mantén ambas claves en variables de entorno o en almacenamiento seguro de secretos. Nunca confirmes en el repositorio FLATKEY_API_KEY, DEEPSEEK_API_KEY, ni una anulación de staging.
Paso 3: Verifica el ID del modelo antes de la primera solicitud
El acceso a la API de DeepSeek mediante un router compatible con OpenAI debe comenzar con el descubrimiento del modelo, no con una cadena de modelo copiada.
Para Flatkey, pregunta al router qué IDs de modelo puede acceder tu cuenta:
curl https://router.flatkey.ai/v1/models \
-H "Authorization: Bearer $FLATKEY_API_KEY"
Luego confirma el candidato en el directorio de modelos y la página de precios en vivo de Flatkey. Para DeepSeek directo, confirma el nombre del modelo en la documentación y la página de precios de DeepSeek. A fecha de esta revisión de la fuente, la documentación de DeepSeek dirige el nuevo código a deepseek-flash y deepseek-v4-pro, mientras advierte que los antiguos alias de V4 Flash son nombres de compatibilidad.
Crea un manifiesto pequeño:
models:
deepseek_default:
id: deepseek-flash
route: flatkey
base_url: https://router.flatkey.ai/v1
use_for:
- coding_assistant
- structured_extraction
- long_context_review
owner: product_engineering
rollback: previous_production_model
Este es el registro de revisión de la ruta de DeepSeek. Te ofrece un lugar para registrar el ID del modelo, el propietario de la ruta, el caso de uso y el objetivo de rollback antes de que el tráfico de producción dependa de la ruta. Guárdalo junto con tu lista de verificación de lanzamiento para que el acceso a la API de DeepSeek mediante un router compatible con OpenAI siga siendo auditable después del lanzamiento.
Paso 4: Realiza una primera Chat Completion
Empieza con una solicitud breve y determinista. Esto es una prueba de ruta, no un benchmark.
response = client.chat.completions.create(
model="deepseek-flash",
messages=[
{"role": "system", "content": "Devuelve consejos de implementación concisos."},
{"role": "user", "content": "Explica por qué la configuración de base_url importa en una sola frase."},
],
temperature=0.2,
max_tokens=120,
)
print(response.choices[0].message.content)
Si la solicitud falla, comprueba en este orden:
| Comprobación | Lo que detecta |
|---|---|
base_url |
Confusión entre acceso directo y router, falta de /v1, ruta del proveedor incorrecta |
| Variable de clave API | Variable de entorno vacía, tipo de clave incorrecto, clave de staging en producción |
| ID del modelo | Alias obsoleto, la cuenta no tiene acceso, error tipográfico |
| Forma del endpoint | Desajuste entre Chat Completions, Responses y Anthropic Messages |
| Compatibilidad con funciones | Suposiciones sobre visión, modo de pensamiento, JSON, herramientas o streaming |
| Registro de uso | La solicitud nunca llegó al router, fallo del proveedor, desajuste de tokens/coste |
Este orden evita un error común de depuración: tratar fallos de configuración como fallos del modelo.
Paso 5: Prueba las funciones que tu aplicación realmente usa
Compatible con OpenAI no significa que todos los proveedores, modelos o rutas del router se comporten de forma idéntica. Prueba las funciones que importan para tu carga de trabajo.
| Función | Prueba rápida | Condición de aprobación |
|---|---|---|
| Chat sin streaming | Un prompt corto | Devuelve un mensaje utilizable con datos de uso |
| Streaming | El mismo prompt con streaming habilitado | Los fragmentos llegan en orden y la interfaz se cierra limpiamente |
| Salida JSON | Tarea pequeña de extracción | La salida valida contra tu esquema o ruta de reparación |
| Llamadas a herramientas | Un esquema de función sencillo | Los campos de tool-call se analizan sin trucos personalizados |
| Contexto largo | Entrada larga representativa | La latencia, el coste y la calidad siguen siendo aceptables |
| Visión | Prompt con imagen solo cuando se usa un modelo con capacidad de visión | La solicitud solo tiene éxito en una ruta que admite visión |
| Gestión de errores | ID de modelo inválido en staging | La app registra el fallo de la ruta sin exponer claves |
Después de cada prueba de Flatkey, abre los registros de uso. La solicitud debería mostrar el modelo esperado, el recuento de tokens, el estado, la marca de tiempo, la clave API, la latencia y el coste. Si no aparece nada, confirma la base URL y la clave que realmente usó la solicitud.
Paso 6: Normaliza el costo por salida aceptada
Los precios de tokens publicados por DeepSeek pueden parecer atractivos, pero el precio por token es solo una parte del coste de producción. Compara según la salida aceptada.
Usa esta hoja de trabajo:
| Métrica | Por qué importa |
|---|---|
| Tokens de entrada | Los prompts de contexto largo pueden dominar el coste. |
| Tokens de salida | Las tareas de agentes y programación pueden producir respuestas mucho más largas que las tareas de chat. |
| Comportamiento de caché | La entrada con acierto de caché y sin acierto de caché puede tener precios distintos. |
| Tasa de reintentos | Una ruta barata se vuelve cara cuando necesita reintentos repetidos. |
| Tasa de rechazo | El JSON inválido, las llamadas débiles a herramientas o las respuestas de baja calidad deben contar en contra de la ruta. |
| Uso de fallback | El tráfico de fallback debe ser visible, no tratarse como un redondeo. |
| Tiempo de corrección manual | La limpieza manual forma parte del coste real del producto. |
La fórmula práctica:
accepted_output_cost =
(successful_request_cost + retry_cost + fallback_cost + human_repair_cost)
/ accepted_outputs
Usa la página de precios en vivo de DeepSeek para unidades directas del proveedor. Usa la página de precios en vivo de Flatkey y tus registros de uso para los cargos de la ruta del router. No copies una fila de precios estática en la documentación de la app sin una fecha verificada y un responsable de actualización.
Paso 7: Añade una política de reversión
El acceso a la API de DeepSeek mediante un router compatible con OpenAI debe poder revertirse antes de que los usuarios dependan de él.
deepseek_rollout:
environment: production
default_model: deepseek-flash
route: flatkey
start_percentage: 10
increase_when:
- accepted_output_rate >= 0.95
- p95_latency_ms <= 4500
- error_rate <= 0.02
- usage_log_present: true
- accepted_output_cost_within_budget: true
rollback_when:
- error_rate > 0.05
- schema_failures_above_threshold: true
- usage_log_missing: true
- unexpected_cost_spike: true
rollback_action:
set_model: previous_production_model
notify: engineering_owner
Esta política no requiere un equipo de plataforma. Requiere un responsable de la ruta, un manifiesto de modelo, un hábito de revisión de uso y una prueba en staging antes de aumentar el tráfico.
Dónde encaja esto en Flatkey
Flatkey encaja cuando DeepSeek forma parte de un flujo de trabajo más amplio de enrutamiento de modelos:
- Ya usas SDK compatibles con OpenAI y quieres una única URL base para varias familias de modelos.
- Necesitas claves o cuotas separadas para desarrollo, staging, producción o agentes de programación.
- Quieres que DeepSeek, Qwen, Gemini, Claude, GPT y otros modelos se revisen mediante un catálogo de modelos y un flujo de trabajo de uso.
- Necesitas una ruta de reversión cuando cambie un ID de modelo, una unidad de precio, una funcionalidad o la ruta de un proveedor.
Empieza con la guía rápida de la API de Flatkey, usa la guía de migración a una alternativa de la API de OpenAI si estás reemplazando llamadas directas al proveedor, y combina esta lista de verificación con las comprobaciones de enrutamiento de la API de DeepSeek vs Qwen cuando las cargas de trabajo sensibles al coste comparen proveedores regionales.
Para decisiones de producción, consulta el directorio de modelos de Flatkey, la página de precios y la página de estado en vivo. Para el comportamiento del modelo de DeepSeek y los precios directos del proveedor, consulta la documentación de la API de DeepSeek y la página de precios el día en que realices el despliegue.
Lista de verificación final para el acceso a la API de DeepSeek mediante un router compatible con OpenAI
Antes de poner el acceso a la API de DeepSeek a disposición de los usuarios, confirma:
- El ID del modelo está actualizado en la documentación de DeepSeek y en la lista de modelos accesible desde la cuenta en Flatkey.
- Las pruebas directas de DeepSeek usan
https://api.deepseek.comy una clave de API de DeepSeek. - Las pruebas del router de Flatkey usan
https://router.flatkey.ai/v1y una clave de API de Flatkey. - No estás usando
deepseek-v4-flashnideepseek-v4-flash-vision-expcomo un nombre nuevo de modelo de producción. - Chat, streaming, salida JSON, llamadas a herramientas, contexto largo y visión se prueban por separado cuando tu aplicación los necesita.
- Los registros de uso muestran el ID del modelo esperado, el estado, los conteos de tokens, la marca de tiempo, la latencia, la clave de API y el costo.
- El costo se normaliza por la salida aceptada, no solo por la tarifa nominal de tokens.
- La reversión es un cambio de configuración, no una reescritura de código de emergencia.
- Las claves del proveedor se almacenan en variables de entorno o en almacenamiento seguro, nunca en el código.
Acceso a la API de DeepSeek mediante un router compatible con OpenAI es un patrón de integración simple cuando la ruta es explícita. Usa DeepSeek directamente cuando solo necesites DeepSeek. Usa Flatkey cuando DeepSeek forme parte de un producto multimodelo que necesite un solo cliente, una sola URL base, un solo ciclo de uso y una ruta de reversión limpia.
Preguntas frecuentes
¿DeepSeek admite la API de OpenAI?
La documentación actual de DeepSeek indica que la API de DeepSeek usa un formato de API compatible con OpenAI y Anthropic. La URL base en formato OpenAI es https://api.deepseek.com.
¿Cuál es la URL base de Flatkey para acceder a la API de DeepSeek?
Usa https://router.flatkey.ai/v1 para la API compatible con OpenAI de Flatkey. Luego elige un ID de modelo de DeepSeek actual desde la respuesta de /v1/models accesible con tu cuenta y el directorio de modelos en vivo de Flatkey.
¿Puedo usar el mismo SDK de OpenAI para DeepSeek a través de Flatkey?
Sí. Configura el SDK de OpenAI con una clave de API de Flatkey y https://router.flatkey.ai/v1 como URL base. La solicitud mantiene la estructura familiar de Chat Completions para los modelos compatibles.
¿Qué nombre de modelo de DeepSeek debe usar el código nuevo?
Consulta la documentación en vivo de DeepSeek antes de publicar. En esta verificación de la fuente, DeepSeek enumera deepseek-flash y deepseek-v4-pro; indica que los nombres antiguos de V4 Flash se aceptan por compatibilidad, pero son servidos por DeepSeek-V4.1-Flash.
¿Debería publicar los precios exactos de DeepSeek en la documentación de mi propia aplicación?
Solo si incluyes la fecha de verificación y el responsable de actualización. La página de precios de DeepSeek usa tarifas de tokens en hora punta y fuera de hora punta, y la disponibilidad de rutas o las unidades de precios de Flatkey deben verificarse en las páginas en vivo de precios y modelos de Flatkey.



