# Añadir IA a tu app, con un respaldo

> Cuando tu app llama a un modelo de IA, esas peticiones se hacen solo desde el servidor: van primero a Tokentide por su menor precio y cero retención de datos, y pasan automáticamente a Vercel AI Gateway si no hay capacidad para que tus usuarios reciban siempre respuesta.

## Analogía

Piensa en una panadería que compra harina a un molino de confianza a muy buen precio, pero tiene un segundo proveedor de reserva. Si una mañana de mucho trabajo el molino se queda sin existencias, el pedido pasa automáticamente al segundo proveedor y el pan sale a su hora.

## Cómo funciona

Las llamadas a la IA se hacen siempre en tu backend (en una Server Action, un Route Handler o una tarea en segundo plano), nunca en el navegador, para que tu api-key siga secreta y protegida por un rate-limit. Cada petición de texto fija `max_completion_tokens` —unas dos veces la respuesta más larga esperada— para que una sola respuesta descontrolada no vacíe tu saldo.

Tu proveedor principal es **Tokentide** (`https://api.tokentide.app/v1`), que cuesta hasta un ~63 % menos que el precio de lista y no guarda copia de tus prompts ni de las respuestas. Configuras `maxRetries: 0` en el cliente de Tokentide para que, si en un momento dado no hay capacidad (`503`), salta un límite (`429`), falta saldo (`402`) o hay un fallo del servidor (`500`/`502`/`504`) o un tiempo de espera agotado, no espere: pasa la petición al instante a tu fallback, **Vercel AI Gateway** (`https://ai-gateway.vercel.sh/v1`), y respeta el tiempo de `Retry-After` antes de volver a intentar el principal.

No todos los errores deben activar el respaldo. Si la clave está mal (`401 invalid_api_key`) o restringida (`403 ip_not_allowed` o `account_restricted`), la app usa el respaldo para no dejar a nadie colgado y además te avisa para corregir la clave. Pero si la petición en sí es incorrecta —como `403 model_not_allowed` u otro `4xx`—, no se usa el respaldo: tu agente corrige la petición y comprueba la pareja de identificadores del model en ambos catálogos.

Para proteger la privacidad y la seguridad, tu log anota el gasto (`X-Tokentide-Charge-USD`), el identificador (`X-Request-Id`), la función de la app y qué proveedor respondió, pero nunca el prompt ni la respuesta. Y como lo que devuelve un modelo no es de confianza, tu código lo valida y escapa antes de mostrarlo o guardarlo.

## En tu proyecto

Tu agente usa las skills `tokentide-api` y `ai-sdk` para conectar ambos proveedores con su pareja de modelos, y tú pegas `TOKENTIDE_API_KEY` y `AI_GATEWAY_API_KEY` en `.env.local` y en Vercel (con claves de tope bajo para trabajar en tu equipo). Antes de fusionar, tu agente prueba el respaldo en una preview apuntando el cliente de Tokentide a una dirección inexistente y comprobando que el Gateway responde sin fallos.

## Copia para tu agente

```text
Configura nuestra llamada a la IA en el servidor usando las skills tokentide-api y ai-sdk: Tokentide primero con maxRetries: 0, Vercel AI Gateway como respaldo, max_completion_tokens definido y registrando en el log solo el gasto y el proveedor, nunca los prompts ni las respuestas.
```

---
Fuente: [Agentic Makers](https://agenticmakers.app/es/aprende/anadir-ia-a-tu-app) · Licencia: CC BY 4.0
