Cómo integrar la API de OpenAI en tu app
Para integrar la API de OpenAI, crea una clave de API en un proyecto de OpenAI, guárdala como secreto del servidor llamado OPENAI_API_KEY y llama a la API desde una ruta de tu propio servidor usando el SDK oficial de OpenAI, nunca desde código del navegador. A septiembre de 2026, la guía de inicio rápido de OpenAI presenta la Responses API como punto de partida para proyectos nuevos. Configura un límite de gasto antes del lanzamiento, limita la longitud de las respuestas, restringe con qué frecuencia puede usar cada usuario la función y gestiona los errores de límite de frecuencia con reintentos.
Esta guía cubre la configuración, el flujo de las peticiones, prompts para un creador con IA y los errores que filtran claves o queman dinero. Los detalles de OpenAI provienen de su documentación oficial a septiembre de 2026. Para los conceptos generales (tokens, ventanas de contexto, precios), lee primero cómo usar las API de LLM.
Qué puedes construir con ella
- Un asistente de chat dentro de tu app (cómo crear una app de chatbot con IA)
- Botones de «resume esto», «reescribe esto» o «redacta una respuesta»
- Extracción de datos estructurados a partir de texto libre: convertir un correo en un pedido, etiquetar tickets de soporte
- Búsqueda y respuestas a preguntas sobre tu propio contenido
- Funciones de imagen, voz y otros medios, según los modelos disponibles
Hay más ideas en cómo añadir funciones de IA a tu app.
Configurar tu cuenta de OpenAI
- Crea una cuenta y un proyecto en la plataforma de OpenAI. Las buenas prácticas de producción de OpenAI recomiendan proyectos separados para staging y producción, para que cada uno tenga sus propias claves y límites.
- Crea una clave de API del proyecto. OpenAI recomienda establecer una fecha de caducidad y rotar las claves periódicamente.
- Configura alertas de gasto y un límite de gasto estricto en la página de límites. La guía de OpenAI indica que las alertas te avisan cuando el uso supera una cantidad, y que un límite estricto aplica un tope mensual.
- Añade la facturación. La documentación de límites de frecuencia de OpenAI describe niveles de uso: tus límites suben automáticamente a medida que gastas más con el tiempo.
El flujo de la petición
Navegador -> ruta de tu servidor -> API de OpenAI
<- respuesta (en streaming) <-
- El usuario hace clic en un botón o envía un mensaje.
- El navegador llama a tu ruta, por ejemplo
POST /api/summarise. - Tu servidor comprueba que el usuario ha iniciado sesión y tiene permiso para usar la función.
- El servidor construye la petición: instrucciones, la entrada del usuario y los datos de tu base de datos que la tarea necesite.
- Llama a OpenAI con la clave del entorno. Los SDK de OpenAI leen
OPENAI_API_KEYautomáticamente. - Envía la respuesta en streaming o de una vez, y registra el uso de tokens.
El SDK oficial de OpenAI se llama openai, tanto para JavaScript/TypeScript (npm) como para Python (pip).
Elegir un modelo
OpenAI ofrece varios modelos con distintos precios y velocidades, y la oferta cambia a menudo. Empieza con un modelo más pequeño y barato, mide la calidad con ejemplos reales y sube de nivel solo si lo necesitas. Guarda el nombre del modelo en un valor de configuración o en un secreto para poder cambiarlo sin reescribir el código. Consulta la página de precios de OpenAI para las tarifas vigentes.
Opciones y compensaciones
| Decisión | Opción simple | Cuándo ir más allá |
|---|---|---|
| Streaming | Devolver la respuesta completa | Usa streaming en el chat y en respuestas largas; el usuario ve el texto al instante |
| Memoria de conversación | Enviar los mensajes recientes en cada petición | Resume los mensajes antiguos cuando los chats se alarguen |
| Formato de salida | Texto plano | Pide JSON estructurado cuando tu código necesite leer campos |
| Tus propios datos | Incluir el registro relevante en la petición | Añade búsqueda sobre tu contenido cuando haya demasiado para incluirlo (consulta qué es RAG) |
| Trabajo masivo no urgente | Recorrer los elementos en un bucle | Usa la opción de lotes de OpenAI, más barata, cuando los resultados puedan esperar |
Prompts para darle a tu creador con IA
Una primera función:
Añade un botón «Resumir» en la página del ticket. Llama a una ruta del servidor POST /api/summarise que compruebe que el usuario ha iniciado sesión, cargue el ticket y llame a la Responses API de OpenAI con el SDK oficial openai y el secreto OPENAI_API_KEY. Lee el nombre del modelo del secreto OPENAI_MODEL. Instrucciones: «Resume en 3 viñetas y después sugiere una respuesta breve. No inventes números de pedido». Limita la longitud de la salida, muestra la respuesta en streaming en la página y nunca envíes la clave al navegador.
Salvaguardas:
Limita a cada usuario a 30 peticiones de IA por hora, guardadas en la base de datos. Registra los tokens de entrada y de salida de cada petición junto con el ID de usuario y el nombre de la función. Si OpenAI devuelve un 429, respeta la cabecera Retry-After, reintenta con retroceso exponencial y jitter hasta 3 veces; después, muestra «La IA está ocupada, inténtalo de nuevo en un minuto». Muestra un error amigable ante cualquier otro fallo y mantén el resto de la página funcionando.
Gestionar errores y límites
OpenAI mide los límites de frecuencia de varias formas, incluidas las peticiones por minuto y los tokens por minuto, y te topas con el que se agote antes. Cuando superas uno, la API devuelve un 429 con una cabecera Retry-After. La documentación de OpenAI indica que ese valor es un mínimo y que conviene añadir un pequeño retraso aleatorio para que los clientes no reintenten todos a la vez.
También hay que prever:
- Tiempos de espera en generaciones largas. El streaming ayuda, y también un tope razonable de salida.
- Caídas del proveedor. La función de IA debe fallar con elegancia sin romper la página.
- Salidas incorrectas. Valida la salida estructurada antes de guardarla y no dejes que la salida del modelo dispare acciones sensibles sin una comprobación en tu código.
Errores habituales
- La clave en el frontend o en el repositorio. El código del navegador es público, y una clave filtrada puede abusarse en minutos. Consulta cómo mantener a salvo las claves de API.
- No tener límite de gasto. Un bucle o un usuario abusivo puede generar una factura enorme en poco tiempo.
- No tener límites por usuario. El límite del proveedor protege tu cartera, no a tus otros usuarios.
- Confiar en el prompt para la seguridad. Los usuarios pueden escribir «ignora las instrucciones anteriores». Los permisos van en el código del servidor.
- Enviar más de lo necesario. Los documentos enteros y los historiales largos multiplican el coste. Envía solo lo que la tarea necesita.
- Escribir el nombre del modelo en el código. Los modelos se actualizan y se retiran; conviértelo en un ajuste.
- Enviar datos personales sin pensar. Lee las condiciones de uso de datos de OpenAI y envía solo lo que la función necesita.
Lista de comprobación
- Proyectos (o claves) de OpenAI separados para pruebas y producción
- Clave guardada como secreto del servidor, nunca en código del navegador ni en el repositorio
- Alertas de gasto y límite de gasto estricto configurados
- Todas las llamadas pasan por tu servidor y comprueban los permisos del usuario
- Longitud de salida limitada; nombre del modelo configurable
- Límite de frecuencia por usuario en tu app
- Gestión de 429 con Retry-After, retroceso y jitter
- Estado de error amigable; la página funciona sin la IA
- Uso de tokens registrado por función
- Probado con entradas largas, vacías y hostiles
Usar la API de OpenAI en Mythex
Las funciones de IA en las apps que creas con Mythex usan tu propia clave de OpenAI, facturada a tu cuenta de OpenAI y no a los créditos de creación de Mythex. Añade OPENAI_API_KEY como secreto del proyecto desde /secrets, la configuración del proyecto o la tarjeta de secretos que muestra el agente cuando necesita una clave, y luego describe la función con un prompt como los de arriba. Después de cambiar secretos en una app publicada, vuelve a publicarla para que los recoja. La receta de la documentación Añadir funciones de IA con tus propias claves de API tiene un prompt de inicio, y Secretos en el chat explica la tarjeta de secretos. ¿Comparas proveedores? Consulta cómo integrar la API de Claude.
Preguntas
¿Qué API de OpenAI debo usar para una app nueva?
Según la guía de inicio rápido de OpenAI a septiembre de 2026, la Responses API es el punto de partida para proyectos nuevos, con ejemplos que usan client.responses.create() en sus SDK oficiales. Consulta la documentación de OpenAI para ver la recomendación vigente antes de empezar.
¿Puedo llamar a la API de OpenAI desde el navegador?
No con tu clave secreta. Cualquiera puede leer el código del navegador y reutilizar la clave para disparar tu factura. El navegador debe llamar a una ruta de tu propio servidor, y el servidor llama a OpenAI con la clave guardada como variable de entorno.
¿Cómo evito que la API de OpenAI cueste demasiado?
La guía de buenas prácticas para producción de OpenAI recomienda alertas de gasto y un límite mensual estricto en la página de límites. En tu app, limita la longitud de las respuestas, restringe las peticiones por usuario y registra el uso de tokens para ver qué funciones cuestan más.
¿Qué significa un error 429 de OpenAI?
Significa que has superado un límite de frecuencia. La documentación de límites de OpenAI indica que la respuesta incluye una cabecera Retry-After: espera al menos ese tiempo, añade un pequeño retraso aleatorio y reintenta con retroceso exponencial.